Possono accadere incidenti!

Molto tempo, impegno e denaro vengono investiti nella creazione e manutenzione di un sito web. È un peccato perdere tutto a causa di un incidente imprevisto. Il backup è semplice per i siti di dimensioni medie. I siti di grandi dimensioni o specialistici probabilmente necessitano di consigli specialistici.

Strategia di backup

I siti web Joomla! sono composti da due parti:

  • I File presenti nell'albero della cartella radice di Joomla. Tra un aggiornamento e l'altro i file potrebbero non cambiare molto, poiché sono principalmente legati al codice. Potrebbero essere aggiunte nuove immagini e documenti e forse personalizzazioni dei template.
  • Il Database, situato altrove sul server host. Il database contiene la maggior parte dei contenuti del sito e può cambiare molto quando gli utenti aggiungono o modificano contenuti.

Ogni proprietario di un sito ha bisogno di una strategia di recupero del sito in caso di disastro. Un consiglio comune nei forum è di ripristinare l'ultimo backup. Quindi decidi cosa eseguire il backup e con quale frequenza.

I servizi di hosting spesso eseguono istantanee dei siti dei clienti e potrebbero essere in grado di ripristinare un sito alle condizioni di ieri, della settimana scorsa o del mese scorso. Ma ciò potrebbe coprire tutto l'account, come la posta e altri pacchetti software. Non fare affidamento su questo per il recupero di un sito Joomla.

Questo articolo descrive alcuni metodi comuni e gratuiti per eseguire il backup dei siti web Joomla. Puoi scegliere di pagare per strumenti e/o servizi di backup, ma non viene trattato qui.

Akeeba Backup

Se utilizzi il menu Amministratore per navigare in Sistema / Installa estensioni / Installa dal web, il primo elemento della lista è Akeeba Backup. È il primo della lista perché ha il maggior numero di recensioni positive. Inutile dire che ha una storia molto lunga e una reputazione impeccabile. Esiste una versione gratuita e una versione a pagamento con alcune funzionalità extra. Questo è un modello di business comune per gli sviluppatori di estensioni. Non preoccuparti! La versione gratuita è facile da usare, non presenta distrazioni ed è sufficiente per la maggior parte dei siti. Cosa fa:

  • Akeeba Backup analizza la tua installazione per determinare le impostazioni ottimali per creare un file di backup.
  • Crea un file di backup composito contenente tutti i file del sito web e il contenuto del database.
  • Archivia i backup con data e ora per gestirli, scaricarli o eliminarli a seconda delle necessità.
  • Il download è un file .jpa. Si consiglia di utilizzare FTP per eseguire il download.
  • Esiste un'applicazione separata, Akeeba Kickstart, per decomprimere il file .jpa. Tutto questo è descritto nella pagina Gestione backup di Akeeba.
  • Dopo la decompressione, il sito viene installato con un installatore Akeeba in una sequenza simile a un'installazione di Joomla.
  • L'installatore modifica la configurazione per il ripristino in una posizione diversa e richiede i nuovi dettagli del database.

L'unico problema che potrebbe verificarsi è che il file di backup potrebbe essere molto grande e potresti superare la quota di spazio file se permetti ai backup di accumularsi.

Provalo! Non costa nulla e richiede minuti anziché ore.

Strumenti dell'host

La maggior parte dei servizi di hosting fornisce strumenti di backup. Esempio:

cPanel

Nella pagina Strumenti, l'elemento File ha un link Backup. La pagina Backup ha tre opzioni:

  • Backup completo: un backup completo crea un archivio di tutti i file e la configurazione del tuo sito web. Puoi usare questo file per spostare il tuo account su un altro server o per conservare una copia locale dei tuoi file.
  • Backup parziale
    • Scarica un backup della directory home
    • Scarica un backup del database (con una lista di database)

Sono disponibili anche opzioni per il ripristino di ciascuno di questi tipi di backup. Potrebbero essere disponibili anche opzioni per produrre backup automatici.

Le singole cartelle possono essere compresse in vari formati adatti al download usando il File Manager di cPanel. Un database può essere esportato usando phpMyAdmin. Nessuno di questi metodi è trattato qui.

Strumenti locali

Ci sono occasioni in cui potresti aver bisogno di eseguire il backup di un sito localmente su un portatile o un computer da ufficio. Ad esempio, potresti voler copiare un sito da/verso un servizio di hosting da/verso il tuo computer locale. Se hai un'installazione Joomla locale puoi usare Akeeba Backup come descritto sopra. Altrimenti, puoi eseguire il backup del database e dei file Joomla separatamente.

mysqldump

Se stai usando MySQL è probabile che tu abbia a disposizione lo strumento da riga di comando mysqldump. Prova questo comando:

/usr/local/mysql/bin/mysqldump -u root -p dbname > ~/tmp/dbname-dump.sql

dove root è un utente che ha accesso al database e dbname è il nome del database che desideri esportare. Potrebbe esserti richiesto di inserire la password.

Potresti anche inviare l'output in pipe a un comando zip o gzip:

/usr/local/mysql/bin/mysqldump -u root -p dbname | gzip > ~/tmp/dbname-dump.sql.gz

phpMySQL

