Hallo Welt - Website Hosting mit Jekyll und GitHub

tl;dr

Bloggen via Markdown mit Git und Jekyll auf GitHub.

Ausgangspunkt

Fast 17 Jahre ist mein ester Blog-Eintrag her. Nach Clemens Vasters’ auf ASP.NET basierende Engine dasBlog war seit Jahren WordPress auch meine Wahl für meine Blog. Persönlich wurde ich jedoch mit WordPress als Engine für einen technischen Blog nie wirklich glücklich.

Wer Immo Landwerth auf Twitter folgt, kennt seine Probleme mit WordPress. Die fortwährenden Sticheleinen gipfelten sogar in einem (von einigen Followern erstngenommenen) Aprilscherz.

Was wären nun jedoch meine eigenen konkreten Anforderungen?

Die Lösung - Jekyll

Jekyll, als Engine hinter GitHub Pages ermöglicht das Generieren von statischen Web-Seiten und gleichzeitig das Hosting auf GitHub. Da das Deployment über die GutHub Pages nach einem Check-In stattfindet, sind damit im Grund alle vier Anforderungen erfüllt.

Theming von GitHub Pages

GitHub Pages sind durch GitHub gehostete und durch in GitHub eingecheckte Markdown Dateien generiert. GitHub Pages ermöglichen das Customizing des Layouts mittels einiger vorgefertigter und unterstützter Themes.

Custom Domain

Wird das Repository in GutHub direkt mit der Namen {githubUser}.github.io angelegt, ist die Seite direkte erreichbar. Für GitHub Pages kann allerdings auch eine Custom Domain angelegt werde. In meinem Fall habe ich sowohl die Apex Domain aheil.de als auch die Subdomain www.aheil.de dafür konfiguriert.

Folgt man der Anleitungen auf GitHub sollten die DNS Eintrag so bzw. so ähnlich ausschauen.

SSL

Einer der Vorteile bei der Verwendung von GitHub Pages, SSL Verschlüsselung wird automatisch angeboten, sobald die Domain korrekt konfiguriert wurde. In diesem Fall dauert es einige Minuten bis das Zertifikat ausgestellt und provisioniert wurde. Danach auf jeden Fall Enforce HTTPS auswählen, damit die Seite nur via https aufgerufen werden kann.

In diesem Sinne Hallo Welt!

Update

Wer seine Domain ebenfalls für E-Mails nutzt, sollte unbedingt den MX-Eintrag prüfen. In meinem Fall habe ich zwei MX-Einträge angelegt, einmal für die Apex-Domain, einmal für den Wildcard-Eintrag. Wird eine E-Mail verschickt, wird über den MX-Eintrag ermittelt, an welchen Host eine E-Mail geschickt werden soll.

In konkreten Fall waren beide Einträge auf den Host aheil.de gesetzt. Nach der Umstellung der Apex-Domain auf die GitHub Server war bedeutet dies jedoch, dass an eine der GitHub-IPs geroutet wird. Damit die Mails korrekt geroutet werden ist es also nötig einen Host einzutragen, dessen IP-Adresse der des Mail Servers entspricht.