In questo articolo imparerai come:

  • Identificare i dati necessari del tuo sito web e i file di configurazione in Apache e Nginx
  • Eseguire il backup del database MySQL in uso
  • Salvare i file del tuo sito web e il database MySQL esportato localmente sul tuo computer
  • Installare applicazioni come Apache, Nginx, MySQL/MariaDB, PHP, Plesk e WordPress
  • Importare i file del sito web
  • Migrare un blog WordPress
Importante

Se desideri migrare manualmente i dati del tuo server su un nuovo server, devi prima migrare i tuoi domini e le tue caselle di posta elettronica. Inoltre, dopo aver trasferito i tuoi domini, devi regolare le impostazioni DNS. In caso contrario, corri il rischio di perdita di dati.

Una guida dettagliata su come migrare manualmente i dati del tuo server su un nuovo VPS è disponibile nel seguente articolo:

Migrare manualmente i dati del tuo server su un nuovo VPS

Nota bene
  • Per migrare correttamente un sito web è necessaria un'attenta pianificazione ed esecuzione.
  • Prima della migrazione, verifica quali configurazioni e impostazioni di sicurezza devono essere eseguite sul nuovo server. Apporta queste modifiche come parte del processo di migrazione. Questo vale sia per il sistema operativo che per le applicazioni installate.
  • Dopo la migrazione, assicurati di verificare attentamente la funzionalità del tuo sito web, delle applicazioni e degli script. Pianifica quindi un tempo sufficiente per i test e la risoluzione di eventuali errori.
  • Informa i tuoi utenti di eventuali tempi di inattività previsti.
  • Tieni presente che la migrazione dei siti web non è inclusa nel nostro servizio di assistenza. Se necessario, contatta uno sviluppatore web per informazioni su come migrare il tuo sito web. Se desideri avvalerti dei servizi di uno sviluppatore di siti web, cerca un professionista adatto nella nostra nostro portale IONOS partner.

Identificare i file del sito web

Per identificare i file necessari, procedi come segue:

Apache
  • Stabilisci una connessione SSH al server che hai utilizzato finora e accedi come amministratore.

  • Per trovare il testo contenente il tuo nome di dominio in tutti i file presenti nella directory /etc/apache2/sites-enabled e nelle sue sottodirectory, sostituisci il segnaposto nel comando sottostante. Quindi inserisci il comando.

    [root@localhost ~]# grep -Ril "NOME_DOMINIO" /etc/apache2/sites-enabled


    Esempio:

    [root@localhost ~]# grep -Ril "example.com" /etc/apache2/sites-enabled

    Viene quindi visualizzato il percorso del file di configurazione del tuo sito web. Esempio:

    /etc/apache2/sites-enabled/example.com.conf

  • Apri il file con l'editor vi. Per farlo, adatta il seguente comando e poi inseriscilo:

    [root@localhost ~]# vi /etc/PERCORSO/PERCORSO/NOME_FILE.conf


    Esempio:

    [root@localhost ~]# vi /etc/apache2/sites-enabled/example.com.conf

  • Prendi nota del percorso dei file del tuo sito web riportato nella riga DocumentRoot. Nell'esempio seguente, si tratta della directory /var/www/html.

    [root@localhost ~]# vi /etc/apache2/sites-enabled/example.com.conf

  • VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE LOG DIR}/error.log
    CustomLog ${APACHE LOG DIR}/access.log combined

  • Premi il tasto [ESC].
  • Per uscire da vi e salvare il file, immetti il comando :wq e premi Invio.

 

