14509 Letture

Come trasferire sito Wordpress da locale a remoto

Prima di avviare un progetto sul web, è opportuno svilupparlo in locale. Nel caso di Wordpress, disporre in locale di tutti i file che compongono il sito è estremamente utile e pratico. Anziché essere costretti a caricare ed aggiornare continuamente, via FTP, i file sui quali si desiderano apportare modifiche, si potrà intervenire sui file memorizzati in locale e verificare subito l'effetto delle variazioni applicate.

In passato abbiamo presentato diverse soluzioni che permettono di configurare un server web in locale, con lo scopo di installare ed utilizzare i principali pacchetti CMS (content management system) disponibili in Rete.

Nell'articolo Eseguire WordPress, Joomla, phpBB ed altri CMS in locale con Instant WordPress abbiamo presentato un software, semplicissimo da usare, che integra web server Apache, RDBMS MySQL e tutto il necessario per elaborare in locale script PHP.

Dopo aver visto come installare Wordpress in locale ed allestire un sito web offline, questa volta ci concentriamo sui passi da seguire per trasferire il sito Wordpress da locale a remoto.


Prima di iniziare, diamo per scontato di aver utilizzato il software IWP (Instant Wordpress) per la creazione di un sito Wordpress in locale (vedere l'articolo Eseguire WordPress, Joomla, phpBB ed altri CMS in locale con Instant WordPress).

IWP offre, preinstallata, l'applicazione web phpMyAdmin che facilita l'amministrazione dei database in formato MySQL.
La stragrande maggioranza dei provider mette a disposizione degli utenti un'installazione personalizzata di phpMyAdmin. Come avevamo spiegato anche nell'articolo Come spostare un sito su altro server per trasferire il database MySQL usato dal sito Wordpressa dal locale al server remoto basterà effettuare una semplice procedura di esportazione e reimportazione.

Esportare il database MySQL in locale e reimportarlo sul server remoto

Il primo passaggio da effettuare consiste nell'esportazione del database MySQL usato dal sito Wordpress locale e nella successiva reimportazione sul server remoto.

Nel caso di IWP, basta accedere – nel contesto locale – all'applicazione web phpMyAdmin (digitare http://127.0.0.1:4001/phpmyadmin o comunque http://IP_SERVER_IWP:4001/phpmyadmin) digitando semplicemente root come nome utente e lasciando in bianco il campo password.

In phpMyAdmin si dovrà quindi scegliere la base dati MySQL utilizzata dal sito Wordpress, cliccare sulla scheda Esporta, assicurarsi che sia selezionato il formato SQL quindi fare clic su Esegui.

Come trasferire sito Wordpress da locale a remoto

A questo punto, si potrà effettuare il login sull'istanza remota di phpMyAdmin che consente di gestire i propri database MySQL sul server remoto quindi seguire i passaggi qui illustrati:

1) Creare un nuovo database MySQL sul server remoto usando sempre phpMyAdmin. Come codifica dei caratteri indicare utf8_general_ci.

2) Definire (sezione Utenti di phpMyAdmin) l'utente (nome utente e password) che avrà titolo per accedere al database MySQL in questione.
Il nome utente e la password scelti dovranno poi essere comunicati a Wordpress in modo tale che l'applicazione web possa accedere al database MySQL e modificarlo.
Non indicare mai a Wordpress le credenziali che si utilizzano per amministrare personalmente il server MySQL.

3) Selezionare da phpMyAdmin il database appena creato.

4) Cliccare su Importa, Cerca sul tuo computer quindi su Scegli file per importare il database MySQL del sito Wordpress sinora in esecuzione in locale (selezionare il file .SQL precedentemente generato).

Come trasferire sito Wordpress da locale a remoto

Qualora si utilizzasse un server dedicato od un server cloud, si potrà utilizzare il comando che segue:

mysql -u username -pPASSWORD nomedatabase < nomefileesportato.sql

Trasferire i file di Wordpress dal locale al server remoto

