So diese kleine Debian Serie endet mit diesem Beitrag. Wir haben ja in den letzten Tagen alle gelernt, wie man einen Server mit Debian und Docker ausrüsten kann, danach wie man darauf noch Portainer installieren kann. Das ganze haben wir dann getestet in dem wir Ghost installiert haben. Und heute werde ich euch zeigen wie ihr es schafft das euer Leser direkt die Domain / Subdomain eingeben können, ohne das sie sich die IP und Portnummern merken müssen.
Wir verwenden dafür heute den NGINX Proxy Manager
Debian Serie
Wie installiert man einen Server mit Debian und Docker?
Wie installiert man auf einem Debian Server den Docker Portainer?
Wie installiert man auf einem Debian Server mit Docker das Ghost CMS?
Wie installiert man auf einem Debian Server den NGINX Proxy Manager?
Video
Codes
Server einloggen
Als erstes müsst ihr in eure Serververwaltung reingehen und zur DNS Sektion gehen. Schaut das ihr bei eurem Domainregistrar bereits die Domain mit den korrekten Nameservern eingegeben habt. Wenn ihr das erst jetzt macht, wundert euch nicht das die Domain die nächsten 24-48 Stunden noch nicht funktionieren. So lange kann es dauern bis die Domain auf den Server zielt – also habt Geduld.
Subdomain einrichten
Nun richtet eure Subdomain ein und verwendet dafür die A-Records. Denkt auch daran das ihr nicht nur IPV4 sondern au ch IPV6 eingebt – aber checkt dafür eure Serveradministration.
So sah das bei mir aus.
SSH
Wir müssen jetzt wieder einmal uns mit dem Server über SSH verbinden.
Fehlende Funktionen installieren
Nun fehlen uns ja noch ein paar wichtig Funktionen die wir nun installieren müssen, gebt dafür einfach die nächsten Befehle in euer Termin ein.
1 2 3 | sudo apt-get install -y libffi-dev libssl-dev sudo apt-get install -y python3 python3-pip sudo pip3 -v install docker-compose |
Ordner erstellen
Sobald sich nichts mehr tut im Terminal, können wir als nächstes ein Verzeichnis im Server erstellen, wo wir dann die Konfigurationsdateien hinterlegen. Ich mach das nie auf der Server-Root Ebene sondern im Home-Verzeichnis
Dafür gebe ich im Terminal dann folgende Befehle ein
1 | cd /home/ |
danach erstelle ich einen Ordner mit
1 | mkdir nginx |
und gehe gleich in dieses Verzeichnis rein
1 | cd nginx |
Config.json
Als nächstes muss ich dann die config.json Datei erstellen mit
1 | nano config.json |
und jetzt sehe ich einen Editor wo ich dann den folgenden Inhalt reinposten kann
1 2 3 4 5 6 7 8 9 10 | { "database": { "engine": "mysql", "host": "db", "name": "meinName", "user": "meinName", "password": "meinPW", "port": 3306 } } |
Nun solltet ihr natürlich noch das Passwort und den Name anpassen.
Nachher könnt ihr das ganze File abspeichern und wieder rausgehen.
Docker-Compose File
Jetzt müssen wir as gleiche nochmal machen und dafür einfach die docker-compose.yml Datei erstellen und reingehen.
1 | nano docker-compose.yml |
Hier könnt ihr dann dieses File nehmen und ins Terminal reinposten. Denkt einfach daran dass ihr die gleichen Passwörter & Namen wie in der config.json File verwenden solltet. Sonst wird die Installation nicht klappen und ihr dürft es nochmal machen.
Danach einfach alles wieder abspeichern und rausgehen.
Docker Compose File ausführen
Wenn nun beide Datein angelegt worden sind, dann könnt ihr sie nun ausführen. Gebt dafür im Termin dann einfach den folgenden Befehl ein
1 | sudo docker-compose up -d |
Nun sollte eigentlich alles sauber installiert werden und wenn ihr am Ende folgendes sieht hat alles geklappt
1 2 | Creating nginx_app_1 ... done Creating nginx_db_1 ... done |
NGINX immer starten
Nun müssen wir dem Server sagen, dass dieser Dienst immer wieder starten soll. Gebt dafür folgenden Befehl ein:
1 2 | sudo docker update --restart always nginx_app_1 sudo docker update --restart always nginx_db_1 |
Server neustarten
Und nun ist es wirklich sehr wichtig, dass ihr den Server komplett neu rebootet. Erst wenn das passiert ist können wir weiterarbeiten.
NGINX Proxy Manager öffnen
Nachdem der Server neu gestartet hat, können wir NGINX Proxy Manager konfigurieren. Geht dafür auf eure IP mit Port 81
1 | 123.233.345.456:81 |
Nun seht ihr eine Eingabemaske und hier gebt ihr folgende Passwörter ein.
1 2 | eMail: admin@example.com Passwort: changeme |
Sobald ihr die eingegeben habt, werdet ihr aufgefordert euer Name und euer neues Passwort zu setzen. Macht das!
Proxy Host erstellen
Nun müssen wir den Proxy Host anlegen. Geht also zu ≪Hosts≫ > ≪Proxy Hosts≫ und klickt auf ≪add Proxy Hosts≫
Nun gebt ihr oben also eure gewünschte Subdomain ein und unten lasst ihr das mit http so stehen. Gebt die IP ein und im anderen Feld die Port Nummer.
Ich möchte ja jetzt mein Ghost CMS hier verlinken also habe ich folgendes eingegeben
1 | ghost.meinedomain.ch |
als IP
1 | 123.123.123.123 |
und als Port
1 | 2368 |
Jetzt weiss das System nämlich das wenn die eingegebene Subdomain aufgerufen wird, muss auf IP und Port weitergeleitet werden.
SSL einrichten
Nun klickt ihr oben im Tab auf des Fenster auf ≪SSL≫ und hier können wir die SSL Sachen einstellen.
Geht nun zu ≪Request a new SSL Certificate≫ und aktiviert ≪Force SSL≫, ≪HTTP/2 Suppport≫ und ≪HSTS Enabled≫. Danach müsst ihr nur noch eure eMail Adresse eingeben, die Term of Services akzepiteren und au Save klicken.
Je nachdem wie schnell euer Server ist, verschwindet dann nach ein paar Sek oder Min das Fenster und ihr seid eigentlich fertig.
Subdomain testen
Nun seht ihr so eine Übersichtsseite
Wenn der Status online ist, dann habt ihr alles korrekt eingestellt. Nun können wir das ganze gleich testen, entweder ihr gebt in eurem Browser nun eure neue Subdomain ein oder ihr klickt auf das leicht graue Kästchen und dann öffnet sich die neue Seite.
Wenn ihr alles korrekt gemacht habt, dann seht ihr nun eure Ghost Webseite
Wenn ihr nun eure Ghost CMS Seite genau anschaut, dann seht ihr das sich in der Browserzeile was geändert hat, ihr seht jetzt nicht mehr nur die IP und Portnummer sondern eure gewünschte Subdomain und das ≪nicht sicher≫ ist nun auch verschwunden – denn SSL läuft nun ebenfalls.
So damit sind wir nun fertig. Wir haben in dieser Debian Serie gelernt, wie man einen Server mit Docker ausrüstet und Portainer dann installiert. Zum testen habe ich dann das Ghost CMS installiert und im heutigen Teil habe ich euch gezeigt wie ihr NGINX Installieren könnt, damit eure Besucher sich keine IP und Port Nummern merken müssen, sondern alles über die Subdomain abrufbar ist.
0 Kommentare