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