cPanel è il pannello di controllo Linux più popolare e un'opzione predefinita per la maggior parte dei provider di hosting condiviso. Tuttavia, per passare da un ambiente di hosting condiviso all'hosting cloud con un Virtual Private Server (VPS), devi avere un po' di know-how su come lavorare con la console Linux.
In questa guida, migrerai da un ambiente di hosting condiviso utilizzando cPanel a un nuovo ambiente di hosting cloud che esegue un server Ubuntu 20.04. Puoi scegliere una famiglia di sistemi operativi diversa dal portale clienti Vultr a seconda delle tue preferenze.
Inoltre, questo articolo è diviso in tre sezioni opzionali basate sulla tua esperienza con Linux.
Prerequisiti
- Crea un account cliente Vultr gratuito.
- Distribuisci un nuovo Virtual Private Server (VPS).
- SSH e accedi al server.
- Crea un nuovo utente standard con diritti sudo.
1. Crea account FTP del server
Per trasferire file direttamente da cPanel al server VPS, è necessario abilitare FTP sul server e creare un nuovo account utente con cui trasferire i file. Puoi trovare una guida dettagliata all'installazione di vsFTPd qui.
Bene, installa vstpd
sul server.
$ sudo apt-get vsftpd
Ora, modifica il file di configurazione e consenti agli utenti locali di accedere al server.
Utilizzando il tuo editor preferito, modifica il file /etc/vstpd.conf
.
$ sudo nano /etc/vsftpd.conf
Trova le righe qui sotto:
local_enable=YES
write_enable=YES
anonymous_enable=NO
Decommentali rimuovendo #
, quindi salva e chiudi il file.
Se non hai ancora account utente locali sul server, creane uno e concedi all'utente i diritti sudo.
# adduser example sudo
Inserisci Nome, Cognome e conferma con Y
per creare l'account utente.
Ora avvia il server FTP.
$ sudo service vsftpd start
Quindi, apri la porta 22
sul firewall.
$ sudo ufw allow 22/tcp
Riavvia il firewall
$ sudo firewall reload
2. Accedi a cPanel
A seconda del tuo provider di hosting condiviso, accedi al tuo cPanel tramite la porta 2083
oppure aggiungi /cpanel
alla fine dell'URL del tuo dominio.
https://example.com/cpanel
3. Backup cPanel
È importante eseguire il backup della configurazione di cPanel per conservare una copia dei file, delle e-mail, dei record DNS e dei database del sito Web prima di migrare su un nuovo server.
Utilizzando la dashboard di cPanel, esegui un backup completo selezionando backup
sotto i Files
sezione.
In Destinazione backup, seleziona SCP
dall'elenco delle opzioni. Inserisci l'IP del tuo server Vultr nel Remote Server
campo, utente FTP, password e porta creati rispettivamente al passaggio 1 per generare il file di backup.
Viene stabilita una connessione al tuo server e, una volta completato il backup, accedi al tuo server VPS per individuare il backup-***_***.tar.gz
appena aggiunto file. Per impostazione predefinita, il file viene caricato nella directory principale del tuo account ~
o la directory specificata in Remote Dir:
campo.
Ora estrai i file dall'archivio di backup.
$ tar -xvf backup-***_***_example.tar.gz
Rinomina la directory estratta per una facile identificazione.
$ mv backup-**_**_example/ cpanelfiles
Ora, passa alla directory ed elenca tutti i file.
$ cd cpanelfiles/
$ ls
Uscita
drwx--x--x 16 4096 Dec 26 23:07 homedir/ **– contains all necessary webfiles**
-rw------- 1 14 Dec 26 23:07 homedir_paths
drwx------ 2 4096 Dec 26 23:07 httpfiles/
drwx------ 2 4096 Dec 26 23:07 ips/
drwx------ 2 4096 Dec 26 23:07 locale/
drwx------ 2 4096 Dec 26 23:07 logs/
drwx------ 2 4096 Dec 26 23:07 meta/
drwx------ 2 4096 Dec 26 23:07 mm/
drwx------ 4 4096 Dec 26 23:07 mma/
drwx------ 2 4096 Dec 26 23:07 mms/
drwx------ 2 4096 Dec 26 23:07 mysql/ **-- contains all mysql database backup files**
drwx------ 2 4096 Dec 26 23:07 mysql-timestamps/
Opzione 1:installa uno stack web per ospitare il tuo sito web
Con tutti i file cPanel trasferiti al server, puoi migrare in sicurezza il tuo nome di dominio cambiando i nameserver in Vultr e configurando il tuo ambiente di hosting. Lo stack Apache, MySQL, PHP (LAMP) è consigliato per ospitare i file migrati poiché diversi file nascosti come .htaccess
rimarrà invariato.
Se stai migrando i file del sito Web di WordPress, puoi opzionalmente scegliere di installare (E) Nginx, MySQL, PHP (LEMP). Ma ai fini di questo articolo, installa LAMP sul server.
Innanzitutto, imposta il nome di dominio completo del server. Ad esempio, sostituisci example.com
con il tuo dominio effettivo.
$ sudo hostnamectl set-hostname example.com
Installa Apache
Ubuntu
$ sudo apt install apache2
CentOS
$ sudo dnf install apache2
Consenti ad Apache di avviarsi all'avvio
$ sudo systemctl enable apache2
Avvia il server web Apache
$ sudo systemctl start apache2
Installa MySQL
$ sudo apt install mysql-server
Proteggi il server del database con una password di root e rimuovi le impostazioni predefinite non sicure.
$ myql_secure_installation
Consenti a MySQL di avviarsi all'avvio.
$ sudo systemctl enable mysql
Avvia MySQL.
$ sudo systemctl start mysql
Ora accedi a MySQL.
$ mysql -u root -p
Crea un nuovo database per il tuo sito web.
mysql> CREATE DATABASE exampledb;
Crea un nuovo utente con una password sicura.
mysql> CREATE NEW USER exampleuser IDENTIFIED BY 'STRONG-PASSWORD';
Concedi all'utente le autorizzazioni complete per il database.
mysql> GRANT FULL PRIVILEGES ON exampledb.* TO 'exampleuser'@'localhost';
Aggiorna i diritti MySQL.
mysql> FLUSH PRIVILEGES;
Esci dalla console.
mysql> EXIT
Installa PHP.
$ sudo apt install php
Inoltre, installa i moduli PHP necessari.
$ sudo apt install php-xml php-gd php-mysql php-curl php-zip php-mbstring
Configura Apache
Crea un nuovo file di configurazione dell'host virtuale Apache.
$ sudo touch /etc/apache2/sites-available/example.com.conf
Ora, usando il tuo editor di testo preferito, modifica il file.
$ sudo nano /etc/apache2/sites-available/example.com.conf
Incolla le seguenti righe di codice:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
# Index files and web root directory
DirectoryIndex index.php index.html
DocumentRoot /var/www/example.com/
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond $1 ^(index\.php)?$ [OR]
RewriteCond $1 \.(gif|jpg|png|ico|css|js)$ [NC,OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ - [S=1]
RewriteRule . /index.php [L]
</IfModule>
# END wordpress
Options FollowSymLinks
Order allow,deny
Allow from all
</VirtualHost>
Salva e chiudi il file
Testare la configurazione
$ sudo apachectl configtest
Abilita il file di configurazione
$ sudo a2ensite example.com.conf
Riavvia Apache
$ sudo systemctl restart apache2
Ora, copia i file del tuo sito Web cPanel estratti nella nuova directory webroot dell'host virtuale. La homedir/
contiene tutti i file necessari, copia dalla radice del tuo dominio o da public_html/
quella che ha funzionato come directory dei file web di cPanel.
$ sudo cp cpanelfiles/homedir/public_html/* /var/www/example.com
Concedi ad Apache i diritti di proprietà sulla directory webroot
$ sudo chown -R www-data:www-data /var/www/example.com
Quindi, modifica il file di configurazione del tuo sito Web per includere il nuovo nome del database, nome utente e password.
$ sudo nano /var/www/example.com/wp-config.php
Trova le righe qui sotto:
/** The name of the database for WordPress */
define( 'DB_NAME', 'exampledb’);
/** MySQL database username */
define( 'DB_USER', 'exampleuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'strong-password' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
Modificali in modo che riflettano il nome del database, il nome utente e la password.
Ripristina database
Per ripristinare i database di cPanel, passa a mysql/
all'interno della directory dei file estratti e individuare il .sql
di destinazione file di database.
Passa a mysql
directory.
$ cd /cpanelfiles/mysql
Ripristina il tuo database.
$ mysql -u root exampledb < file.sql
Una volta completato, accedi alla shell MySQL e controlla la presenza di nuove tabelle nel database.
$ mysql -u exampleuser
Conferma nuove tabelle del database.
mysql> use exampledb;
mysql> select * from exampledb;
Esci dalla console.
mysql> EXIT
Configura il firewall
Apri la porta 80 per consentire il traffico HTTP.
$ sudo ufw allow 80/tcp
Apri la porta 443 per consentire il traffico HTTPS.
$ sudo ufw allow 443/tcp
Controlla la tabella Firewall corrente.
$ sudo ufw status
Riavvia il firewall.
$ sudo ufw reload
Indirizza il tuo nome di dominio al nuovo server cloud Vultr
Innanzitutto, accedi al portale clienti Vultr, aggiungi un nuovo dominio e inserisci l'IP del tuo server nel Default IP Address
campo.
Quindi, accedi al tuo registrar di domini, modifica il tuo dominio e indirizza i tuoi server dei nomi a Vultr.
Salva le modifiche e prova il tuo nuovo server cloud.
Testa il tuo nuovo server cloud
Il tuo sito web è pronto per l'uso, il dominio è indirizzato al tuo server VPS e tutti i file necessari sono installati nella directory webroot. Metti alla prova il tuo server visitando il tuo nome di dominio.
http://example.com
A seconda del periodo di propagazione del DNS, che spesso richiede dalle 3 alle 12 ore per essere completato, il tuo sito Web dovrebbe essere in grado di caricare dal nuovo server VPS. Tuttavia, puoi richiedere un nuovo certificato SSL poiché tutte le richieste di dominio puntano al nuovo server.
Abilita HTTPS
Installa Certbot.
$ sudo apt install python3-certbot-apache certbot
Richiedi un certificato SSL Let's Encrypt gratuito. Sostituisci example.com
con il tuo nome di dominio e [email protected]
con il tuo indirizzo email effettivo.
$ sudo certbot -d example.com -m [email protected]
Prova il rinnovo automatico.
$ sudo certbot renew –dry-run
Il tuo sito web è ora pronto per servire il traffico HTTPS. Testa il tuo server visitando https://example.com
per confermare le nuove modifiche.
Opzione 2:migra a un pannello di controllo gratuito
cPanel è un pannello di controllo Linux a pagamento. Se desideri migrare a un pannello di controllo gratuito, c'è un ampio pool di varianti open source tra cui scegliere. Tuttavia, solo pochi accettano i backup di cPanel. Per guide dettagliate su come installare alcuni dei pannelli di controllo gratuiti, puoi fare riferimento a quanto segue:
- Installa Virtualmin su Ubuntu 20.04.
- Installa CyberPanel.
- Installa HestiaCP.
- Installa Plesk One-Click (gratuito) su Vultr.
Ai fini di questo articolo, utilizziamo Virtualmin poiché supporta il ripristino diretto dai backup di cPanel.
Accedi alla dashboard di Virtualmin
Espandi Add Servers
e seleziona Migrate virtual server
dall'elenco a discesa delle opzioni sulla barra di navigazione a sinistra.
Ora seleziona local file
dal source backup file
campo, quindi inserisci la directory del file di backup.
/home/example/backup***_***.tar.gz
Successivamente, in Backup file type
, seleziona cPanel backup
, quindi scegli work out from backup, if possible
rispettivamente per i campi nome di dominio, nome utente e password amministratore.
Fai clic su Migrate Now
per importare i dati del tuo cPanel su Virtualmin. Una volta completato, il tuo server dovrebbe essere pronto per l'uso. Le voci del vecchio nome di dominio verranno sostituite con le opzioni del server corrente, quindi assicurati di indirizzare il tuo dominio ai nuovi server dei nomi Vultr.
Opzione 3:migra a cPanel self-hosted
- Distribuisci cPanel One-Click dalle app Vultr Marketplace
Per impostazione predefinita, cPanel viene automaticamente concesso in licenza al mese su Vultr e non avrai bisogno di alcuna licenza precedente per l'esecuzione. Dopo aver fatto girare il tuo server con un clic, accedi a WHM per iniziare con il processo di ripristino.
http://server-ip:2087
Utilizzando l'interfaccia WHM, vai a Transfers
e individua il Transfer and Restore a cPanel account
opzione. Quindi, seleziona il file dal server o carica il file di backup di cPanel direttamente dal tuo computer.
Quindi, seleziona Replace All Matching A Records
per rimuovere e sostituire i vecchi record di cPanel con i nuovi record del server.
Fai clic su Restore
per creare un nuovo account cPanel dai file, quindi ripristinare tutti i domini, i file Web e gli account di posta sul server.
Risoluzione dei problemi
Se il tuo account cPanel è limitato a poche funzioni con il Backup
e Backup Wizard
opzioni mancanti, puoi comunque migrare i tuoi file dal server. Per fare ciò, crea un nuovo account FTP.
Utilizzando la dashboard di cPanel, vai a Files
sezione e fai clic su FTP Accounts
. Quindi, crea un nuovo account FTP con una password complessa e crea i tuoi file di backup.
Backup parziale (solo file del sito Web, nessun account di posta)
Seleziona "File Manager" dalla sezione dei file se intendi migrare solo i file del tuo sito web e i database associati.
Quindi, nella finestra del file manager, individua i file radice del tuo sito Web, quindi comprimi la directory in .zip
o tar.gz
.
Un nuovo file compresso verrà aggiunto alla directory. Ora, identifica il nome del tuo database dai file del sito web. Se stai ospitando un sito Web WordPress, wp-config.php
contiene le informazioni del database di cui hai bisogno. Prendi nota del nome del database e del prefisso della tabella.
Backup dei database
Utilizzando la dashboard principale di cPanel, vai a Databases
sezione e fai clic su phpMyAdmin
.
Una volta reindirizzato a phpMyAdmin, scegli il tuo database di destinazione ed esportalo sul tuo computer. Un nuovo .sql
il file verrà scaricato sul tuo computer. Rinomina il file per una facile identificazione.
A seconda delle dimensioni dei file del tuo sito web, ti consigliamo di caricare il file SQL nella stessa directory dei file compressi per una facile migrazione al nuovo server.
Migra al nuovo server
Una volta che i file del sito Web sono compressi in un formato leggibile, SSH e accedi al nuovo server, quindi usa curl per recuperare i file dal server cPanel.
Installa Curl
, se non è già installato.
$ sudo apt install curl
Quindi, modifica il seguente script con il tuo nome di dominio, account FTP cPanel e password.
Recupera i file web:
$ curl -u USERNAME:PASSWORD ftp://localhost/test_curl/filename.tar.gz
Recupera il file del database SQL:
$ curl -u USERNAME:PASSWORD ftp://localhost/test_curl/exampledb.sql
Sostituisci filename.tar.gz
con il tuo vero file compresso e .sql
con il tuo file di database rinominato.
Una volta stabilita una connessione, i tuoi file verranno aggiunti al nuovo server. Estrai i file e segui i passaggi dell'Opzione 1 di questo articolo per configurare il tuo server.
Conclusione
Congratulazioni, hai eseguito correttamente la migrazione da un ambiente condiviso utilizzando cPanel a un ambiente di hosting cloud utilizzando Vultr. Una volta che il tuo dominio si è completamente propagato sul server, puoi eliminare in sicurezza il tuo account di hosting condiviso senza tempi di inattività o interruzione dell'attività degli utenti sui tuoi siti web.