Il passaggio seguente consiste nel caricare sul server remoto, via FTP, tutti i file che compongono l'istanza di Wordpress configurata in locale.

Nel caso di IWP, i file di Wordpress da caricare online sono contenuti nella cartella \iwpserver\htdocs\wordpress o comunque nella sottocartella creata seguendo le indicazioni riportate nell'articolo Eseguire WordPress, Joomla, phpBB ed altri CMS in locale con Instant WordPress.

Il server remoto dovrà essere ovviamente in grado di elaborare gli script PHP e dovrà utilizzare almeno la versione 5.2.4 di PHP (preferibile 5.4 o seguenti).

Quando si effettuerà l'upload dei file di Wordpress sul server, bisognerà accertarsi che venga rispettata la struttura delle varie directories (il file wp-config.php dovrà risiedere nella root del server FTP).

Modificare l'indirizzo del sito Wordpress

Prima di collegarsi al sito Wordpress trasferito sul server remoto utilizzando un normale browser web, si dovrà modificarne alcuni parametri di configurazione.

Il primo intervento da effettuare, consiste nell'accedere a phpMyAdmin sul server remoto, cliccare sul nome del database MySQL precedentemente importato, individuare la tabella denominata wp_options e fare clic sulla piccola icona "Mostra" posta alla sua destra.
Qui, bisognerà individuare il record siteurl e cliccare sull'icona raffigurante una matita per modificarne il valore.

Come trasferire sito Wordpress da locale a remoto

Al posto dell'indirizzo locale, bisognerà digitare l'URL del sito Wordpress così come raggiungibile da remoto (esempio: http://www.nomedelsitowordpress.com).
Se presente, modificare allo stesso modo anche il record home.


Sistemare il file di configurazione di WordPress

A questo punto si dovrà aprire il file wp-config.php contenuto nella directory radice del server FTP con un normale editor di testo.

Qui si dovranno modificare i valori indicati in corrispondenza dei parametri seguenti e sostituirli con quelli necessari per l'accesso al database MySQL precedentemente importato sul server remoto:

define('DB_NAME', 'wordpress_test');
define('DB_USER', 'root');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');


In corrispondenza delle voci evidenziate in grassetto, bisognerà indicare:

- il nome del database MySQL usato dal sito WordPress e creato sul server MySQL remoto
- il nome utente per l'accesso a tale database
- la password per l'accesso allo stesso database
- l'indirizzo IP del server MySQL. Se il server MySQL è in esecuzione sullo stesso server ove è installato il server web (è il caso di server dedicati e cloud), basterà lasciare indicato localhost.

Modificare i riferimenti a link ed immagini presenti negli articoli

L'ultimo intervento consiste nel modificare i riferimenti a link ed immagini eventualmente presenti negli articoli pubblicati con Wordpress e conservati nel database MySQL.

Per procedere, bisognerà accedere nuovamente all'istanza di phpMyAdmin remota, cliccare sulla scheda SQL ed inserire la seguente query SQL:

UPDATE wp_posts SET post_content = REPLACE(post_content, '127.0.0.1:4001/wordpress', 'www.nomedelsitowordpress.com');

Come trasferire sito Wordpress da locale a remoto

Prima di fare clic sul pulsante Esegui, al posto di 127.0.0.1:4001/wordpress bisognerà indicare l'indirizzo che aveva il sito Wordpress in ambito locale mentre si dovrà sostituire www.nomedelsitowordpress.com con l'URL corretto del sito raggiungibile pubblicamente.


A questo punto il sito Wordpress dovrebbe caricarsi senza problemi accedendo da browser all'indirizzo pubblico.

Per approfondire l'argomento, suggeriamo la lettura dei seguenti articoli:
- Come configurare server cloud Aruba
- Come spostare un sito su altro server
- File HTACCESS, come proteggere cartelle su Apache
- Eseguire WordPress, Joomla, phpBB ed altri CMS in locale con Instant WordPress