Come Creare Una Perfetta Copia Locale del tuo Blog

...una sandbox dove sperimentare in piena libertà!

lego-clone-trooper

Anche se a prima vista potrà sembrare complicato, replicare in maniera speculare l’installazione di un blog in WordPress è solo questione di pochi, semplici passi.

Se vorrai seguirmi nelle prossime righe, sarai rapidamente in grado di configurare una copia locale del blog che attualmente sfogliano i tuoi lettori. Una copia precisa in ogni minimo dettaglio e che potrà tornarti, credimi, davvero utile nell’ottimizzare e spingere al massimo le tue pagine.

Perché creare una copia locale?

  • Per mantenere una copia di backup
  • Per effettuare in sicurezza modifiche al layout
  • Per testare l’efficacia e il peso di nuovi plugin
  • Per testare l’effetto di operazioni potenzialmente dannose al database

Iniziamo? ;)

Di cosa hai bisogno?

Avrai bisogno di:

  • una copia aggiornata della cartella del tema (wp-content/themes/[nome-tema-attivo])
  • una copia aggiornata della cartella “uploads”
  • una copia aggiornata della cartella “plugins”
  • una copia aggiornata del database in uso (file .sql o .sql.gz)
  • una copia di WAMP (per Win) o MAMP (non pro) (per OS X)

1. Copia dei file del tema e delle cartelle sensibili

Il punto di partenza sarà copiare la cartella stessa del tema. Se non sai dove risiedano i file del tema attivo, puoi seguire la dicitura indicata sotto il pannello “Aspetto” >> “Temi” da dashboard “Tutti i file di questo tema sono posizionati in: percorso“.

Successivamente avrai bisogno di copiare altre due cartelle decisamente importanti per la vita del tuo blog: “wp-content/uploads” e “wp-content/plugins.” Nella prima sono contenuti tutti i file che hai caricato nel tempo associandoli ad ogni post (come le immagini, ad esempio). Nella seconda sono presenti tutti i plugin (attivi o meno) che il tuo blog utilizza e presenta in dashboard nella pagina “Plugin”.

Nota: Compatibilmente con l’installazione di altri particolari plugin (gestori di banner in primis), potrebbero essere presenti ulteriori cartelle all’interno di “wp-content” da copiare allo stesso modo.

2. Esportare il database

Il metodo più semplice per disporre di un backup costantemente aggiornato del database del proprio blog è quello di installare sin dai primi giorni di vita il plugin WP-DB-Backup. È uno di quei pochi plugin essenziali a cui davvero non potrei rinunciare.

Con qualche semplice click potrai decidere se salvare una copia compressa dell’intero database direttamente sull’FTP oppure spedirla ad un indirizzo e-mail. È anche possibile decidere quali tabelle ignorare rendendo il backup più leggero e maneggevole (evitando nel caso di portarsi dietro tabelle inutilizzate da plugin che si è deciso di abbandonare).

Neanche a dirlo, una buona via di mezzo consiste nello spedire l’intero backup giornaliero ad un indirizzo di posta (magari Gmail), configurando sul client un semplice filtro che archivi il messaggio in entrata assegnandogli un’opportuna etichetta. È un ottimo modo di mantenere backup “invisibili”, sempre disponibili e che non pesino sulla inbox globale!

2.1 Esportazione manuale

Questo è probabilmente il metodo più veloce e semplice per mettere a sicuro il proprio database da spiacevoli contrattempi. È naturalmente possibile, per chi se la senta, effettuare l’esportazione manuale del file .sql direttamente da phpMyAdmin. Si tratta però di un’operazione estremamente delicata (per non dire rischiosa se non hai ben chiaro ciò che stai facendo); per ulteriori informazioni puoi leggere la dettagliata pagina sul Codex di WordPress.

3. Configurare una sandbox locale

Ora non dovrai fare altro che configurare una determina area della tua macchina locale per ospitare un’installazione di WordPress in tutto e per tutto simile a quella online.

