GNU/Linux >> Linux Esercitazione >  >> Linux

Come migrare manualmente WordPress su un nuovo host

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 consigliata
Risolto errore WordPress "Errore durante la creazione della connessione al database".
Linux
  1. Migra a un nuovo host WordPress in 5 passaggi senza tempi di inattività

  2. Come installare o migrare WordPress con EasyEngine Setup

  3. Come migrare il tuo sito web usando cPanel

  4. Come migrare un server DNS BIND su un nuovo hardware?

  5. Come posso utilizzare DD per migrare i dati da un vecchio disco a un nuovo disco?

Come migrare da CentOS 8 a CentOS Stream

Come installare WordPress su Ubuntu 18.04

Come installare WordPress Ubuntu 20.04

Come eseguire il backup e il ripristino di un sito Web WordPress

Come eseguire il backup dell'host Unix locale utilizzando l'utilità rsnapshot rsync

Come eseguire il backup dell'host Linux remoto utilizzando l'utilità rsnapshot rsync