Ich möchte auf einem Rechner später mehrere Web-Services installieren, zunächst aber nur nextcloud. Auf diese Dienste möchte ich über 'Namen' zugreifen, nicht über IP-Adressen.
Ich glaube, ich bin da nicht der erste, der sowas versucht ...... 😉
Nextcloud scheint prinzipiell zu funktionieren, ich scheitere an der Netzwerk-Konfiguration.
Hier mein Setup, wobei ich euch nicht 'zumüllen' will und mich erstmal auf das (vermutlich) Wesentliche beschränke.
Ich habe in einer virtuellen Maschine (Ubuntu 20.04) einen Dockercontainer mit nextcloud eingerichtet:
docker run -d --name=my-cloud -v /home/benutzer/docker/nextcloud/data:/var/www/html -p 8080:80 nextcloud
Da ich später ja mehrere Services haben möchte, erstelle ich eine Konfigurationsdatei für den virtuellen Host:
sudo nano /etc/apache2/sites-available/my-cloud.conf
und fülle sie mit folgendem Inhalt:
<VirtualHost *:80> ServerName my-cloud ServerAlias www.my-cloud.de ProxyPass / http://172.17.0.2/ ProxyPassReverse / http://172.17.0.2/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Ich melde mehrere trusted_domains an:
docker exec --user www-data my-cloud php occ config:system:set trusted_domains 1 --value=192.168.178.70 docker exec --user www-data my-cloud php occ config:system:set trusted_domains 2 --value=192.168.178.26 docker exec --user www-data my-cloud php occ config:system:set trusted_domains 3 --value=172.17.0.2 docker exec --user www-data my-cloud php occ config:system:set trusted_domains 4 --value=my-cloud
In die /etc/hosts füge ich
172.17.0.2 my-cloud
hinzu und kann nun sowohl vom Host mit der IP-Adresse, als auch innerhalb der VM mit 'http://my-cloud' auf die cloud zugreifen.
Vom Host aus funktioniert das mit dem Namen nicht.
Mein Verdacht ist, das ich irgendwo einen DNS einrichten muss, der die Namensauflösung macht.
Also habe ich in der VM dnsmasq installiert und diesen dns auf dem Host bekannt gemacht. Der Zugriff vom Host aus, über den Namen, funktioniert allerdings immer noch nicht.
Nach viel Suchen habe ich nmcli entdeckt.
nmcli device show
auf dem Host liefert unter anderem
IP4.DNS[1]: 192.168.178.1 IP4.DNS[2]: 192.168.178.70 IP4.DOMAIN[1]: fritz.box
Daraus schließe ich, dass der Host jetzt zwei DNS-Server kennt.
Also versuche ich auf dem Host
nslookup my-cloud 192.168.178.70
und erhalte
Server: 192.168.178.70 Address: 192.168.178.70#53 Name: my-cloud Address: 172.17.0.2
Ein Ping auf '172.17.0.2' funktioniert, ein Ping auf 'my-cloud' nicht. Innerhalb der VM geht ein 'ping my-cloud' auch.
Zusammengefasst:
Nextcluod scheint zu funktionieren. Der Zugriff aus allen Himmelsrichtunge klappt.
Der Host kennt den DNS dnsmasq
Der Host kann 'my-cloud' der richtigen IP zuordnen.
So. Nun kommt ihr: Hat jemand eine Idee, was hier fehlt/falsch ist?
(Bei Bedarf kann ich die Einzelschritte natürlich detailliert nachliefern...)