Quello che faremo sarà:

  • Scaricare MAMP o WAMP e attivarlo come una normale applicazione
  • Creare un nuovo database (ed eventualmente un nuovo utente con privilegi) da phpMyAdmin
  • Scaricare una versione aggiornata di WordPress
  • Copiare all’interno di MAMP/WAMP i file di WordPress e procedere con l’installazione
  • Copiare al posto giusto i file del tema e le cartelle “uploads” e “plugins”

WAMP (Windows, Apache, MySQL and PHP) e MAMP (Mac, Apache, MySQL and PHP) sono i due migliori amici di chi desideri creare una zona di test sicura e protetta sulla propria macchina locale senza dover installare e configurare separatamente ogni componente di cui sopra.

3.1 Utenti Windows

Gli utenti Windows dovranno utilizzare WAMP per creare la sandbox. Gli amici di WordPress Italy hanno tradotto una fantastica guida che affronta tutte le piccole modifiche necessarie a configurare correttamente Apache e MySQL sulla tua macchina.

3.2 Utenti Mac

Con MAMP su OS X invece le cose filano via molto più lisce: una volta scaricato il .dmg (di MAMP in versione gratuita, non MAMP Pro che è invece a pagamento) sarà sufficiente scompattarlo e trascinare Mamp.app tra le applicazioni.

All’interno di “Mamp” sarà creata una sottocartella “htdocs” dove potremo depositare i file di installazione di WordPress. Lanciando Mamp.app si aprirà automaticamente una finestra del browser da cui potremo accedere a phpMyAdmin e creare il database di supporto.

Potremo così configurare WordPress usando il nome del database appena creato e l’utente “root” conpassword “root”. Semplice, no?

4. Importare il database

Ora disponiamo di una vera e propria sandbox locale in grado di eseguire tutti i nostri progetti basati su PHP e MySQL in piena sicurezza. Se tutto è andato per il verso giusto abbiamo anche installato WordPress e copiato i file del tema (più le cartelle uploads e plugin) al giusto percorso.

Manca solo un aspetto: (ri)popolare il database dei post così come appaiono attualmente online! :D

Ed ecco che torna utile quel WP-DB-Backup di cui parlavamo prima. ;)
Recuperiamo il backup effettuato dal plugin e teniamolo a portata di mano sul desktop.

Apriamo nuovamente phpMyAdmin e selezioniamo nella colonna di destra il database che abbiamo assegnato al nostro blog. Scegliamo quindi “Importa” dal menù di navigazione in alto nella porzione destra del pannello e tramite “Sfoglia…” andiamo a indicare il file di backup.

Per evitare che il processo di importazione termini bruscamente dopo un periodo di tempo limitato, è opportuno deselezionare la spunta sotto “Importazione parziale”. Clicchiamo dunque “Esegui” e… prendiamoci un caffè! :D Per i backup più corposi potrebbe essere necessario lasciar macinare la pagina per qualche minuto.

4.1 Correzioni al database

Prima di accedere nuovamente al blog sarà necessario correggere i parametri “home” e “siteurl” non combacianti nel database importato. È possibile modificare questi valori in maniera molto rapida da “wp-config.php”, “functions.php” o direttamente nel database agendo da phpMyAdmin. Tra parentesi, questo è un trick che è sempre bene conoscere per gestire alcune situazioni spinose.

Una volta modificati questi parametri potremo loggarci alla versione locale del nostro blog avendo cura di controllare la corretta attività di tutti i plugin installati.

Note finali

Come puoi immaginare questa non vuole essere una guida definita all’argomento, quanto piuttosto un buon punto di partenza per cominciare a valutare seriamente la possibilità di mantenere una copia del proprio blog in locale per qualunque necessità. Ci sono mille modi di affrontare la questione e mille diverse sfumature per affrontare casi particolari, tutte ugualmente valide.

Spero di averti lasciato con l’acquolina in bocca ;)
Buona sperimentazione!

foto: bfishadow

scritto da Francesco Gavello il 14 aprile 2010 | 14 commenti
in: Tool e Risorse

Continua a leggere

Share The Love!

Aiuta FrancescoGavello.it a crescere e ad avere sempre più articoli di qualità!

14 Commenti

