Neue Nextcloud, neue Probleme

Hallo zusammen.

Ich habe mich die letzten Tage mit Reverse-Proxy auseinandergesetzt. Nun habe ich einen Reverse-Proxy ├╝ber Nginx hinbekommen. Des weiteren habe ich mir auch eine neue Nextcloud installiert. Wenn ich die Nextcloud aufrufe und in der ├ťbersicht gucke, dann sind dort die ├╝blichen Fehlermeldungen, wie:

* Der HTTP-Header ÔÇťStrict-Transport-SecurityÔÇŁ ist nicht auf mindestens 15552000 Sekunden 
eingestellt. F├╝r mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den 
[Sicherheitshinweisen](https://docs.nextcloud.com/server/20/go.php?to=admin-security) 
erl├Ąutert ist.

* Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erh├Âhung der Leistungsf├Ąhigkeit kann ein 
Memory-Cache konfiguriert werden. Weitere Informationen findest Du in der [Dokumentation] 
(https://docs.nextcloud.com/server/20/go.php?to=admin-performance).

Wenn ich die Fehler versuche zu beheben, dann schmiert mir die Nextcloud permanent ab. Das hei├čt, sie ist dann nicht mehr erreichbar. Mache ich die Einstellungen r├╝ckg├Ąngig, kommt man wieder drauf.

Ich habe auch die Fehler mit dem caldav & carddav. Dazu habe ich hier im Forum auch schon geguckt. Nur werde ich daraus nicht schlau, wo ich welchen Eintrag hinschreiben muss.

Mein System sieht folgenderma├čen aus.

Proxmox als Hauptsystem
1x Ubuntu Server 20.04 mit Nextcloud (Hauptcloud)
1x Ubuntu Server 20.04 mit Nextcloud (Testcloud)
1x Ubuntu Server 20.04 mit Reverse-Proxy (zum Ansprechen der beiden Clouds und des Webservers)
1x Ubuntu Server 20.04 als reiner Webserver f├╝r Testwebseiten

Liegt das mit den Fehlern mit dem Reverse-Proxy zusammen? So langsam verstehe ich hier gar nicht mehr. Das was ich im Internet nach meiner Suche bei Google gefunden habe, sah f├╝r mich alles Plausibel aus. Nur wenn das was ich so wie im Internet beschrieben mache nicht funktioniert, dann verliert sich langsam die Lust daran.

Danke schonmal f├╝r die Tipps und Ratschl├Ąge.

Ich w├╝rde mal sagen. Jein! :wink:

Der erste ÔÇťFehlerÔÇŁ betreffend HTTP-Header, m├╝sstest du in der Reverse Proxy Konfiguration beheben und der zweite auf dem Nextcloud Server.

Ich w├╝rde folgendermassen vorgehen:

Setzte die Nextcloud ohne Reverse Proxy und ohne HTTPS auf und konfiguriere sie soweit, dass alles inkl. Memory-Cache aus dem lokalen Netz erstmal funktioniertÔÇŽ

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html

Wenn alles l├Ąuft, setzt du den Reverse Proxy auf und machst die n├Âtigen ├änderung betreffend trusted_proxies in der config.php und die n├Âtigen Anpassungen f├╝r SSL, HSTS und caldav & carddav in der Webserverkonfiguration des Reverse-Proxy.

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/reverse_proxy_configuration.html

Wenn es danach immer noch nicht funktioniert oder du immer noch Fehlermeldungen erh├Ąlst, poste bitte deine Webserver-Configs und die config.php hier. Ansonsten wird es schwer zu helfen. Ich muss dazu noch sagen, dass ich mich mit nginx nicht sehr gut auskenne, aber es werden dir andere hier sicher helfen k├Ânnen, wenn du deine Configs postest.

Guten Morgen bb77.

Erst mal danke f├╝r deine Antwort. Dann werde ich das mal umsetzen, was du geschrieben hast. Ein kleines Problem habe ich noch. Und zwar wenn ich die Nextcloud im Browser ├╝ber die IP versuche anzusprechen, dann bekomme ich nur die Apache Webserver Seite. Die Cloud liegt in /var/www/nextcloud. Die Apache Webserver Seite liegt in /var/www/html Welchen Trick gibt es da, das ich die ├╝ber die interne IP erreichen kann? Ich habe schon versucht, mich per FTP (mit WinScp) auf die Nextcloud zu verbinden. Ich kann auch in den Verzeichnissen rumspringen. Nur kann ich nichts ├Ąndern oder verschieben. Das liegt aber an den Berechtigungen, wie ich das richtig gelesen habe.

Ich wei├č, Fragen ├╝ber Fragen. Ich bin, was Linux angeht, echt noch blutiger Anf├Ąnger. Ich m├Âchte allerdings auch verstehen, wie die Sachen alle zusammenh├Ąngen.

Das kommt darauf an wie du deine Nextcloud aufgesetzt hast bzw. wie der Apache konfiguriert ist. Hast du eine bestimmte Anleitung benutzt?

Ich tippe mal, dass du im Virtualhost f├╝r die Nextcloud deinen Domainnamen angegeben hast und gleichzeitig noch der Default Virtualhost von Apache aktiv ist. Als erstes w├╝rde ich mal den Default Virtualhost deaktivieren: a2dissite 000-default.conf und dann im Virtualhost der Nextcloud bei ServerName den Domainnamen durch die IP-Adresse ersetzten. Zus├Ątzlich muss in der config.php unter trusted_proxies ebenfalls die IP-Adresse eingetragen sein. Dann sollte der Zugriff via IP-Adresse eigentlich funktionieren.

Ich habe die Anleitung von apfelcast von YouTube genommen. Wenn Du eine andere hast, dann w├╝rde ich die mal ausprobieren. Die von apfelcast ist recht einfach und verst├Ąndlich.

Habe ich vermutet. :wink: Die ist ok, aber halt darauf ausgelegt, dass du einen Domainnamen verwendest und SSL direkt auf dem Apache machst. Weil du den Domainnamen und SSL aber auf dem Reverse Proxy verwenden willst und nicht auf dem dem Apache des Nextcloud-Servers, muss der Apache auf dem Nextcloud-Server via IP-Adresse erreichbar sein. Und damit das funktioniert müsstest du die Änderunegen machen, die ich beschrieben habe. Plus ist es immer eine gute Idee den Default Virtualhost zu deaktivieren, wenn er nicht gebraucht wird.

Das mit dem Domainnamen ist ja auch richtig. Ich habe ja die Hauptdomain nc-hauke und darunter sind 3 Subdomains, wor├╝ber die Nextcloud Instanzen angesprochen werden sollen. Die sollen nachher auch im Netz erreichbar sein.

Jup aber via dem Reverse-Proxy und nicht direkt auf dem Apache des Nextcloud-Servers.
und auch die SSL-Konfiguration muss dort gemacht werden.

Im Apache Virtualhost des Nextcloud Servers tr├Ągst du nur die IP des Servers unter ServerName ein und du f├╝gst sie auch unter trusted_proxies in der config.php der Nextcloud hinzu. Wenn du dann den Reverse-Proxy aufgesetzt hast, f├╝gst du zus├Ątzlich den Domainnamen und evtl. noch die IP des Reverse-Proxis zu den trusted_proxies hinzu. Die IP des Nextcloud-Servers kannst du dann theoretisch in der config.php wieder entfernen, wenn du ihn nicht mehr direkt ├╝ber die interne IP erreichen willst/musst. Im Apache Virtualhost, bleibt sie aber drinn bzw. muss der Domainname nicht drinnstehen.

Ok, erstmal danke f├╝r die Tipps. Dann werde ich mich mal dran setzen und das mal umsetzen, was du geschrieben hast. Welche Anleitung w├╝rdest du denn empfehlen, um eine Nextcloud aufzusetzen?

Nochmal zu der FTP Geschichte. wie muss ich die Berechtigungen setzt, damit ich in dem /var/www/html Verzeichnis arbeiten kann? Der Webserver soll nachher auch testweisen im Internet Angesprochen werden.

Ob du den Server via FTP erreichst oder nicht, hat mit der Konfiguration des Webservers und dem Reverse-Proxy nichts zu tun. FTP ist ein eigenes Protokoll und l├Ąuft komplett unabh├Ąngig. Ich w├╝rde dir aber nicht emfehlen FTP (ich nehme an du meinst SFTP bzw SCP via SSH) direkt aus dem Internet erreichbar zu machen. Wenn du es trotzdem tust, empfehle ich dir dringend SSH-Keys zu verwenden und die Passwortauthentifizierung f├╝r SSH zu deaktivieren.

Ja, SFTP war ja auch gemeint. Das soll auch nur intern gemacht werden. Also um die fertige Webseite auf den Webserver zu bekommen. Aber da gucke ich sonst nochmal anderer Stelle. Jetzt wird erstmal das mit der Nextcloud umgesetzt.

1 Like

Damit du via SFTP direkt ins Webroot bzw nach /var/www/ÔÇŽ schreiben kannst, muss der Benutzer, der sich via SFTP am Server anmeldet, die n├Âtigen Berechtigunggen haben. Am einfachsten geht, das, wenn du diesen Benutzer der Gruppe www-data hinzuf├╝gst. Ich w├╝rde mich da aber erst schlau machen, was die ÔÇťBest-PractisesÔÇŁ sind. Ich bin da kein Spezialist.

Die Frage ist auch, ob man das ├╝berhaupt braucht. Das kannst aber nur du beantwortenÔÇŽ :wink: Ich kann mir pers├Ânlich eigentlich nur einen Usecase vorstellen, bei dem das n├Âtig w├Ąre und zwar dann, wenn du irgendeine Form von statischer Website hosten willst, bei der du regelm├Ąssig die Dateien via SFTP aktualisieren musst. F├╝r alles andere, wie z.B. um irgendwelche WebApps oder CMS-Systeme zu installieren, kannst du das ZIP oder in welcher Form auch immer du die Anwendung heruntergeladen hast, auch einfach in dein Homeverzeichnis hochladen, oder es auf der Kommandozeile deines Servers via wget, git uswÔÇŽ direkt auf deinen Server herunterladen und dann von dort weitermachenÔÇŽ

Gute Idee. Ich w├╝nsche gutes Gelingen :slight_smile: