Creare la cartella di destinazione
sudo mkdir -p /media/pi/SARDO1/sito2
Guida completa e aggiornata con la procedura realmente eseguita su Raspberry Pi:
copia del sito dalla SD al disco esterno, aggiornamento del VirtualHost Apache corretto,
verifica dei permessi, test del sito, eliminazione della vecchia copia dalla SD,
configurazione del mount automatico con fstab e consigli utili per il futuro.
sudo mkdir -p /media/pi/SARDO1/sito2
rsync perché mantiene file, date, permessi e copia anche gli elementi nascosti.
sudo rsync -avh /media/var/www/html/sito2/ /media/pi/SARDO1/sito2/
du -sh /media/var/www/html/sito2
du -sh /media/pi/SARDO1/sito2
www-data, quindi la nuova cartella deve essere leggibile dal servizio web.
sudo chown -R www-data:www-data /media/pi/SARDO1/sito2
apachectl -S
grep -R DocumentRoot /etc/apache2/sites-enabled
000-default.conf, ma a giuseppemontisci.conf.
sudo nano /etc/apache2/sites-enabled/giuseppemontisci.conf
DocumentRoot /media/var/www/html/sito2
DocumentRoot /media/pi/SARDO1/sito2
/var/www, conviene aggiungere un blocco Directory.
/media.
sudo nano /etc/apache2/apache2.conf
<Directory /media/pi/SARDO1/sito2>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Syntax OK, la configurazione è valida.
sudo apachectl configtest
sudo systemctl restart apache2
ls -lah /media/pi/SARDO1/sito2 | head
http://192.168.1.180
sudo rm -rf /media/var/www/html/sito2
/dev/sda1 con filesystem ext4 e UUID specifico.
sudo blkid
UUID="6232f8ab-1dc6-4a59-9df8-fd7f8887c6e3"
sudo nano /etc/fstab
UUID=6232f8ab-1dc6-4a59-9df8-fd7f8887c6e3 /media/pi/SARDO1 ext4 defaults,nofail,x-systemd.device-timeout=10 0 2
nofail evita che il Raspberry resti bloccato in avvio se il disco esterno non è collegato.
fstab, systemd va ricaricato e il mount va testato senza riavvio.
systemctl daemon-reload. Dopo il reload, il mount è risultato corretto.
sudo systemctl daemon-reload
sudo mount -a
df -h
Dopo lo spostamento del sito e la rimozione della vecchia copia:
72%58 GB totali • 40 GB usati • 16 GB liberi
Il sito è ora ospitato sul disco esterno con ampio spazio disponibile:
1,5 TB liberi1,8 TB totali • 260 GB usati • mount su /media/pi/SARDO1
Il VirtualHost corretto è stato aggiornato con successo:
OKDocumentRoot attivo: /media/pi/SARDO1/sito2
Il disco esterno viene montato automaticamente all'avvio:
OKConfigurazione salvata in /etc/fstab
/etc/apache2/sites-enabled/giuseppemontisci.conf.
sudo nano /etc/apache2/sites-enabled/giuseppemontisci.conf
DocumentRoot /media/var/www/html/sito2
sudo apachectl configtest
sudo systemctl restart apache2
Se il disco esterno viene scollegato mentre Apache punta al nuovo percorso, il sito non potrà essere servito correttamente. Per questo è fondamentale il mount automatico e una connessione stabile del disco.
Se nei file PHP o negli script hai scritto manualmente percorsi come /media/var/www/html/sito2,
vanno aggiornati al nuovo percorso /media/pi/SARDO1/sito2.
Le funzioni che leggono o scrivono file sono quelle più sensibili dopo uno spostamento. Verifica sempre cartelle upload, esportazioni, PDF, immagini e file generati dal sito.
Dai controlli Apache è emerso anche un altro percorso ancora sulla memoria principale:
/media/var/www/html/sito1.
In futuro potrai valutare di spostare anche quello sul disco esterno.
Una volta al mese conviene aggiornare il sistema. È una buona abitudine per sicurezza, stabilità e compatibilità del server.
sudo apt update
sudo apt upgrade -y
Ogni tanto verifica rapidamente quanto spazio resta sulla SD e sul disco esterno, così eviti di ritrovarti di nuovo vicino al 95%.
df -h
Se vuoi capire subito cosa occupa più memoria nel Raspberry, usa questo comando. È molto utile per manutenzione e pulizia.
sudo du -xh / | sort -rh | head -20
Se il sito non risponde o vuoi fare un controllo veloce, verifica subito lo stato del servizio Apache.
sudo systemctl status apache2
Ogni volta che modifichi VirtualHost, SSL, alias o cartelle, controlla prima la sintassi e poi riavvia.
sudo apachectl configtest
sudo systemctl restart apache2
Dopo grandi modifiche a dischi, mount o configurazioni web, un riavvio di test è utile per verificare che tutto torni operativo automaticamente.
sudo reboot
Se hai dubbi sul disco esterno, controlla sempre che sia ancora montato correttamente nel punto previsto.
df -h
mount | grep /media
Anche se in questa procedura hai scelto la strada più prudente con copia prima e cancellazione dopo, in futuro conviene pianificare un backup periodico del sito e del database.
sudo rsync -avh /media/pi/SARDO1/sito2/ /media/pi/SARDO1/backup_sito2/