Ein GHOST 5 Weblog kostenlos cloudhosten
Hallo meine Freunde, diese Anleitung wird nicht ganz so einfach und setzt ein paar Kenntnisse in der Kommandozeile voraus, aber wenn ihr damit ein bisschen firm seid, solltet ihr in 3 Minuten ein cloudbasiertes, kostenloses Ghost 5 Weblog laufen haben.
Ich habe mich mit diesem Thema beschäftigt, weil Uberspace seinen Support für Ghost entfernt hat. Es ist also nicht mehr möglich, Ghost auf dem Uberspace zu betreiben und dementsprechend hat Uberspace auch seine Anleitung für Ghost entfernt.
Das originale Script habe ich von hier, jedoch habe ich es auf unsere deutschen Verhältnisse angepasst. Wir gehen folgendermaßen vor, um das kurz belletristisch zu beschreiben. Wir nutzen für unser Vorhaben den Cloudhosting-Dienst fly.io. Wir installieren uns das fly commandline-Interface, das läuft unter allem was unixartig ist, also Linux oder BSD oder auch auf dem Mac mit brew, so wie bei mir. Dann erstellen wir uns einen Server mit einem Ghost 5.75.3, hosted in Amsterdam, ebenso eine MySQL 8 Datenbank. Das ganze packen wir zusammen, laden es hoch und lassen es laufen. Das wars schon, kurze Zeit später können wir uns im neuen Weblog einloggen.
Falls ihr den Artikel später lest, schaut am besten bei Docker nach, welche aktuelle Version es von Ghost als Docker-Image gibt und passt dies im Script an. Zum Zeitpunkt der Entstehung ist die aktuelle Version Ghost Version 5.75.3.
Fly.io bietet diesen kostenlosen Tier explizit an, zum ausprobieren, um schnell mal eine Entwicklungsumgebung zu haben und generell im personal use. Wenn sich euer Projekt also irgendwann entwickelt ist es kein Problem, zu einem bezahlten fly.io überzugehen.
Vorgehensweise
In diesem Artikel werden wir also die folgenden Schritte durchlaufen:
- Installation der Fly command-line tools
- Erstellung eines kostenlosen Fly.io Accounts
- Erstellung von zwei Server-Instanzen, eine Ghost, eine MySQL
- Deploy der app mit einem vorinstallierten (Docker)Image der Ghost Blogging Platform
- Deploy der Datenbank-Instanz mit MySQL 8.
- Einstellung und Konfiguration des Speichers für Ghost und die Speicherung der Daten in der MySQL 8 Datenbank
- Deploying unserer Apps!
- Das wars.
Das schöne ist: all das läuft automatisch mit einem Script ab. Ich habe das Script übertragen, angepasst und in eine install.sh Datei gepackt, die einzelne Schritte sind kommentiert.
Anleitung Ghost 5 auf kostenlosem fly.io
Los gehts.
1. Install the Fly.io Command-Line Tools
Der erste Schritt besteht darin, die fly commandline tools zu installieren. Tut dies mit:
unter Linux, oder wenn ihr wie ich auf einem Mac arbeitet, mit Brew:
Auf dem Mac arbeitet das Tool SED anders als auf anderen Unices, wir müssen den Befehl also für Linux oder macOS anpassen, das steht allerdings im Script.
Wechselt jetzt in einer Verzeichnis, in dem ihr die Konfigurationsdateien ablegen wollt. Ich habe das in Dokumente in meinem Homeverzeichnis getan.
cd ~/Documents
2. Ladet euch das Script zur Installation (quasi One Click Hosting) herunter
Das Script findet ihr fortfolgend. Kopiert es und speichert es in einer Datei "install.sh". Dies könnt ihr im Terminal mit dem Editor nano oder vi tun.
Vorab: Fly.io möchte eure Kreditkartendaten, um Misbrauch zu verhindern. Es wird jedoch nichts abgebucht, weil wir uns im "free" Bereich befinden. Das heißt, während das Script läuft, startet euer Browser und legt euch einen fly.io Account an, ihr müsst im Webinterface die Kreditkartendaten hinterlegen. Dann wechselt ihr zurück zum Terminal, denn dort laufen die eigentlichen Schritte ab, fly.io wird explizit über sein Commandline-Interface in der Shell bedient (bietet aber auch ein Webinterface)
Mein Script:
Ich hatte vorhin bereits auf SED hingewiesen. Dieses funktioniert unter Linux anders als unter BSD (also auch unter macOS). Folgende Zeile müsst ihr für Linux anpassen, in meinem Script ist sie für macOS optimiert. Kommentiert die Zeile aus falls ihr Linux nutzt, falls ihr auf macOS seid passt schon alles:
3. Startet das One-Click-Script und erstellt Ghost 5 auf fly.io
Macht das Script ausführbar, damit ihr es starten könnt:
Wenn ihr das Script nun startet, sollte er euch nach den verschiedenen Punkten fragen, die er für den Setup-Prozess benötigt. App Name, MySQL Passwort (ihr denkt euch hier ein neues Passwort aus, für den User und für Root, es gibt ja noch kein MySQL) etc. pp., tragt sie im Terminal ein. Diese Variablen nutzt er dann, um die Instanzen (Ghost und MySQL) zu erstellen und bei fly.io zu deployen, natürlich verschlüsselt.
Das wars. Viel Spaß am Gerät.
4. Optional: Domain einbinden
Wenn ihr genügend getestet habt, oder generell, dann könnt ihr auch eure eigene Domain hinzufügen. Das tut ihr mit dem folgenden Befehl:
fly domains add hostname.com
fly certs add hostname.com
Nachdem ihr das Zertifikat geadded habt, solltet ihr in etwas folgendes lesen:
You are creating a certificate for xxxxxxxxxxxx.com
We are using lets_encrypt for this certificate.
You can direct traffic to xxxxxxxxxxxx.com by:
1: Adding an A record to your DNS service which reads
A @ XX.XX.XX.XX
You can validate your ownership of xxxxxxxxxxxx.com by:
2: Adding an AAAA record to your DNS service which reads:
AAAA @ XXXX:XXXX:X::X:XXXX
Tut dies, geht zu eurem Domain-Hoster und tragt die DNS-Records für A und AAAA nach.
Der Status des CERT kann mit folgendem Befehl überprüft werden: fly certs list
and fly certs show hostname.com
.
5. Anderes
- Mit folgendem Befehl könnt ihr eine App wieder löschen:
fly apps delete appname