Wie installiert man auf einem Debian Server den NGINX Proxy Manager?

von | Mrz 30, 2023 | Technik | 0 Kommentare

Schlagwörter: Debian - Docker - ghost

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

Einen Kommentar abschicken

Du kannst auf Fediverse-Profile verlinken, indem du fl:@benutzername in deinem Kommentar eingibst.

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert