Qualsiasi migrazione di siti Web è considerata una delle operazioni più difficili. Fortunatamente, WordPress fornisce una miriade di plug-in di backup per aiutare e automatizzare l'intero processo di backup e migrazione. Tuttavia, WordPress è costruito in modo tale che la migrazione manuale di WordPress non potrebbe essere più semplice.
In questo tutorial, ti mostrerò come migrare manualmente un sito WordPress a un nuovo host o server. Ciò è particolarmente utile se il sito è ospitato su un server con risorse insufficienti per abilitare il plug-in di backup. I plug-in di backup in genere richiedono una quantità minima di risorse per eseguire il backup del sito e la migrazione a un altro server. Ho preparato un elenco di plugin di backup per WordPress. Quindi, se il tuo server è integro e dispone di risorse sufficienti, ti consiglio di installare un plug-in di backup per la migrazione di WordPress.
Iniziamo il processo.
Prerequisiti –
Tempo di lettura stimato:8 minuti
- Accesso SSH a entrambi i server
Backup di WordPress
Ogni sito WordPress è composto da tre componenti principali:file core di WordPress, file utente (ovvero il wp-content
directory) e il database di WordPress. A meno che la versione di WordPress non venga modificata, i file core non cambiano. wp-content
e il database, invece, cambia su base giornaliera o addirittura oraria, a seconda del traffico del sito. Se crei regolarmente nuovi contenuti, ogni giorno vengono caricati nuove immagini, video e testo, aumentando il numero di file sul server e le dimensioni del database.
Il primo passo è comprimere wp-content
in modo da ridurne le dimensioni e trasferirlo rapidamente al nuovo server. In secondo luogo, esporta il database di WordPress, comprimilo con i file utente e preparalo per la migrazione.
contenuto wp
wp-content
è una sottodirectory della directory di WordPress. Memorizza tutti i dati che l'utente ha caricato, come temi, plug-in, allegati, foto, video e così via. A meno che l'amministratore del sito non configuri il CMS per farlo, la maggior parte dei siti WordPress non carica i contenuti degli utenti in nessun'altra directory. Se stai utilizzando un tema fortemente personalizzato, fai un backup delle directory che contengono dati rilevanti per la struttura del tuo sito web personalizzato.
Molti plugin di backup salvano i file di backup in un luogo diverso da wp-content
. Quindi, se desideri migrare i file di backup archiviati sul nuovo server, includili anche nell'archivio; in alternativa, scaricali e salvali in un luogo sicuro. L'aggiunta di file di backup archiviati può aumentare notevolmente le dimensioni del backup completo, quindi scaricali localmente se possibile.
.htaccess
Il .htaccess
file è un file di configurazione che consente agli utenti di configurare impostazioni distinte per ciascuna directory. WordPress ospita più .htaccess
file, il principale dei quali si trova nella root di WordPress.
Eseguire il backup del .htaccess
file perché contiene utili impostazioni di configurazione impostate dai plug-in installati come firewall e plug-in della cache.
wp-config.php
wp-config.php
è un file di configurazione di WordPress che contiene le informazioni più critiche per il funzionamento di WordPress. Il wp-config.php
fornisce informazioni sulla connessione al database. Il wp-config.php
il file può anche sovrascrivere i limiti PHP stabiliti dal server, tra le altre cose. Se stai migrando il tuo sito su un nuovo host, assicurati di copiare wp-config.php
insieme agli altri file sul nuovo server.
Database WordPress
Quando crei un nuovo sito o ne trasferisci uno vecchio, assicurati che il database sia configurato correttamente con il sito. Come affermato in precedenza, il wp-config.php
contiene informazioni sul database come il nome del database, l'utente del database (con accesso completo al database) e la password dell'utente.
Per migrare efficacemente WordPress, dobbiamo esportare l'intero database dal vecchio server e prepararlo per il trasferimento al nuovo host.
Migra WordPress manualmente su un nuovo host
Ai fini di questa dimostrazione, suppongo che il nostro vecchio IP del server host sia 192.168.29.5
e il nostro nuovo IP del server host è 192.168.57.8
.
Per prima cosa, entriamo nel nostro vecchio server –
ssh [email protected]
Se la porta ssh del tuo server è diversa da 22, usa -p
opzione seguita dal numero di porta.
ssh -p port_number [email protected]
Esporta database
Il primo passo è esportare il database. Se il tuo sito web riceve un volume elevato di traffico, puoi metterlo in manutenzione o deviare i visitatori al server di backup. WordPress scrive costantemente i dati nel database e i siti Web più grandi potrebbero subire rallentamenti mentre è in corso il processo di esportazione del database.
Una volta pronto, usa il comando seguente per eseguire il dump di tutto il database in locale –
mkdir $HOME/site-backup
cd $HOME/site-backup
mysqldump -u root -p wordpress_database > wp_database.sql
Cambia database_wordpress con il nome del database di WordPress. Premi invio e inserisci la password di root di MySQL. Ora siediti e rilassati. A seconda delle dimensioni del database, questo processo potrebbe richiedere del tempo. Non premere + C durante il processo.
Al termine del processo, avrai wp_database.sql
file nella directory di lavoro, ovvero il backup del sito.
Backup di wp-content, wp-config.php e .htaccess
Ora è il momento di eseguire il backup dei file utente. Come affermato in precedenza, presumo che il tuo WordPress utilizzi temi WordPress standard anziché temi altamente personalizzati o personalizzati. Se utilizzi temi personalizzati, includi le directory pertinenti nel comando seguente.
Entra nella directory principale di WordPress ed esegui il seguente comando –
$ tar -czf website-content.tar.gz /path-to-wordpress/wp-content/ path-to-wordpress/wp-config.php path-to-wordpress/.htaccess
Ora siediti e rilassati. Scopri com'è facile migrare un sito web. Puoi rilassarti due volte!
Dopo che i file sono stati compressi, sposta il file compresso nel summenzionato site-backup
directory.
mv website-content.tar.gz $HOME/site-backup/
Abbiamo il database di compressione del sito, i dati utente di WordPress e le personalizzazioni nel nostro $HOME/site-backup/
directory. Ora comprimi l'intera directory di backup del sito in modo che possa essere facilmente trasferita al nuovo server.
tar -zcvf site-backup.tar.gz $HOME/site-backup/
Ora hai un backup completo del tuo sito WordPress. Puoi scaricare questo backup in locale e spostarlo sul nuovo server, oppure puoi usare rsync
per trasferirlo direttamente sul nuovo server.
Scarichiamo questo backup direttamente sul nuovo server.
SSH nel nuovo server –
ssh [email protected]192.168.57.8
Usa rsync per scaricare il file di backup –
rsync [email protected]192.168.29.5:/home/site-backup.tar.gz .
Il punto alla fine del comando precedente è la directory di destinazione, ovvero la directory di lavoro corrente.
Inserisci la password di root e attendi fino al completamento del download.
Installa WordPress sul nuovo host
Ora che abbiamo i nostri dati di backup sul nuovo server, possiamo configurare un nuovo sito WordPress e importare tutti i nostri dati su quel sito.
Crea database per il nuovo sito
Accedi alla riga di comando di mysql e utilizza i seguenti comandi per creare un nuovo database, un nuovo utente e concedere al nuovo utente tutti i privilegi sul database di WordPress.
sudo mysql
Crea nuovo database
create database wordpress;
Crea un nuovo utente del database
create user 'username'@'localhost' identified by 'password';
Sostituisci nome utente e password con i tuoi valori preferiti. Concedi l'accesso al database al nuovo utente
grant all privileges on wordpress.* to 'username'@'localhost';
flush privileges;
Importa database
Ora che il nostro database è stato creato, possiamo esportare il database scaricato.
Decomprimi o decomprimi il file di backup –
tar -xvf /home/site-backup.tar.gz
Verranno esportati altri due file, wp_database.sql
e website-content.tar.gz
.
Importa il database in wordpress con il seguente comando –
mysql -u root -p wordpress < /home/site-backup/wp_database.sql
Inserisci la password di root e rilassati. Di nuovo.
Installa WordPress
Presumo che tu stia utilizzando il server Web Apache. Quindi la radice web predefinita per il server Apache è /var/www/html
. cd nella directory principale ed elimina index.html.
$ cd /var/www/html
$ rm index.html
Scarica WordPress
wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
sudo tar -xvf /tmp/wordpress.tar.gz -C /tmp/
sudo mv /tmp/wordpress/* /var/www/html
Importa il backup di WordPress nel nuovo sito
tar -xvf /home/site-backup/website-content.tar.gz
Il comando precedente decomprimerà wp-content
del sito , wp-config.php
e .htaccess
. Possiamo usare rsync per spostare wp-content/
alla nuova installazione di WordPress.
$ rsync -avu /home/site-backup/wp-content/ /var/www/html/wp-content/
$ cp /home/site-backup/wp-config.php /home/site-backup/.htaccess /var/www/html/
Modifica wp-config.php
E uno dei nostri ultimi passi è connettere il nostro sito con il database appena creato. Ricorda che abbiamo già importato il database del nostro sito, quindi è pronto. Non è necessario eseguire l'installazione di WordPress.
$ nano /var/www/html/wp-config.php
Ora sostituisci il vecchio nome del database, nome utente e password del database con il database del server corrente che abbiamo creato sopra, ad esempio wordpress.
Correggi i permessi dei file di WordPress
Non dimenticare mai di impostare i permessi dei file corretti. Senza di esso, WordPress potrebbe non funzionare correttamente e potresti esporre i tuoi dati se vengono impostate autorizzazioni errate.
$ chown -R www-data:www-data /var/www/html/
$ find /var/www/html/ -type d -exec chmod 755 {} \;
$ find /var/www/html/ -type f -exec chmod 650 {} \;
Cambia 'siteurl' e 'home' nel database
Se stai spostando il tuo sito senza modificare il nome di dominio, puoi saltare questo passaggio. Se modifichi il nome di dominio, assicurati di aggiornare il database con il nuovo nome di dominio.
Dobbiamo aggiornare alle colonne nella tabella wp_options. Se hai phpMyAdmin, puoi aprire phpMyAdmin> wordpress> wp_options> siteurl .
Modifica la colonna "siteurl ' valore a 'https://www.newdomain.com'. Inoltre, cambia la colonna "home ' valore a 'https://www.newdomain.com'.
Aggiorna URL del sito e casa usando la riga di comando di mysql –
sudo mysql
use wordpress;
update wp_options set option_value='https://www.newdomain.com' where option_name='siteurl'
update wp_options set option_value='https://www.newdomain.com' where option_name='home'
Infine, punta il tuo nome di dominio sul nuovo server. Se il tuo server web è configurato correttamente, dovresti vedere il tuo vecchio sito web sul nuovo host.
Le ultime parole
La procedura manuale sembra essere piuttosto complicata, ma fidati di me quando dico che una volta che ti ci abitui, ti farà risparmiare denaro su un plug-in di backup premium. Utilizzando i passaggi descritti sopra, possiamo persino creare uno script e impostare un processo cron per eseguire automaticamente il backup del nostro sito Web. Tutto questo senza l'uso di un plugin.
Infine, se hai riscontrato difficoltà o errori mentre segui questo post, faccelo sapere nella sezione commenti qui sotto. In alternativa, puoi unirti al nostro Discord Server per risposte più rapide.
Lettura consigliataRisolto errore WordPress "Errore durante la creazione della connessione al database".