GNU/Linux >> Linux Esercitazione >  >> Panels >> cPanel

Come migrare il tuo hosting cPanel condiviso su un server cloud Vultr

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.


cPanel
  1. Come migrare gli account cPanel dall'hosting del rivenditore all'hosting condiviso

  2. Come caricare file di siti Web sul tuo hosting

  3. Come migrare da Plesk a cPanel

  4. Come aggiungere un dominio su Cloud hosting utilizzando cPanel

  5. Come configurare account di posta elettronica su hosting Cloud utilizzando cPanel

Come configurare il firewall cPanel nel cloud

Come migrare il sito Web con cPanel Boss-Style

Come trovare l'indirizzo IP condiviso principale del tuo server in cPanel

Come disabilitare cPanel sul tuo server dedicato

Come installare OpCache sul tuo server cPanel

Come trovare il nome del tuo server nel cPanel