Lo sapevi che tutti i link sono NoFollow free ?

  1. Giovanni ha detto:

    E gli utenti Linux invece sanno già come fare per installare Apache, MySql e PHP :) Scherzi a parte, volevo segnalare un programma utile in questo scenario, e cioè SyncBack, per sincronizzare fra la copia in locale e quella online. Chiaramente non funziona a livello di database.

    Rispondi
  2. Ho trovato il tuo articolo molto interessante, e l’ho messo tra i miei preferiti… mi tornerà molto utile. Grazie!

    Rispondi
  3. Luigi ha detto:

    Complimenti veramente un articolo utile!

    Rispondi
  4. stefano ha detto:

    Ciao,
    ma lo stesso lavoro (sotto Win) si può fare anche con Xampp? C’è qualche differenza tra quest’ultimo e il software da te citato?

    Grazie mille

    Rispondi
  5. Giovanni ha detto:

    Xampp e Wamp sono equivalenti in questo caso, così come sarebbe equivalente un altro pacchetto preconfezionato, EasyPHP.

    Rispondi
  6. Paolo ha detto:

    Ottimo articolo Francesco… veramente interessante. Ti volevo chiedere, ci sono limitazioni di grandezza per importare il database.. te lo chiedo perchè avevo letto da qualche parte che con EasyPHP ad esempio potevi importare un DB max di 2 o 3 Mb. Se così fosse anche con il programma che suggerisci non potrei mettere il mio Blog in locale….

    Rispondi
  7. Francesco Gavello ha detto:

    Ciao Paolo,
    per quanto ne sappia, con il metodo sopra indicato non c’è un limite massimo di dimensione del DB. Quando lo importi (a prescindere dal pacchetto globale MAMP, WAMP o XAMPP che hai usato) in phpMyAdmin ricordati di deselezionare la spunta “importazione parziale” come indicato nel post.

    L’unico rischio è infatti che l’importazione non si interrompa per eccesso di dimensione del DB, quanto piuttosto per il timeout dell’operazione che si protrae troppo a lungo (ma anche se così fosse, ricaricando lo stesso file riprenderebbe da dove interrotto).

    Rispondi
  8. Paolo ha detto:

    Ok Grazie Francesco… ci proverò… A presto

    Rispondi
  9. stefano ha detto:

    Ma una copia locale puo’ venire vista anche da terzi o solo da me?

    Rispondi
  10. Giovanni ha detto:

    @Stefano: se il tuo computer è direttamente collegato ad Internet, oppure se il router inoltra il traffico sulla porta 80 del tuo computer, e non ci sono firewall software in mezzo, anche gli altri potranno vedere il sito, a patto che riescano ad indovinare il tuo IP.

    Rispondi
  11. Fabio Angelo ha detto:

    Buongiorno,

    è possibile utilizzare la medesima tecnica anche per trasferire il mio blog su un nuovo dominio e nuovo database?

    Buona Giornata.

    Rispondi
    • Francesco Gavello ha detto:

      Ciao Fabio,
      non è necessario in questo caso affrontare tutti questi step (anche se come puoi immaginare, in caso di problemi, è bene avere una copia del blog completamente funzionante in locale con la quale coprirsi le spalle).

      Esiste un modo molto più semplice di spostare i contenuti di un blog da e verso un nuovo dominio. Sotto al pannello “Strumenti” puoi esportare (e importare) un WXR di massimo 2MB contenente articoli, pagine, post, commenti, campi personalizzati e quant’altro. Dovrai comunque in questo caso portare con te manualmente i file del tema, i plugin ed eventuali file extra presenti nella tua installazione.

      Una volta importato il file su un nuovo dominio dovrai correggere i percorsi interni al database per farli puntare all’URL corretto. Puoi usare (con molta cautela) il plugin Search & Replace che ti permette di fare tutto ciò -senza undo, occhio!- senza mettere mano alle query del db. Il caso più comune è quello di avere i percorsi delle immagini interne ai post che puntano ancora al vecchio hosting, o contenuti audio/video di pagine interne che non pescano più i file corretti.

      Rispondi

Lascia un commento

Anteprima commentatore

Personalizza il tuo avatar!
Vai su gravatar.com e carica quello che preferisci!

I commenti sono modificabili entro 5 minuti dal loro inserimento.
Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>