Erfreulich einfach ist es möglich, seine mit Github Pages gehostete Seite unter einer eigenen Domain anzubieten. Das Prinzip hinter dieser recht statischen Hostinglösung ist so einfach wie genial - alles was in einem bestimmten Repository (mit Namenskonvention benutzername.github.io) landet (schön versioniert mittels git), wird im Hintergrund von einem Jekyll-Dienst deployt. Erst mal auf eine Webseite mit dem Namen des Repository, die jetzt nicht so ganz schön ist möglicherweise.
CNAME im Repository
Abhilfe schafft erst mal eine Datei mit namen CNAME im Repository, die die gewünschte Domain beinhaltet.
portfolio.christianpfanner.at
Hierbei ist zu beachten dass
- der Dateiname CNAME auch genau so (also groß) geschrieben wird und
- die Domain ungeachtet des verwendeten Protokolls ohne dieses (also etwa https://) eingetragen wird.
CNAME im DNS
Als weiterer Schritt ist im Nameserver ein entsprechender CNAME-Eintrag anzulegen. Das funktioniert je nach Provider ein wenig unterschiedlich, resultiert dann aber in einem ähnlichen Eintrag:
portfolio CNAME chripf.github.io 3600
Bedeutet: die Subdomain portfolio.christianpfanner.at wird als alias von chripf.github.io behandelt.
Ghost API
Was noch nachzubessern war: die Ghost-API hat natürlich festgestellt, dass die Requests nun nicht mehr von der bereits zugelassenen Domain chripf.github.io kommen und verlangte somit nach einem neuen Eintrag in der Tabelle client_trusted_domains in der Ghost-Datenbank. In meinem Fall:
insert into client_trusted_domains (uuid, client_id, trusted_domain) values ('<eine uid>', 2, 'portfolio.christianpfanner.at');
Da die Tabelle offenbar bei jedem API-request abgefragt wird, läuft das sogar ohne Neustart des Ghost-Service schon.