Per fare lo stesso lavoro con la tua installazione locale di phpMyAdmin, aprilo e clicca il database che desideri esportare. Clicca il pulsante Esporta in alto nella schermata. Per impostazione predefinita, l'esportazione Rapida usa SQL come formato di output. Clicca il pulsante Esporta per provare. Ti verrà chiesto di indicare un file di output.

Se selezioni l'opzione Personalizzata ti consente di scegliere un'opzione di compressione dell'output, nessuna, zip o gzip. Prova un'esportazione compressa e clicca il pulsante Esporta.

Devi verificare il database esportato. Crea un nuovo database, magari animporttest in modo che sia vicino alla cima della tua lista di database. Con il nuovo database vuoto selezionato usa il pulsante Importa in alto nella schermata. Nel modulo di importazione usa Sfoglia per trovare il file che hai esportato e poi clicca il pulsante Importa.

Ne è valsa la pena di verificare. L'esportazione gzip ha esportato solo tre tabelle. L'esportazione zip ha funzionato correttamente. Questo era evidente dalle dimensioni del file esportato. Il file zip era 4Mb ma il gzip era solo 75Kb. Deve esserci un bug da qualche parte!

Zip e Gzip

Questi strumenti da riga di comando sono piuttosto diffusi e sono spesso usati anche all'interno di interfacce grafiche. Ad esempio, nel Finder su Mac posso selezionare una directory contenente un sito Joomla, fare clic destro e selezionare Comprimi. Ci vogliono pochi secondi per creare un archivio zip e questo non influisce sull'originale.

Ripristino di un backup

Consiglio comune dai Forum di Joomla:

  • Non ripristinare un backup sopra a un sito difettoso.
  • Svuota il tuo database eliminando tutte le tabelle oppure crea un nuovo database e assegnagli un utente database.
  • Elimina tutte le directory e i file all'interno della directory radice di Joomla.

Akeeba Quickstart

Se hai usato Akeeba Backup allora usa Akeeba Quickstart per ripristinare il tuo backup.

  • Consulta il Video Tutorial.
  • Scarica Akeeba Quickstart (PDF 94Kb) gratuitamente.
  • Verifica che il sito ripristinato funzioni correttamente!

Akeeba Quickstart ripristina sia il database che i file di Joomla. Altri metodi ripristinano il database e i file di Joomla separatamente.

Ripristino del database

Se disponi di un backup del database è meglio usare strumenti di sistema per ripristinarlo. phpMyAdmin può installare database di dimensioni moderate ma potrebbe esaurire il tempo o la memoria su database di grandi dimensioni.

Se usi cPanel su un servizio di hosting puoi importare un database dalla pagina Backup / Restore. Questo non viene descritto qui.

Se hai accesso alla riga di comando, sia su un servizio di hosting che sul tuo laptop o computer desktop locale, puoi usare la riga di comando mysql per effettuare l'importazione. Carica l'archivio del database in una posizione temporanea esterna all'albero web ed espandilo in modo da ottenere un nome file che termina in .sql. Quindi usa il seguente comando:

mysql -u dbusername -p -D dbname < db_dump_file.sql

Sostituisci dbusername, dbname e db_dumo_file.sql con i valori reali per il tuo sito. Potrebbe esserti richiesta una password per il nome utente del database. Potrebbe volerci un po' di tempo ma dovrebbe completarsi.

Ripristino dei file

Si tratta semplicemente di espandere il file compresso dell'ultimo backup. Tranne per il fatto che a volte non è così semplice. A seconda del sistema operativo e del metodo scelto, le directory e i file archiviati potrebbero apparire tutti nella directory corrente o in una nuova directory, oppure potrebbe esserti chiesto di indicare una directory di destinazione. Finché non sai cosa fa il tuo sistema, potrebbe essere meglio mettere l'archivio in una directory vuota, espanderlo lì e poi spostare la directory contenitore dove deve essere.

Alcuni utenti preferiscono usare SFTP per caricare i file su un servizio di hosting a partire dai file dell'archivio estratti localmente. Ci sono migliaia di file quindi questo richiede parecchio tempo.

Nella radice del tuo sito c'è un file chiamato configuration.php. Contiene il nome del database e le credenziali di accesso. Assicurati che siano corrette per il tuo sito ripristinato. Il file ha i permessi di accesso impostati a 444. Devono essere cambiati a 644 in modo da poter salvare eventuali modifiche necessarie.

Se tutto va bene il tuo sito ripristinato dovrebbe funzionare e trovarsi nello stato in cui era quando è stato effettuato il backup.

Copia di un sito

Ci sono diverse buone ragioni per copiare un intero sito web da un server a un altro. Ad esempio, gli esperti del forum spesso raccomandano agli utenti di creare una versione locale di un sito su un laptop o computer desktop a scopo di test, ad esempio per provare nuove estensioni o design. A volte una persona decide di passare a un nuovo servizio di hosting per motivi di costo o prestazioni.

Qualunque sia il motivo, il processo è relativamente semplice: effettua un backup sul sito originale e ripristinalo sul sito di destinazione. Ci sono alcuni problemi a cui prestare attenzione:

  • Assicurati che l'host di destinazione soddisfi i Requisiti Tecnici minimi di Joomla. Questo di solito significa le versioni di Server, PHP e Database
  • Dopo l'installazione potresti scoprire che alcuni moduli essenziali non sono stati abilitati. La maggior parte dei servizi di hosting risolverà tali problemi su richiesta.