Quando si utilizza Nextcloud, uno degli aspetti cruciali della configurazione riguarda la gestione dei dati. Per impostazione predefinita, Nextcloud archivia i file degli utenti in una directory denominata “data” situata nel percorso specificato durante l’installazione. Tuttavia, può emergere la necessità di spostare questa directory per motivi di sicurezza, prestazioni o semplicemente per adeguarsi a una diversa struttura del sistema.
Prima di procedere con lo spostamento della directory “data”, è importante comprendere le implicazioni di questa operazione e pianificare accuratamente ogni passaggio per evitare interruzioni del servizio o la perdita di dati.
PREREQUISITI
Installazione e Configurazione base di Nextcloud Community Edition su Ubuntu Server 24.04
SPOSTAMENTO CARTELLA
Per semplicità, memorizziamo tutti i percorsi rilevanti in variabili da utilizzare in seguito. Sostituire i percorsi in modo che corrispondano alla tua configurazione.
NCDIR=’/path/di/nextcloud’
OLDDATA=’/vecchio/path/dei/data’
NEWDATA=’/nuovo/path/dei/data’
Mettere Nextcloud in Maintenanche Mode con il comando:
0 |
sudo -u www-data php /var/www/html/occ maintenance:mode --on |
Dovremmo visualizzare il seguente output:
0 |
Maintenance mode enabled |
Copiare i dati di Nextcloud nella nuova posizione.
Il comando seguente copia l’intera directory, inclusi il proprietario e le modalità, quindi non è necessario creare in anticipo la nuova directory, modificare la proprietà o le autorizzazioni.
0 |
sudo cp -a /OLDDATA ./NEWDATA |
Modificare quindi il file config.php inserendo il nuovo path dei dati
Individuare la riga
0 |
'datadirectory' => '/OLDDATA', |
quindi sostituirla con il nuovo path
0 |
'datadirectory' => '/NEWDATA', |
Chiudere e salvare il file di configurazione.
MODIFICHE AL DATABASE
Creare un dump/backup del database. A seconda del metodo di autenticazione del database dell’utente root, potrebbe essere necessario aggiungere l’opzione () per ottenere una richiesta di password.
Sostituire con qualsiasi directory, adatta a mantenere un backup del tuo database.
Posizionarsi nella cartella Media con il comando
0 |
cd /media/ |
Quindi creare la cartella backup con il comando
0 |
mkdir backup |
Effettuare il backup del database con il comando:
0 |
sudo mysqldump -A > /media/backup/dump.sql |
Regolare la tabella del database in modo che rifletta la nuova posizione della cartella dati.
Accedere al database con il comando:
0 |
mysql |
Quindi eseguire i comandi elencati di seguito:
0 1 2 3 4 5 |
dbname=$(sudo awk -F\' "/'DBNAME'/{print \$4;exit}" "/NEWDATA/config/config.php") dbuser=$(sudo awk -F\' "/'DBUSER'/{print \$4;exit}" "/NEWDATA/config/config.php") dbpass=$(sudo awk -F\' "/'DBPASSWORD'/{print \$4;exit}" "/NEWDATA/config/config.php") #echo "$dbname $dbuser $dbpass" mysql -u"$dbuser" -p"$dbpass" -e "update $dbname.oc_storages set id='local::$NEWDATA/' where id='local::$OLDDATA/';" unset -v dbname dbuser dbpass |
Disabilitare la modalità di manutenzione con il comando:
0 |
sudo -u www-data php /var/www/html/occ maintenance:mode --off |
Dovremmo visualizzare il seguente output:
0 |
Maintenance mode disabled |
TEST E PULIZIA
Successivamente, testare attentamente Nextcloud, i file all’interno dell’interfaccia utente, le condivisioni, i tag, i commenti, ecc.
Se tutto funziona correttamente e Nextcloud gestisce effettivamente i file nella nuova posizione, è possibile rimuovere i backup con i seguenti comandi:
0 1 |
sudo rm -R "$olddata" rm /path/to/backup/dump.sql |
0 commenti