Effettuare frequenti backup è una precauzione essenziale per la sicurezza del proprio sito. Quando si tratta di un sito realizzato con Joomla il backup deve riguardare sia il database che i file che si trovano nella cartella dove si è installato il CMS e in tutte le sottocartelle.
Per questo motivo sono nate diverse estensioni che ci permettono di fare il backup del proprio sito direttamente dall'area di amministrazione di Joomla. Una delle più complete e conosciute è JoomlaPack.
In questo articolo si prenderanno in esame le caratteristiche fondamentali del prodotto e si vedrà come utilizzarlo per effettuare un salvataggio e successivo ripristino del proprio sito.
Pannello di Controllo
Una volta installato il componente, un Pannello di Controllo con icone ci darà accesso a tutte le funzioni:
- Gestione profili
- Configurazione
- Esclusione file
- Esclusione directory
- Salta contenuto directory
- Definizione database multipli
- Esclusione tabelle del database
- Backup ora
- Log
Gestione profili
Un profilo è un insieme di parametri di configurazione a cui è attribuito un nome in modo che sia possibile salvare un numero a piacere di configurazioni di backup.
Potremo ad esempio creare un profilo Giornaliero che effettua un backup del solo database e delle cartelle il cui contenuto è aggiornato più frequentemente, ed un profilo Settimanale che effettua un backup completo di tutti i file e database.
Configurazione
I parametri sono suddivisi in "pannelli" espandibili. Il pannello Basic contiene le opzioni essenziali per il funzionamento del componente:
La prima opzione da impostare è la cartella di destinazione degli archivi di backup. Il valore predefinito è
[cartella Joomla]administratorcomponentscom_joomlapackbackup
Dove [cartella Joomla] rappresenta il percorso sul server alla cartella dove si è installato Joomla.
Bisogna tenere presente che un backup contiene file critici per la sicurezza del sito, ad esempio il file configuration.php con i dati per l'accesso al database (host, nome database, nome utente e password): per proteggere la cartella da accessi indesiderati vi viene inserito un file .htaccess con questo contenuto
deny from all
Per avere maggiore sicurezza si può specificare una percorso fuori dalla propria Document Root, la cartella cioè che contiene i file pubblici del sito.
Possiamo poi specificare il livello minimo di accesso per l'utilizzo del componente: si può scegliere se riservare i backup al solo Super Administrator o anche agli utenti Administrator e Manager.
Le impostazioni viste fino ad ora sono comuni a tutti i profili di configurazione. I parametri che vedremo da ora in poi sono salvati nel profilo corrente selezionato dalla lista disponibile nel Pannello di Controllo.
Espandendo il pannello Impostazioni di base si può configurare il tipo di backup, il formato del nome dei file contenenti i backup, e il livello del log.
I pannelli Impostazioni avanzate, Numeri magici e Opzioni mysqldump contengono opzioni di configurazione utilizzabili per il "controllo fine" dell'operatività di JoomlaPack: nella maggioranza dei casi i valori predefiniti possono essere lasciati invariati.
Esclusione file
Questa funzione ci consente di escludere dal backup determinati file.
La videata è divisa in due parti. Un click su una cartella mostra sulla parte destra l'elenco dei file in essa contenuti: per escludere un file dal backup basta un click sul nome, un altro click lo reinclude.
Esclusione directory
Questa funzione ci consente di escludere dal backup determinate cartelle.
La videata presenta un elenco delle directory: un click sul nome di una cartella mostra le eventuali sottocartelle, un click su Cambia esclude / include la cartella.
Salta contenuto directory
Talvolta si può avere la necessità di includere nel backup una cartella, ma non il suo contenuto.
Con questa opzione possiamo includere una cartella nel backup, ma escludere il suo contenuto (file e sottocartelle). Quindi la procedura di ripristino creerà solo la cartella vuota.
La videata ci mostra un elenco delle cartelle: con un click su Cambia file escludiamo dal backup i file all'interno della cartella, mentre con Cambia directory escludiamo le sottocartelle.
Definizione database multipli
Quando si utilizzano con Joomla script (ad esempio un forum) che utilizzano un proprio database è necessario poter includere nel backup questi database aggiuntivi.
Premendo il pulsante Nuovo ci viene presentato un modulo per l'inserimento delle credenziali di accesso al database aggiuntivo. È possibile verificare la connessione al database prima di salvare. Si possono aggiungere un numero a piacere di database.
Esclusione tabelle del database
Con questa funzione possiamo escludere dal backup singole tabelle del database principale, mentre non abbiamo questa possibilità per i database aggiuntivi.
Una tabella si esclude / include con un click sul nome.
Backup ora
Terminata la configurazione si utilizza questa opzione per avviare il backup.
Ci viene richiesto di selezionare il profilo di configurazione da utilizzare per il backup e di inserire una descrizione ed eventuali note che saranno associate all'archivio compresso. Da questo momento in poi poi il procedimento è del tutto automatico
Amministrazione dei file del backup
Con questa funzione possiamo consultare l'elenco sia dei backup completati con successo che di quelli terminati con una condizione di errore.
I pulsanti della barra strumenti ci consentono di scaricare l'archivio compresso, cancellarlo, consultare le note ed ovviamente effettuare il ripristino.
Ripristino dal backend di Joomla
Spuntata la casella di selezione del backup che si vuole ripristinare e premuto il pulsante Ripristina, ci viene presentata una password di cui si deve prendere nota perché sarà indispensabile per completare l'operazione. Si può quindi fare click sul link Avvia Ripristino.
Si apre una nuova schermata dove dobbiamo inserire la password annotata precedentemente.
Una volta autenticati ci vengono presentate diverse opzioni.
Nella maggior parte dei casi sarà sufficiente premere START lasciando i valori preimpostati. Il pacchetto compresso contenente il backup viene estratto dallo script di ripristino (kickstart.php) e i file copiati nella cartella di destinazione sovrascrivendo i vecchi file.
Nel caso la cartella di destinazione non sia scrivibile si possono compiere le operazioni di copia file via FTP. Bisognerà selezionare Use FTP come Extraction Method ed inserire host FTP, nome utente, password e cartella di destinazione.
Ci viene poi presentata la schermata da cui effettuare il ripristino vero e proprio.
Il link click here to open JoomlaPack Installer apre una nuova finestra ed avvia una procedura che non è necessario seguire passo passo perché del tutto analoga a quella dell'installazione di Joomla. Con alcune ovvie eccezioni.
- I dati di accesso al db sono già impostati perché sono quelli del sito di cui abbiamo effettuato il backup.
- Non è possibile installare i dati di esempio.
- Quando viene chiesta la password di accesso è opportuno lasciare il campo vuoto in quanto la password sarà la stessa del sito di cui di cui abbiamo effettuato il backup.
Completati tutti i passi del ripristino bisogna ricordarsi di tornare alla pagina del Kickstart e selezionare il link click here to activate your .htaccess
Ripristino in assenza di una precedente installazione
La procedura di ripristino appena descritta viene avviata, come si è visto, direttamente dal backend di Joomla. Questo non è sempre possibile e in questi casi si può procedere in questo modo.
Per prima cosa con gli strumenti messi a disposizione dall'host si creano un database ed un utente MySQL, si assegnano all'utente i privilegi sul database e si prende nota di host, nome database, nome utente e password.
Poi si scarica il pacchetto dell'utilità per il ripristino Kickstart dall'area download del sito di JoomlaPack. Si estrae dal pacchetto il file kickstart.php e con un programma FTP si effettua il caricamento sul server di questo file e dell'archivio compresso del backup da ripristinare.
Entrambi i file vanno inseriti nella cartella dove si intende effettuare il ripristino: la Document Root o una cartella al suo interno qualora si voglia installare Joomla in una sottocartella.
Infine si esegue kickstart.php dal browser. Se ad esempio il nostro dominio è www.vostrosito.it ed abbiamo inserito i file da ripristinare in una sottocartella chiamata joomla, dovremo scrivere nella barra indirizzi del browser
http://www.vostrosito.it/joomla/kickstart.php
Avviato Kickstart, la procedura da seguire è la stessa vista per il ripristino dal backend. Quando vengono chiesti i dati per la connessione al database inseriremo quelli che ci siamo annotati in precedenza.
Ripristino senza Kickstart
Kickstart potrebbe non funzionare sui server con Safe Mode On oppure quando la Document Root sia non scrivibile. Se si incontrano questi problemi è necessario decomprimere l'archivio del backup e trasferire il contenuto nella cartella di destinazione con un programma FTP.
Ponendo che dominio e cartella di destinazione siano quelli dell'esempio precedente, si avvia la procedura di ripristino inserendo nella barra indirizzi del browser
http://www.vostrosito.it/joomla/installation/index.php
Stesso dominio, ma Document root come cartella di destinazione
http://www.vostrosito.it/installation/index.php
Attenzione a non inserire semplicemente http://www.vostrosito.it/ come faremmo in una normale installazione di Joomla perché la procedura non funzionerebbe.
Da questo punto in poi non cambia niente rispetto a quanto descritto in precedenza.