Um mit einer externen IP-Adresse "inhouse" mehrere Server anzusprechen, wird ein Proxy-Server für die Namens-Weiterleitung eingesetzt. Dieser erlaubt auch Weiterleitungen und/oder Zusammenfassungen von verschiedenen Domain-Namen zu einem anderen Namen. Ob diese Zieldomain dann im eigenen Netz liegt oder extern, spielt keine Rolle mehr.
Nachdem Sie zuerst den Ubuntu-Server mit Webmin eingerichtet haben, geht es weiter mit den nachstehenden Positionen.
- Loggen Sie sich mit SSH auf dem Server ein (wenn Sie eine virtuelle Umgebung haben, können Sie sich auch direkt im virtuellen Ubuntu-Server einloggen) .
- Damit die zusätzlichen Funktionen ansprechbar sind, werden weitere Firewall-Ports geöffnet. Geben Sie der Reihe nach die folgenden Befehle ein
- sudo firewall-cmd --add-port=10000/tcp --permanent (Sollte schon erfasst sein)
- sudo firewall-cmd --add-port=80/tcp --permanent (für Webseiten)
- sudo firewall-cmd --add-port=81/tcp --permanent (für nginx)
- sudo firewall-cmd --add-port=443/tcp --permanent (für Webseiten)
- sudo firewall-cmd --add-port=9000/tcp --permanent (für Portainer)
- sudo firewall-cmd --reload - Jetzt können wir Docker installieren. Dazu nachstehende Befehle eingeben
- sudo apt-get update
- sudo apt-get install ca-certificates curl gnupg
- sudo install -m 0755 -d /etc/apt/keyrings
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- sudo chmod a+r /etc/apt/keyrings/docker.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- sudo apt-get update
- sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - Um zu testen, ob Docker läuft, kann der nachstehende Befehl eingegeben werden. Es wird dann eine hello-world Seite angezeigt
sudo docker run hello-world - Damit wir Docker mit einer grafischen Oberfläche betreiben können, installieren wir Portainer. Dazu geben Sie nacheinander die aufgeführten Befehle ein.
- sudo docker volume create portainer_data
- sudo docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
- sudo docker ps (um zu prüfen, ob Docker mit Portainer läuft)
Anmeldung nun mit http://<meine Server-IP>:9000 - Es erscheint jetzt ein Anmeldebild mit dem Usernamen admin. Vergeben Sie ein neues Passwort und Sie können Portainer verwenden.
- Jetzt sind wir in Portainer und möchten gerne Nginx Proxy Manager installieren.
- Klicken Sie dazu in der Übersicht auf der rechten Seite auf Live connect. Dadurch wird die Menüsteuerung auf der linken Seite erweitert und Sie stehen auf dem Dashboard.
- Unter dem Menüpunkt Networks finden Sie drei vorgegebene Netzwerke, wovon eines als bridge definiert ist. Sie müssen daran nichts ändern, dieses Netzwerk verwenden wir später bei der Einrichtung von nginx.
- Nun erstellen wir über den Menüpunkt Volumes ein Laufwerk, das die Daten vom Nginx Proxy Manager speichern soll.
Klicken Sie auf Add volume, vergeben Sie einen Namen (z.B. nginx_proxy_manager) und lassen Sie den Rest auf den vorgegebenen Werten. - Jetzt geht es über den Menüpunkt Container zur Erstellung des Nginx Containers. Klicken Sie dort auf Add container. Vergeben Sie z.B. den Namen nginx-proxy-manager
- Bei Image tippen Sie jc21/nginx-proxy-manager:latest ein
- Klicken Sie jetzt auf +publish a new network port und fügen Sie die Ports 80, 81 und 443 hinzu. Bei allen ist es TCP
- Bei Advanced container settings gehen Sie zu Volumes und klicken dort auf +map additional volume
- Bei container geben Sie /data ein und wählen darunter das unter Position 26 erstellte Volume aus. Erstellen Sie einen zweiten Eintrag mit dem Container /etc/letsencrypt und wählen Sie dasselbe Volume aus.
- Gehen Sie jetzt bei Advanced container settings auf Network und wählen Sie dort das Netzwerk mit bridge aus.
- Bei Advanced container settings und Restart Policy wählen Sie Always aus.
- Jetzt können Sie etwas weiter oben im Bild auf Deploy the container klicken. Dadurch wird die gewünschte Software vom Internet heruntergeladen und im vorgegebenen Volume und Container abgelegt und installiert.
- Nginx können Sie nun mit http://<meine Server-IP>:81 aufrufen.
- Beim ersten Anmeldebild ist der Standarduser admin, mit der Mailadresse admin@example.com, sowie dem Passwort changeme. Bei der ersten Anmeldung ändern Sie die Mailadresse und das Passwort.