Nginx
  • Stabilisci una connessione SSH al server che hai utilizzato finora e accedi come amministratore.
  • Apri la directory di configurazione di Nginx.

    [root@localhost ~]# cd /etc/nginx

  • Apri il file di configurazione principale di Nginx con l'editor vi. Di solito si tratta del file nginx.conf. Per farlo, adatta il comando sottostane e poi inseriscilo:

    [root@localhost ~]# vi /etc/nginx/nginx.conf

  • Cerca nel file di configurazione principale le righe che contengono include. Quindi controlla quali altri file di configurazione o directory vengono caricati (ad esempio, sites-enabled/*).
  • Prendi nota dei file di configurazione o delle directory necessarie e dei relativi percorsi.
  • Per trovare la direttiva root che specifica il percorso per i file del sito web, digita il seguente comando:

    [root@localhost ~]# grep -R 'root' /etc/nginx/


    Tramite questo comando viene eseguita una ricerca della stringa root in tutti i file sotto /etc/nginx. L'output mostra i file e le relative righe in cui è impostata la direttiva root. 

    Ad esempio, l'output di grep può contenere diverse righe se Nginx ospita diversi siti web (blocchi di server). Ogni riga mostra il percorso del file di configurazione e la riga in cui è impostata la direttiva root. Esempio:

    /etc/nginx/sites-available/example.com: root /var/www/example.com/html;

    In questo esempio, il percorso /var/www/example.com/html è usato come directory principale per il sito web example.com.

  • Prendi nota del percorso della directory principale.
  • Controlla il contenuto della directory principale. Per visualizzare il contenuto, digita il seguente comando:

    [root@localhost ~]# ls -l /PERCORSO

    Esempio:

    [root@localhost ~]# ls -l /var/www/example.com/html

Eseguire il backup del database MySQL

Per migrare il database MySQL del tuo sito web, devi conoscere i dati di accesso al database MySQL. Inoltre, avrai bisogno delle seguenti informazioni:

  • Porta
  • Host
  • Nome del database

Se sai già quali sono i dati di accesso del database MySQL, puoi saltare questa sezione.

Ottenere i dati di accesso

Di seguito spieghiamo come trovare i dati di accesso a MySQL:

WordPress

In WordPress, i dati di accesso a MySQL si trovano nel file wp-config.php. Questo file si trova nella directory principale della tua installazione WordPress.


I percorsi tipici sono i seguenti, ad esempio:

/var/www/html/wp-config.php


oppure

/var/www/example.com/wp-config.php
/** The name of the database for WordPress */
define('DB_NAME', 'db123456789');

/** MySQL database username */
define('DB_USER', 'dbo123456789');

/** MySQL database password */
define('DB_PASSWORD', 'Geheimes_Passwort');

/** MySQL hostname */
define('DB_HOST', 'db123456789.hosting-data.io');

/** WordPress Database Table prefix.
$table_prefix = 'abcd';

Siti web senza CMS

Per i siti web che accedono direttamente a un database e non utilizzano un CMS, la memorizzazione dei dati di accesso dipende dalla configurazione individuale. Spesso, i dati di accesso sono conservati in file di configurazione utilizzati dai rispettivi script. In questo caso, per trovare i dati di accesso è necessario cercare i parametri di connessione al database nei file PHP, Python, Java o altri file di backend.

Esportare il database MySQL

Per eseguire il backup di un database MySQL, utilizza lo strumento mysqldump, fornito con la maggior parte delle installazioni di MySQL. Immetti il comando qui sotto dopo aver sostituito i segnaposto.

mysqldump --no-tablespaces --port NUMERO_PORTA --host=NOME_HOST--user=USERNAME --password=PASSWORD NOME_DATABASE | gzip > /root/dbdump.sql.gz


Dopo aver immesso il comando, il database viene esportato nella directory principale. Il nome del file è dbdump.sql.gz.

Nota bene 

Se i nomi dei tuoi file, le password o i nomi utente contengono caratteri speciali, devono essere racchiusi tra virgolette singole (') nel comando mysqldump o mysql.

Esempio: mysqldump [...] --password='%gCjmnrmLk!xnSefw'

Salvare i file del tuo sito web e il database MySQL esportato localmente sul tuo computer

Salva la copia dei file del sito web e del database MySQL esportato su un computer locale. Per farlo, puoi utilizzare il programma FileZilla, che è disponibile per computer con sistemi operativi Windows, MacOS e Linux.

Puoi scaricare il file di installazione più recente per il tuo sistema operativo qui:

https://filezilla-project.org/download.php?type=client

Per stabilire una connessione al tuo server utilizzando FileZilla e scaricare una copia dei file del tuo sito web e del database MySQL esportato sul tuo computer locale, procedi come segue:

  • Avvia FileZilla.
  • Inserisci l'indirizzo IP del server nel campo Server.
  • Inserisci il nome utente root nel campo Utente.
  • Nel campo Password, inserisci la password impostata.
  • Inserisci la porta 22 nel campo Porta.
  • Fai clic su Connetti. La connessione al server viene stabilita. Le directory presenti sul tuo client sono visualizzate nell'area a sinistra. Le directory presenti sul server sono visualizzate nell'area a destra.
  • Crea una directory nel tuo computer locale.
  • Apri la directory principale del tuo  server web.
  • Seleziona la directory principale del tuo server e copiala nella directory desiderata sul tuo computer locale tramite drag-and-drop.
  • Copia anche i file o le directory di configurazione necessari tramite drag-and-drop nella directory desiderata sul tuo computer locale.
  • Apri la directory principale.
  • Seleziona il database esportato. Il nome del file è dbdump.sql.gz. Copia quindi tramite drag-and-drop il file nella directory desiderata sul tuo computer locale.

Installare applicazioni sul nuovo server

Prima di importare i file del sito web e il database esportato, devi installare sul tuo nuovo server le applicazioni utilizzate anche sul server precedente. 

Importante

Prima dell'installazione, assicurati di controllare i requisiti di sistema necessari. Per conoscere eventuali problemi di compatibilità, consulta il sito web del produttore del software.

Installare Apache, MySQL/MariaDB e PHP

Le istruzioni su come installare Apache, MySQL/MariaDB e PHP sono riportate nei seguenti articoli:

Installare uno stack LAMP su un server con CentOS Stream 9

Installare uno stack LAMP su un server cloud con Ubuntu

Installare Nginx

Le istruzioni su come installare Nginx sono riportate nel seguente articolo:

Installing NGINX Open Source

Installare Plesk

Le istruzioni su come installare Plesk sono riportate nei seguenti articoli:

Installare Plesk (VPS Linux)

Installare Plesk (VPS Windows)

Installare WordPress

Le istruzioni su come installare WordPress su un server sono contenute nella documentazione di WordPress, disponibile alla seguente pagina:

https://developer.wordpress.org/advanced-administration/

Proteggere sistema operativo e applicazioni

Regola tutte le impostazioni e le configurazioni di sicurezza del nuovo server. Questo vale sia per il sistema operativo che per le applicazioni installate.

Nel seguente articolo puoi trovare informazioni su alcune misure di sicurezza di fondamentale importanza:

Informazioni importanti per la sicurezza del tuo server Linux (seconda parte)

Importare i file del sito web

Apache
  • Stabilisci una connessione SSH al nuovo server e accedi come amministratore.
  • Apri anche Filezilla.
  • Utilizza FileZilla per copiare i file di backup e i file di configurazione nelle rispettive directory del nuovo server, tramite drag-and-drop.
  • Controlla i file di configurazione, i percorsi e le impostazioni specifiche dell'ambiente del vecchio server e modificali, se necessario.
  • Per riavviare Apache, passa al programma con cui hai stabilito la connessione SSH e digita il seguente comando:

    [root@localhost ~]# sudo /etc/init.d/apache2 restart

  • Controlla gli script utilizzati e modificali se necessario.
  • Testa il sito web e la configurazione.

Nginx
  • Stabilisci una connessione SSH al nuovo server e accedi come amministratore.
  • Apri anche Filezilla.
  • Utilizza FileZilla per copiare i file di backup e i file di configurazione nelle rispettive directory del nuovo server, tramite drag-and-drop.
  • Controlla i file di configurazione, i percorsi e le impostazioni specifiche dell'ambiente del vecchio server e, se necessario, modificarli.
  • Per riavviare Nginx, passa al programma con cui hai stabilito la connessione SSH e inserisci il seguente comando:

    [root@localhost ~]# sudo systemctl restart nginx

  • Controlla gli script utilizzati e modificali se necessario.
  • Testa il sito web e la configurazione.

Importare il database MySQL
  • Apri FileZilla.
  • Copia il database esportato nella directory corrispondente sul nuovo server tramite  drag-and-drop.
  • Passa al programma utilizzato per stabilire la connessione SSH.
  • Apri la directory in cui si trova il database esportato.
  • Per ripristinare i dati, esegui il comando mysql secondo lo schema seguente. Sostituisci i segnaposto scritti in maiuscolo con i dati di accesso del database in cui desideri ripristinare i dati.

    gunzip -c NOME_FILE| mysql --user=USERNAME --password=PASSWORD_DATABASE

  • Controlla le impostazioni di sicurezza del database MySQL.

Trasferire un blog WordPress

Nel seguente articolo trovi una guida per migrare il tuo blog WordPress:

Migrazione sito WordPress: i passi da compiere per il trasferimento del server