Datenverzeichnis von Nextcloud verschieben
Update 1.8.2020
Neu geschrieben
Normalerweise befindet sich das Datenverzeichnis innerhalb der Installation von Nextcloud. Dies ist aber keine sehr gute Idee, da dieses Verzeichnis möglicherweise von außen angreifbar ist. Besser ist es, das Verzeichnis zu verschieben, weit in das Serververzeichnis.
Bei Plesk ist dies nicht direkt möglich, da jeder User nur auf ein bestimmtes Verzeichnis Zugriff hat. Der Pfad lautet /var/www/nextcloud/ Die Nutzer sind chrooted.
Möchte man nun das Datenverzeichnis beispielsweise in /mnt/data haben, so muss man folgendes machen.
Als erstes den Wartungsmodus von Nextcloud einschalten. Dazu wechseln wir in das Nextcloud Verzeichnis und führen folgende Befehlszeile aus.
sudo -uwww-data php /var/www/nextcloud/occ maintenance:mode --on
Dies ist wichtig denn während des Vorgangs dürfen keine Daten verändert werden.
Daten verschieben:
Nun wird das Datenverzeichnis verschoben:
sudo mv /var/www/nextcloud/data /mnt/data
Zugriffsrechte anpassen
Danach müssen noch die Dateirechte angepasst werden. Auf den meisten Servern ist das der www-data Nutzer. Dies geschieht mit
sudo chown -R user:psacln /mnt/data
Außerdem muss das Openbase_dir geändert werden. In der php.ini im PHP Pfad (/etc/php/7.x/fpm) ändern. Dies sperrt php in diesen Pfaden ein und hat bespielsweise auf die /etc/passwd keinen Zugriff mehr.
# Global per php.ini:
# /etc/php/7.x/fpm/php.ini
open_basedir = /var/www/:/tmp/
# Per Site in der VirtualHost Config:
php_value open_basedir /var/www/site/:/tmp/
# Global per php.ini:
# /etc/php/7.x/fpm/php.ini
open_basedir = /var/www/:/tmp/
# Per Site in der VirtualHost Config:
php_value open_basedir /var/www/site/:/tmp/
Danach den Wartungsmodus wieder deaktivieren.
sudo -uwww-data php /var/www/nextcloud/occ maintenance:mode --off