Scrivo questo articolo per egoismo e pigrizia..
Ho dovuto effettuare l’ennesima migrazione di un sito wordpress, e per l’ennesima volta mi sono dovuto inventare e studiare il procedimento di migrazione, perché mi sono dimenticato, a distanza di mesi, il procedimento funzionante.
Così ho deciso di scriverlo in un articolo, in modo da ricordarmi cosa ho fatto, e dove ho messo il testo per la FAQ 🙂
Passo primo: backup di wordpress.
Dobbiamo fare un tar.gz di tutta la home dir, e di tutte le directory che stanno sotto, del sito originale.
E’ necessario avere l’accesso come amministratore al sito originale di wordpress. Installazione del plugin wp “WP File Manager” con questo selezione di tutte le cartelle e file, creazione di un file taz, che viene messo nella home del sito, con il nome “es. pippo.taz”.
Cercare di capire l’url a quel file, appena creato (es. www.miodominio.it/pippo.taz).
Secondo passo. Creazione nuovo dominio
Creazione sul server di destinazione del nuovo sito con apache, per cui creazione del file di configurazione, e test di funzionamento dal proprio PC e verifica che il dominio sia stato creato e sia accessibile. Risulterà una pagina vuota.
Memorizzare path alla home del nuovo sito (es. /home/www/pippo) e l’url nuovo (es. pippo.esseciesse.net) perche’ serve dopo.
Terzo passo. Creazione di un nuovo DB sul nuovo server, e creazione di un utente associato con permessi illimitati su quel DB.
Database server : mysql. L’operazione viene fatta o da interfaccia grafica, con mysqladmin, o a linea comando, se si ha accesso alla shell del server DB. Il comando da shell e’
mysql -u root -p’password_inventata’ CREATE DATABASE nomedb; CREATE USER 'nomeuser'@'localhost' IDENTIFIED BY 'password_inventata'; GRANT ALL PRIVILEGES ON `nomedb`.* TO 'nomeuser'@'localhost'; FLUSH PRIVILEGES;
Quarto passo. Copia dei file
Devi copiare il .taz vecchio nel nuovo dominio.
A linea comando vai nella home del nuovo dominio e fai un wget http://www.miodominio.it/pippo.taz
Poi scompatta il tutto, e ricordati di settare i permessi, tutto deve appartenere all’utente che esegue il webserver, altrimenti non funziona nulla.
Se non hai accesso con shell .. vedi tu.. probabilmente hai accesso ftp, poi devi scompattare il tutto e settare i permessi… auguri..
Quarto passo. Esporta DB
Installa sul server di partenza il plugin WP MIGRATE DB di Delicious Brains
Con il plugin sopra indicato fai una esportazione del DB.
Puoi, al momento della esportazione, inserire il nuovo path fisico della home dir, e il nuovo nome del dominio, che ti sei memorizzato prima, per semplificare l’importazione.
Se non lo fai devi poi modificarti a mano i path giusti o direttamente nel DB o modificando i file di configurazione di wp-config.php.. usa questo plugin che fi prima e lavori meno.
L’esportazione generalmente e’ veloce.
Quinto passo. Importa DB
Questo lo puoi fare da interfaccia grafica, con mysqladmin, import DB, Conviene perche’ accetta file compressi ed e’ veloce.
Okkio ad importare il file nel DB giusto.
A linea comando devi copiare il file SQL sul server, il comando dovrebbe essere qualcosa di molto simile a questo
mysql –u utente –ppassword nome_db < file.sql
Ultimo passo. Modifica configurazione wordpress per accedere al nuovo server
Edita in qualche modo il file wp-config.php, setta correttamente le variabili
define('DB_NAME', 'nome_DB'); define('DB_USER', 'nome_utente'); define('DB_PASSWORD', 'password per il db'); define('DB_HOST', 'localhost');
A questo punto tutto dovrebbe funzionare, e per lo meno si dovrebbe poter accederà all’ambiente di amministrazione.
E’ necessario ricontrollare tutto il sito per vedere che non vi siano dei link diretti alle pagine, con url che puntano al vecchio sito, e comunque ricontrollare tutti i link e tutte le pagine per essere sicuri che non puntino al vecchio sito.
Per esserne certi meglio disabilitare il vecchio sito…
Buona fortuna…