Skip to content

Latest commit

 

History

History
137 lines (113 loc) · 5.68 KB

setup-description.md

File metadata and controls

137 lines (113 loc) · 5.68 KB

Setup description

Learnings

  • The file CNAME contains the domain name.
  • apex domain is a domain without a leading www.
  • Some website data (DNS, SSL encryption) can be inspected via the connection icon in the address bar of a browser.
https://foobar.chris-grieser.de/some/pages/here?query=asdf
        ^---------------------^
this part is the realm of DNS
                               ^-------------------------^
                                this part is all up to the server

Strato: Domain and DNS provider

  • Domain: https://chris-grieser.de/
  • bought via Strato
  • Allows up to 10 subdomains, however due to Strato only allowing one A and AAA record, it is not possible to use any subdomains with GitHub pages (subdomain.chris-grieser.de). Subsites though should still be possible (chris-grieser.de/subsite).
  • My package at Strato includes a basic SSL certificate. It does only offer encryption for the main domain, not any subdomains. However, due to using GitHub pages, it's the site uses the certificate from "Let's encrypt" (the provider used by GitHub).

Setting up the custom domain for GitHub Pages

Note

When doing DNS changes, removing and re-adding the custom domain in the Pages settings may be required.

A & AAAA records

  • Strato's domain config only offers A and AAAA as the type of address.
  • GitHub names 4 addresses each for A and AAAA, but strato.de only accepts one each. This restricts stability/reachability, but is tolerable for just a personal website.
# verify A/AAAA records
dig chris-grieser.de +noall +answer -t A
dig chris-grieser.de +noall +answer -t AAAA

# expected output
chris-grieser.de.       150     IN      A       185.199.108.153
chris-grieser.de.       92      IN      AAAA    2606:50c0:8000::153

CNAME record

  • At the Strato dashboard, set the CNAME for the domain, pointing www.chris-grieser.de to chrisgrieser.github.io.
  • Having both A/AAAA records and the CNAME record set up results in passing GitHub's DNS check (at the page settings).

Tip

GitHub uses a CNAME file to store the custom domain name in the repository. The "CNAME" mentioned in the GitHub documentation, however, refers to the CNAME record at the DNS provider.

Domain verification (TXT record)

  • GitHub docs: Verifying a custom domain
    • Note: the Pages settings mentioned in the docs refer to the settings in the GitHub profile, not the Pages settings of the *.github.io repository. (That is, the verification is done here: https://github.com/settings/pages.)
  • At the Strato dashboard, set the TXT for the domain, pointing _github-pages-challenge-chrisgrieser.chris-grieser.de to the {value} listed on the page.
# additional confirmation
dig _github-pages-challenge-chrisgrieser.chris-grieser.de +nostats +nocomments +nocmd TXT

# expected output
_github-pages-challenge-chrisgrieser.chris-grieser.de. 150 IN TXT "{value}"

Content for GitHub Pages

Jekyll Theme

Are set in the _config.yml file.

# Builtin themes for GitHub Pages: https://pages.github.com/themes/
theme: jekyll-theme-modernist
# Remote themes, allowing any Jekyll theme: https://jekyllrb.com/docs/themes/
plugins: [jekyll-remote-theme]
remote_theme: pages-themes/modernist@v0.2.0

Previous website setup

Information here kept for reference, the website itself does no longer exist.

How it worked

Components:

I followed the instructions on the Fruition website.

Past issues with Fruition