Vorinstalliertes Nextcloud zusammen mit nginx nutzen

  • Hallo,

    ich habe Ubuntu 18.04.2 zusammen mit Nextcloud von den "vorinstallierten DVDs" beim SCP installiert.

    Nextcloud funktioniert, und nutzt wohl Port 80.

    Jetzt möchte ich aber nginx installieren und das auf Port 80 nutzen, und nextcloud dann halt auf irgendeinem anderen Port.

    So, dass beides parallel funktioniert.

    Ich finde aber keine Apache Konfigurationsdateien von nextcloud, wo ich das einstellen kann. (Beim Googlen bin ich sehr oft auf /etc/apache2 gestoßen, dieser Ordner existiert aber nicht)

    Könnte mir jemand helfen, wie ich das mache?

    Ich bin ein frischer Linux-Anfänger ^^


    Vielen Dank!:)

  • Du kannst Nextcloud auch über nginx ausliefern. Das muss nicht über einen anderen Port laufen.

    Du kannst uns ja mal eine netstat -tulpen Ausgabe hier posten.


    Ich bin ein frischer Linux-Anfänger

    Ich halte es nicht für eine gute Idee als blutiger Anfänger einen vServer im Internet zu betreiben. Da kann einiges schief gehen.

    Möchtest du das nicht eher mal zu Hause auf einer virtuellen Maschine üben?

  • Du kannst Nextcloud auch über nginx ausliefern. Das muss nicht über einen anderen Port laufen.

    Du kannst uns ja mal eine netstat -tulpen Ausgabe hier posten.


    Ich halte es nicht für eine gute Idee als blutiger Anfänger einen vServer im Internet zu betreiben. Da kann einiges schief gehen.

    Möchtest du das nicht eher mal zu Hause auf einer virtuellen Maschine üben?

    Hier ist das Ergebnis von netstat -tulpen:

    Unbendannt.png

    Wenn ich den Befehl mit sudo starte, kriege ich noch 80 verschiedene von diesen Einträgen:

    Unbenannt.png

    Was hat das zu bedeuten?


    Und ich weiß, an einer lokalen Maschine zu üben wäre warscheinlich sinnvoller. Allerdings möchte ich nicht nur ein laufendes nginx mit react oder angular installieren, und dann coden. Bin hauptsächlich Programmierer und nicht Serveradministrator ^^


    Habe deswegen jetzt alle möglichen Tutorials zum Thema Sicherheit gelesen, und gängige Sachen wie SSH Keys, root login deaktivieren, fail2ban, automatische Sicherheitsupdates und Firewall hab ich schon konfiguriert.

  • Habe deswegen jetzt alle möglichen Tutorials zum Thema Sicherheit gelesen, und gängige Sachen wie SSH Keys, root login deaktivieren, fail2ban, automatische Sicherheitsupdates und Firewall hab ich schon konfiguriert.

    Benutze für SSH mal einen nicht-standardport, dann sollten die Verbinungsanfragen deutlich runter gehen.


    Um auf deine ursprüngliche Frage zurück zu kommen:

    Jetzt möchte ich aber nginx installieren und das auf Port 80 nutzen, und nextcloud dann halt auf irgendeinem anderen Port.

    So, dass beides parallel funktioniert.


    Apache2 ist ein Webserver, genauso wie nginx. Nextcloud ist eine PHP basierte Website die sowohl mit apache als auch nginx benutzt werden kann. Wenn du keine Ahnung hast, wieso willst du dann nginx einsetzen? Vermutlich läuft momentan Apache auf Port 80. Du müsstest das also beenden und stattdessen nginx installieren. Ich bezweifel aber, dass du das tatsächlich willst. Vermutlich willst du deine Zufriedenheitsgarantie in Anspruch nehmen, Zuhause eine VM aufsetzen und das da ausprobieren.

  • Prinzipiell sehe ich in deinem Use Case keinen Grund zur Nutzung von nginx.


    Nextcloud läuft am besten mit Apache2, finde ich. Apache2 kann auch so ziemlich alles, was nginx kann.

    Nur, dass nginx (im Reverse Proxy only Betrieb) einfacher zu konfigurieren und performanter ist. Den Performanceunterschied würdest du in deinem Use Case aber vermutlich nicht mal merken. Das sind dann Sachen, über die man bei größeren Geschichten nachdenken sollte.


    Sofern der Apache2 nur auf Port 80 lauscht, bedeutet das, dass kein HTTPS genutzt wird (zu deutsch, die Daten werden in Klartext übertragen). Das möchtest du nicht, glaub mir.


    Ein gültiges SSL Zertifikat bekommst du von LetsEncrypt, am besten via Certbot. Für die Konfiguration schaust du dir mal Mozillas SSL Config Generator an.

    Wenn du prüfen möchtest, ob deine Konfiguration korrekt ist, schaust du dir mal Mozillas Observatory an. ;)


    Du kannst durchaus mehrere Webanwendungen parallel über Port 80/443 ausliefern. Dafür nutzt du dann einfach Subdomains (oder mehrere Domains) und erstellst dir entsprechende Konfigurationen mit den jeweiligen virtual Hosts in /etc/apache2/sites-available/.


    Sofern du ein eigenständiges Programm über eine Subdomain ausliefern möchtest (z.B. Gitea, GitLab, Grafana, ...), ist dies auch möglich. Das Zauberwort schimpft sich dann "reverse Proxy". ;)



    Ich möchte hier allerdings trotzdem an die Worte der anderen Forenmitglieder appelieren - ein Server am freien Netz ist keine Testumgebung und nichts zum daran lernen. Getestet wird lokal. Wenn da dann alles läuft und passt, übernimmt man es in die Produktivumgebung am freien Netz. Vorher nicht, auch nicht "mal kurz".


    Ich möchte dir deinen Bedarf an einem Server als Programmierer nicht absprechen, und denke, dass du in der Lage sein kannst, sowas zu betreiben. Aber bitte bringe die notwendige Sensibilität auf und handele bedacht, statt voreilig. Wir meinen es nicht böse, wir sprechen da viel mehr aus Erfahrung.

    "Denn der radikalste Zweifel ist der Vater der Erkenntnis."

    -Max Weber