In questi giorni visto tutto l’allarmismo che è stato fatto circa qualche pecca di sicurezza dell’ultima versione di WordPress, stufo di dover aggiornare ogni volta manualmente la mia installazione di WordPress andandomi a scaricare la nuova versione, decomprimendola, disattivando tutti i plugin, facendo backup e contro backup, cancellando i vecchi file e ricaricando i nuovi, ho deciso di seguire i consigli di Daniele e Federico sulla comodità di Subversion e ho convertito la mia installazione di WordPress da standard ad aggiornabile via Subversion (svn) per l’appunto.
Ecco quello che di saliente c’è da sapere su questa operazione.
Che cosa serve?
Oltre ad un pò di tempo, un filino di pazienza e come al solito tanta attenzione a non combinare pasticci strada facendo, l’unica cosa che realmente serve è un servizio di hosting che vi permetta un accesso via shell al vostro spazio web più comunemente detto via SSH. In Italia non è molto facile trovare degli hosting provider che offrano tutto ciò sempre che non siate particolarmente fortunati e possiate permettervi un VPS se non addirittura un server dedicato. All’estero ed in particolare negli USA è molto più facile avere questo tipo di accesso al proprio spazio web e giusto per fare qualche nome se siete su Dreamhost come il sottoscritto siete a cavallo perchè avete tutto il necessario per compiere l’ardua impresa.
Prima di iniziare
Un consiglio spassionato, che non vale solo per questa occasione ma ogni qualvolta andate ad aggiornare un qualsiasi CMS, è quello di farvi un backup completo di tutti i file, che potete effettuare via FTP oppure direttamente via SSH (con il comando: cp -rpf blog/ backup_blog/ dove blog/ è la directory dove risiede attualmente il vostro blog e backup_blog è la directory di backup) oltre che del database direttamente dalla dashboard di WordPress (Gestione->Backup) oppure da phpMyAdmin o altre tool che utilizzate per l’accesso al vostro database.
Un’altra cosa importantissima da fare prima di iniziare a fare qualsiasi cosa è disattivare tutti i plugin: ormai nella dashboard di WordPress nella sezione Plugin c’è il pulsantino magico “disattiva tutti i plugin” quindi è un’operazione che vi costa davvero poco e vi consiglio di farla. Se poi una volta aggiornato WordPress ci dovesse essere qualche plugin incompatibile con la nuova versione andandolo a riattivare l’operazione fallirà ed il plugin rimarrà disattivato evitandovi problemi che a volte posso essere anche non poco rognosi.
Effettuiamo la conversione dell’installazione standard a Subversion
Ora che ho la coscienza a posto perchè vi ho avvisato sui rischi che ci sono e su che cosa bisogna fare per avere le spalle coperte, possiamo vedere passo passo cosa bisogna fare via SSH per convertire la propria installazione da standard ad aggiornabile via Subversion.
- Create una nuova directory temporanea dentro la quale ci metterete i file della nuova versione di WordPress
- Utilizziamo i comandi di Subversion per trasferire i nuovi file di WordPress nella directory appena creata
- Copiamo tutti i nostri file e/o cartelle dalla directory della vecchia installazione del blog alla nuova appena creata
- Rinominiamo la directory temporanea creata all’inizio con lo stesso nome della directory attuale del blog
- Avviate lo script di aggiornamento di WordPress e testate che tutto funzioni
Ecco il dettaglio di ciascun punto descritto sopra. Mi raccomando: il carattere “$” che troverete nelle linee sotto non va copiato assieme al resto dei comandi ma sta solo ad indicare che quello che segue è un comando di shell.
Create una nuova directory temporanea e metteteci dentro con Subversione i file della nuova versione di WordPress.
$ mkdir blognew
$ cd blognew
$ svn co http://svn.automattic.com/wordpress/tags/2.5 .
Ovviamente il comando svn co andrà accompagnato dall’indirizzo della release che volete installare. In questo esempio come potete vedere si va ad installare la 2.5 in ogni caso potete fare riferimento a questo indirizzo http://svn.automattic.com/wordpress/tags per sapere qual è l’indirizzo svn della versione che volete installare.
Ora copiate il file .htaccess ed il file wp-config dalla vecchia directory alla nuova directory appena creata.
$ cd ../blog
$ cp -p wp-config.php .htaccess ../blognew
Adesso copiamo i vostri file e/o le vostre cartelle che non sono presenti normalmente in WordPress ma che voi avevate nelle directory della vecchia installazione. Per esempio la cartella immagini o il file wp-pincopallino.
$ cp -rp immmagini wp-pincopallino ../blognew
Ora copiamo tutti i plugin, i temi, le immagini, i file multimediali e tutto ciò che in generale è contenuto dentro /wp-contet/ dalla vecchia directory di installazione alla nuova.
$ cp -rpf wp-content/* ../blognew/wp-content
Ora rinominiamo la nuova directory temporanea con lo stesso nome della directory dove è attualmente installato WordPress in modo da andare ad effettuare l’aggiornamento e la conversione.
$ cd ..
$ mv blog blog-old
$ mv blognew blog
Ora che tutto è a posto non vi resta che andare ad eseguire lo script di update che si trova nella cartella wp-admin/upgrade.php per permettere a WordPress di effettuare l’aggiornamento del database se necessario. Dovrebbe essere tutto a posto, in ogni caso se riscontrate dei problemi potete sempre tornare indietro all’antico rinominando la vecchia directory di installazione in modo da renderla nuovamente attiva con i comandi:
$ mv blog blognew
$ mv blog-old blog
Ora ogni volta che vorrete aggiornare la vostra versione di WordPress vi basterà posizionarvi nella directory dove è installato e lanciare l’aggiornamento via Subversion. Il tutto si può riassumere nei comandi:
$ cd blog
$ svn up
Facile come bere un bicchiere d’acqua vero?
Spero di essere stato sufficientemente chiaro. In ogni caso prima che qualcuno mi faccia qualche cazziatone ci tengo a precisare che non è tutta farina del mio sacco ma ho preso molte informazioni dal Codex anche perchè per questo genere di operazioni è da considerarsi la fonte ufficiale di ogni ispirazione. Per chiarimenti, correzioni ed altro come al solito ci sentiamo nei commenti qui sotto.
2 risposte su “Convertire La Propria Installazione Standard Di WordPress A Subversion (SVN)”
@maurizio
vabbè se me lo chiedi tu vorrà di farò anche uno script in shel per effettuare il tutto in maniere un pò più automatizzata.
Dammi solo qualche giorno di tempo…
bravo!!!
…ma non è che hai voglia di fare un’ piccolo script ssh per automatizzare il tutto? 😉
vabbè ho capito… bastava un no 😀