WordPress da remoto a locale (computer)
Vuoi trasferire il tuo blog WordPress da remoto (online) a locale (computer) e mantenere tutte le impostazioni, tema e plugin attivi? Allora segui i seguenti passaggi.
1. Installa XAMPP
Per prima cosa devi installare un emulatore di server sul tuo computer, così da poter far girare WordPress in locale. Per far ciò scarica XAMPP (o MAMP se usi un Mac).
Quando farai partire l’installazione, dovrai scegliere in che cartella installare XAMPP. Usane una comoda ed accessibile in quanto WordPress andrà caricato dentro questa cartella. Ad esempio io ho creato la cartella offline nei miei Documenti: C:\Documents and Settings\Robi\Documenti\offline\xampp .
Terminata l’installazione, avvia il server locale e premi i pulsanti Start di Apache e MySql, il risultato dovrebbe essere come questa schermata:
Server attivato 🙂
2. Crea database in locale
Dopo aver avviato il server locale, apri il tuo browser e vai all’indirizzo http://localhost . Se hai installato tutto correttamente ti comparirà la seguente schermata:
Seleziona Italiano e ti ritroverai nel pannello di amministrazione di XAMPP. Nella colonna a sinistra, sotto il menù Strumenti clicca su phpMyAdmin. Ora ti troverai nel pannello di amministrazione di phpMyAdmin, che consente di amministrare i database.
Premi il pulsante Database e senza neanche accorgertene avrai davanti a te la possibilità di creare un database.
Inserisci il nome del database da creare e salvalo da qualche parte (sul blocco note ad esempio), poi clicca sul pulsante Crea.
Nel mio caso ho creato il database wp_robertoiacono.
Se tutto è andato a buon fine, comparirà un messaggio dove ti dice che il database è stato creato. Inoltre nella tabella sotto la zona crea database, comparirà il nome del database che hai appena creato.
3. Scarica i file
Scarica sul tuo computer tutti i file di WordPress dal tuo spazio web via ftp, solitamente si trovano nella root (per intenderci, è la posizione in cui vedi le cartelle wp-content, wp-admin …).
Dove scaricarli?
Ti consiglio di scaricarli direttamente nella cartella che userai per WordPress in locale, quindi, seguendo il mio esempio, crea la cartella nome-cartella-wordpress così da avere C:\Documents and Settings\Robi\Documenti\offline\xampp\htdocs\nome-cartella-wordpress\ e salva il contenuto dello spazio web qui dentro.
. Modifica il file wp-config.php
Apri il file wp-config.php e modifica le informazioni del database in questo modo:
[php]
define(‘DB_NAME’, ‘wp_robertoiacono’);
/** Nome utente database MySQL */
define(‘DB_USER’, ‘root’);
/** Password database MySQL */
define(‘DB_PASSWORD’, ”);
[/php]
Sostituisci al posto di wp_robertoiacono, il nome del database che hai creato in locale (e che hai salvato da qualche parte).
4. Backup database
Crea il file di backup del tuo database remoto (online), o sfruttando il cPanel/Plesk fornito dal tuo hosting provider, oppure tramite un qualsiasi plugin di backup, come WP DB-Backup, che permette di creare un backup dell’intero database velocemente. Vai su Strumenti > Backup > e seleziona tutte tabelle (quindi spunta tutte le caselle).
Elimina questo plugin al termine delle operazioni se non ti serve (a quanto pare, rallenta un po’ il caricamento di WordPress).
Dovresti ottenere un file .sql o .sql.gz o .zip.
5. Modifica il file di backup
Ora devi sostituire tutti gli indirizzi del tuo blog online con gli indirizzi in locale.
Se il file di backup è compresso (.sql.gz oppure .zip) estrailo, in maniera tale da ottenere un file .sql.
Apri questo file con un editor di testo come Notepad++ (il blocco note va bene ma è molto lento). Ci metterà un po’ se il file è bello pieno.
Sostituisci (tramite l’apposita funzione presente in ogni editor) tutte le stringhe che contengono il nome del tuo dominio, con la stringa localhost/nome-cartella-wordpress. Se non utilizzi una cartella per WP in locale perchè hai installato tutto nella root di XAMPP (quindi direttamente in htdocs), allora devi sostituire il tuo dominio con localhost (senza la barra finale).
Nel mio caso, il nome di dominio è www.robertoiacono.it. Il nome della cartella di WordPress in locale è nome-cartella-wordpress.
Quindi sostituirò tutte le stringhe www.robertoiacono.it con localhost/nome-cartella-wordpress. Ho sostituito circa 43.000 stringhe 🙂
Salva il file.
6. Importa backup
Ora torna al pannello di amministrazione di PhpMyAdmin che si trova in http://localhost/phpmyadmin/index.php, ed entra nel database che hai creato, nel mio caso wp_robertoiacono, cliccando sul relativo nome nella colonna di sinistra.
Premi il pulsante Importa in alto a destra, carica il file .sql che hai modificato e premi il pulsante Esegui.
Se il file di backup è troppo grande, ti verrà mostrato un errore:
Stai probabilmente cercando di caricare sul server un file troppo grande. Fai riferimento alla documentazione documentation se desideri aggirare questo limite.
In questo caso devi modificare le dimensioni massime dei file da caricare. Apri il file php.ini che trovi in XAMPP\php\php.ini, e sostituisci (se non sono presenti, aggiungili) i valori di upload_max_filesize, memory_limit e post_max_size con:
upload_max_filesize = 128M
memory_limit = 128M
post_max_size = 128M
Salva il file, ferma il server virtuale locale, e chiudi per sicurezza dalla pagina di PhpMyAdmin.
Avvia nuovamente il server, e prova nuovamente ad importare il file. Ora dovrebbe andare tutto liscio.
7. Sei pronto a smanettare?
Vai all’indirizzo http://localhost/nome-cartella-wordpress/ e dovresti vedere il tuo bel blog replicato in locale. Funziona tutto come in remoto, compreso il login ed il nome utente.
Gli unici problemi che ho riscontrato sono che i Widget non vengono mantenuti ma si devono ricreare ogni volta a mano, e a volte, anche il font personalizzato non viene riconosciuto.
Ora sei pronto per smanettare a più non posso 🙂
Mi raccomando, se devi modificare il tema, crea una tema child.
E se hai intenzione di cambiare il tuo hosting, guarda quali sono i migliori hosting per WordPress.
23/04/2013 alle 17:27
ciao ho seguito la tua guida per passare il sito da remoto in locale, ma purtroppo quando clicco sulle varie pagine mi rimanda sempre sulla pagina Xampp…
non so come fare
ti ringrazio
26/04/2013 alle 18:55
Ciao Mario, aggiorna i permalink
24/04/2013 alle 17:10
Ciao,
ho lo stesso problema di Mario, non capisco perchè, è un problema di plugin? Puoi aiutarmi a risolvere?
Grazie mille!
26/04/2013 alle 18:35
Provate a riaggiornare i permalink, a me è bastato 🙂
26/05/2013 alle 22:45
Ciao, innanzi tutto complimenti per il sito.
Ho provato questa guida, ma quando cerco di accedere alla magina del sito mi dà: Errore nello stabilire una connessione al database. Ho controllato il wp-config.php e mi pare che i dati siano tutti corretti…. grazie
31/05/2013 alle 14:29
Ciao Walter, probabilmente sono sbagliati (al 99%)… ricontrollali.
Ciao 🙂
20/06/2013 alle 23:16
Ciao,
anch’io ho seguito la guida però non riesco a vedere oltre la home, perchè qualsiasi cosa clicco mi rimanda a XAMPP..Anche se provo ad accedere al pannello di amministrazione di WordPress fa lo stesso servizio, quindi non riesco neanche ad aggiornare i permalink. Hai qualche consiglio da darmi?
24/06/2013 alle 10:10
Io ricontrollerei se tutti i link del database siano corretti…
15/07/2013 alle 16:41
Ciao Roberto,
anch’io ho seguito la procedura, ma il feedback è “Errore nello stabilire una connessione al database”… a me sembra proprio di inserire tutti i dati come suggerito.
Ma il ‘DB_HOST’ deve rimanere lo stesso del provider oppure deve essere cambiato anche quello? E come?… Nel tuo punto 3 non viene menzionato.
Grazie mille.
17/07/2013 alle 13:39
Io lascio sempre
define(‘DB_HOST’, ‘localhost’);
Ricontrolla tutti i dati, l’errore è qui.
Ciao
25/07/2013 alle 11:39
Mmm.. ok. Adesso – in locale – mi apre la home page e risulta tutto ok.
Però, non appena clicco su un link interno, il feedback è:
“Not Found
The requested URL /folder/folder/name/ was not found on this server.”
Dove ovviamente al posto di folder e name ci sono i nomi reali…
Cosa può essere? Grazie ancora…
26/07/2013 alle 10:20
Aggiorna i pemalink nuovamente e dovrebbe sistemarsi.
Ciao