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.
    - docker volume create portainer_data
    - 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
    - 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.