In einer bestehenden LAMP– bzw. Webserver/PHP/Datenbank-Umgebung eine Nextcloud zu installieren ist an und für sich keine große Sache. Aufwendiger gestaltet sich das Ganze, wenn man eine solche Umgebung erst aufbauen muss.
Eine (imho) sehr schnelle und komfortable Möglichkeit besteht nun darin, jenseits der Betriebssysteminstallation, alles weitere von einem Skript erledigen zu lassen. Hier kommt die Lösung von Carsten Rieger ins Spiel. Nachdem z.B. Debian 11 Bullseye installiert ist richtet das Skript den Webserver samt aller weiteren notwendigen Komponenten ein.
In seinem Blog sind alle notwendigen Schritte erklärt:
Carsten Rieger – Nextcloud Installationsskript zero.sh
Die minimalen Voraussetzungen sind überschaubar:
- Feste IP-Adresse für den Server, gemeint ist mindestens im internen Netz.
- FQDN
Unter Debian muss man zunächst folgende Befehle ausführen:
su - apt install -y sudo usermod -aG sudo <Benutzername> exit
und
sudo -s apt install -y git git clone https://codeberg.org/criegerde/nextcloud-zero cp nextcloud-zero/zero.sh . chmod +x zero.sh
Im Skript selbst sind mindestens folgende Variablen bzw. deren Werte anzupassen:
- NCRELEASE – Kann unverändert bleiben, wenn die aktuellste Nextcloud-Version verwendet werden soll.
- NEXTCLOUDDNS – Der FQDN der verwendet werden soll.
Dies geht z.B. mit
nano zero.sh
Es gibt jede Menge weiterer Werte die angepasst werden können. Es kommt hier darauf an, was man alles nutzen möchte, ein Beispiel wäre Let’s Encrypt, entsprechend unterscheiden sich die Wege. Wenn man einen feste IP-Adresse an seinem Internetanschluss hat ist es etwas anderes als wenn man eine dynamische IP hat. Gleiches gilt für den DNS-Teil. Nutzt man DDNS oder hat man einen festen FQDN.
Nachdem man die Vorbereitungen getroffen hat kann man das Skript ausführen und wartet den Abschluss ab:
./zero.sh
Auf meinem System mit Debian 11 Bullseye unter Hyper-V benötigte die Einrichtung sechs Minuten und 39 Sekunden. Am Ende wird an der Konsole oder via ssh eine Zusammenfassung angezeigt, die sowohl IP als auch FQDN beinhaltet sowie die generierten Zugangsdaten. Diese Informationen sollte man unbedingt an einem sicheren Ort aufbewahren!
Ab hier kann man mit der weiteren Nextcloud-Konfiguration, wie z.B. die Installation von Apps oder dem Anlegen von Benutzern, fortfahren.
Wo findet sich was?
Die Nextcloud-Dateien findet man unter
/var/www/nextcloud
Der Datenordner befindet sich unter
/data
Das Nextcloud-Protokoll findet sich unter
/var/log/nextcloud
Troubleshooting
Zumindest bei meinem Setup das im Dezember 2022 durchgeführt wurde, stimmte bei PHP die Zeitzone nicht. In der “php.ini” stand noch “date.timezone = CURRENTTIMEZONE” statt “Europe/Berlin”. Offenbar wurde diese durch das Skript nicht gesetzt.
Bei Updates von Apps blieb des Öfteren der Maintenance Mode aktiv. Offenbar hängt es meist an SnappyMail, welches ich verwende. Abhilfe schaffen folgende Befehle:
cd /var/www/nextcloud sudo -u www-data php occ maintenance:mode --off sudo -u www-data php occ upgrade reboot
Versucht man den Maintenance Mode zu beenden (zweiter Befehl von oben), erhält man mitunter einen Grund warum dies nicht möglich ist. Wie erwähnt hängt es oft an einem App-Update oder -Upgrade, welches man dann mit dem dritten Befehl durchführen kann. Dabei wird in der Regel der Maintenance Mode deaktiviert. Ein Beispiel:
root@nc:~# cd /var/www/nextcloud root@nc:/var/www/nextcloud# sudo -u www-data php occ maintenance:mode --off Nextcloud or one of the apps require upgrade - only a limited number of commands are available You may use your browser or the occ upgrade command to do the upgrade Maintenance mode disabled root@nc:/var/www/nextcloud# sudo -u www-data php occ upgrade Nextcloud or one of the apps require upgrade - only a limited number of commands are available You may use your browser or the occ upgrade command to do the upgrade Setting log level to debug Turned on maintenance mode Updating database schema Updated database Updating <snappymail> ... Updated <snappymail> to 2.25.2 Starting code integrity check... Finished code integrity check Update successful Turned off maintenance mode Resetting log level
Mitunter ist der Maintenance Mode bereits deaktiviert, aber im Browser wird dieser dennoch angezeigt. Offenbar wird irgendwo noch etwas zwischengespeichert.
Mit Glück reicht ein Neustart des Webservers und der PHP-Erweiterung aus:
systemctl restart nginx systemctl restart php8.1-fpm.service
Ansonsten hilft ein beherzter
reboot
Getreu dem Motto: Ein Boot tut gut.
Alternativ kann man alle Apps einfach mit
cd /var/www/nextcloud sudo -u www-data php occ app:update --all
aktualisieren. Mit diesem Befehl hatte ich bislang noch keine Probleme.
Quelle
Nextcloud – Docs – Nextcloud configuration – Using the occ command – Apps commands
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Schreibe einen Kommentar