Nextcloud auf KeyHelp installieren

Zur Installation genutzte Software: KeyHelp 21.0.2 build2195 mit PHP 7.4.21, ubuntu 20.04 und Nextcloud 21.0.2

Einleitung:
Für einen reibungslosen Betrieb sollte Nextcloud im Root Ordner der Domain installiert werden und nicht in einem Unterordner wie domain.com/nextcloud/. Am einfachsten ist es eine Subdomain an zu legen wie cloud.domain.com und dort alle Dateien in den Root Ordner kopieren. Grund dafür ist, dass bei einem Unterordner eine .htaccess im Root Ordner erstellt werden muss, welche die RewriteRules entsprechend umleitet (z.B. RewriteRule ^\.well-known/carddav  /ordner/remote.php/dav/ [R=301,L]).
Zusätzlich sollte eine php-Version von KeyHelp für die Domain ausgewählt werden und nicht die Standartversion vom Betriebssystem. Die KeyHelp Versionen unterstützen von Haus aus mehr php-Module. Bei mir fehlte das Modul gd in der von ubuntu ausgelieferten Standartversion. Vor der Installation die Domain mit SSL (z.B. mit Let’s Encrypt) absichern.

Installation:
Die Installation selber ist relativ einfach: Die Serverfiles von nextcloud.com runterladen und die entpackten Dateien ins Root Verzeichnis eurer Domain hoch laden, dann eure Domain im Browser aufrufen und die Installation abschließen. Bei MySQL muss der Port angegeben werden. Also localhost:3306. Wenn die Installation abgeschlossen ist, speichert Chrome bei mir zum Benutzer das MySQL Passwort und nicht das Benutzerpasswort. Passt da unbedingt auf und notiert es euch. Am besten nach der Installation einmal Aus- und Einloggen, damit das Passwort dann im Passwortmanager vom Browser korrigiert wird.

Nach dem Login als erstes nach Verwaltung -> Übersicht wechseln. Bei mir werden dort Sicherheits- und Einrichtungswarnungen und angezeigt:

Widmen wir uns dem ersten Punkt:

  • Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB.

Die Lösung ist relativ einfach: In KeyHelp wird diese Option unter der Benutzerverwaltung in _PHP eingestellt:

Der zweite Punkt:

  • Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „15552000“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den Sicherheitshinweisen erläutert ist.

Hier ist die Lösung ebenfalls sehr einfach: In KeyHelp unter den Punkt Domains -> colud.domain.com unter Einstellung „Sicherheit“ die 4 Optionen wie auf den Bild zu sehen bearbeiten. Damit wird HSTS aktiviert und auf den gewünschten Wert von 15552000 Sekunden eingestellt.

 

 

 

 

 


Dritter Punkt:

  • Für Ihre Installation ist keine Standard-Telefonregion festgelegt. Dies ist erforderlich, um Telefonnummern in den Profileinstellungen ohne Ländercode überprüfen zu können. Um Nummern ohne Ländercode zuzulassen, fügen Sie bitte „default_phone_region“ mit dem entsprechenden ISO 3166-1-Code ↗ der gewünschten Region hinzu.

Die Telefonregion lässt sich in der config.php eintragen, welche sich in der nexcloud Installation im Configordner befindet:

 

Der vierte und letzte Punkt:

  • Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. Weitere Informationen finden Sie in der Dokumentation.

Für das Problem sind zwei Schritte nötig. Es müssen in KeyHelp, wie bei Punkt eins zur Speichergrenze, unter der Benutzerverwaltung in _PHP folgendes in Zusätzliche PHP-Einstellungen eingetragen werden:

Dann die Memcache Anweisung in der config.php von nextcloud, welche sich im nextcloud Configordner befindet, eintragen:

 

Geschafft! Nach einem Reload der Nexcloud Übersicht, sollte die Belohnung ein grüner Haken mit der Info „Alle Überprüfungen bestanden.“ sein.

Abschlussarbeit:
Das Kernsystem von Nextcloud steht jetzt fast. Zum Abschluss sollte ein automatischer cron job für die cron.php von Nextcloud erstellt werden. Das dient dazu um Hintergrundaufgaben automatisch aus zu führen. In den Standarteinstellung wird dieses mit AJAX gemacht, wobei die Hintergrundprozesse nur ausgeführt werden, wenn ein User die Webseite besucht. Sollte niemand 2 Wochen die Nextcloud aufgerufen haben, dann wurden die Hintergrundprozesses auch 2 Wochen nicht ausgeführt. Die Optionen dazu sind bei Nextcloud unter Verwaltung -> Grundeinstellungen zu sehen:

Dort ist die Einstellung AJAX zu sehen. Bei Webcron ruft ein externer Dienst (wo man sich anmelden muss) die cron.php auf. KeyHelp bietet eine einfache Möglickeit die cron.php per Cron automatisch aus zu führen. Dazu geht ihr in KeyHelp nach Einstellungen -> Konfiguration -> Geplante Aufgaben. Ich nehme php-Skript ausführen, da dort gleich der passende php-Interpreter gewählt werden kann. Dieser sollte die selbe Version haben, wie die zur Domain von nextcloud. Der Skriptpfad zeigt zu eurer Nextcolud cron.php: /home/users/name/www/cloud.domain.com/cron.php. Dazu muss der PHP-Befehl: apc.enable_cli=1 ausgeführt werden. Der komplette Befehl hat bei mir diese Syntax:

Dann den Zeitinterwall auf 5 Minuten stellen, wie von Nextcloud vorgeschlagen. Andere stellen hier meistens 15 Minuten ein. Das ist ganz euch überlassen. Jetzt den Besitzer der Domain auswählen. Über diesen laufen dann auch die Hintergrundprozesse. Ich lasse mir bei Fehlern eine E-Mail senden. Das ganze sollte dann so aus sehen:

Nach dem Speichern der Einstellungen die Aufgabe einmal Manuell mit dem Startsymbol ausführen. Es erscheint dann oben ein Statusfenster, welches zeigt, dass die Aufgabe beendet ist. Wenn alles richtig eingestellt ist, gibt es den Rückgabestatus 0. Somit ist alles ohne Fehler durchgelaufen. Jetzt in Nextcloud die Grundeinstellungen neu laden. Nextcloud hat den Cron-Job erkannt und gibt einen grünen Kreis als OK zurück:

Glückwunsch! Die Nextcloud Installation auf KeyHelp ist geschafft. Das Kernsystem steht und es kann an die Einrichtung der Nexctloud Benutzer und Dienste gehen. Viel Spaß dabei.

UPDATE:
In der Nextcloud Version 21.0.2 hat der PDF-Viewer einen Bug: PDF’s mit Leerzeichen im Namen können nicht geöffnet werden, da die Datei angeblich fehlt. Abhilfe schafft ein Workaround bis zum nächsten Update von Nextcloud: https://github.com/nextcloud/files_pdfviewer/issues/381

Speichere in deinen Favoriten diesen permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.