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
Hallo, gute Anleitung. 🙂
Hinweis: open_basedir nicht auf „none“ ändern, das ist zwar zielführend, aber nicht sicher 😉
einfach den neuen Pfad hinzufügen, also:
{WEBSPACEROOT}{/}{:}{TMP}{/}:/mnt/data
diese beiden Pfade sollten auch noch mit da hinein:
/dev/urandom
-> Die zeichenorientierte Gerätedatei /dev/urandom ist eine Gerätedatei für Kryptografie-Dienste, die auf generierte Zufallszahlen in Unix basierenden Systemen zugreift. Sie dient der Verschlüsselung von Daten.
/proc/meminfo
-> macht schicke Graphen unter Monitoring
Grüße
Markus
Hallo, gute Anleitung. 🙂
Hinweis: open_basedir nicht auf „none“ ändern, das ist zwar zielführend, aber nicht sicher 😉
einfach den neuen Pfad hinzufügen, also:
{WEBSPACEROOT}{/}{:}{TMP}{/}:/mnt/data
diese beiden Pfade sollten auch noch mit da hinein:
/dev/urandom
-> Die zeichenorientierte Gerätedatei /dev/urandom ist eine Gerätedatei für Kryptografie-Dienste, die auf generierte Zufallszahlen in Unix basierenden Systemen zugreift. Sie dient der Verschlüsselung von Daten.
/proc/meminfo
-> macht schicke Graphen unter Monitoring
Grüße
Markus
Danke.. Werde es mal einpflegen
Danke.. Werde es mal einpflegen
Danke für den Hinweis mit dem open_basedir. Allerdings vermute ich, das das Datenverzeichniss in
„/var/www/nextcloud/config/config.php“
durch die Zeile
‚datadirectory‘ => ‚/var/www/nextcloud/data‘,
festgelet wird. Ohne Anpassungen hier wird das nicht so wirklich funktioniert
Hallo, das stimmt. Das wird durch diese Zeile angegeben.