cPanel est le panneau de contrôle Linux le plus populaire et une option par défaut pour la plupart des fournisseurs d'hébergement partagé. Cependant, pour passer d'un environnement d'hébergement partagé à un hébergement cloud avec un serveur privé virtuel (VPS), vous devez avoir un peu de savoir-faire sur le travail avec la console Linux.
Dans ce guide, vous allez migrer d'un environnement d'hébergement partagé utilisant cPanel vers un nouvel environnement d'hébergement cloud exécutant un serveur Ubuntu 20.04. Vous pouvez choisir une autre famille de système d'exploitation à partir du portail client Vultr en fonction de vos préférences.
De plus, cet article est divisé en trois sections facultatives basées sur votre expérience Linux.
Prérequis
- Créez un compte client Vultr gratuit.
- Déployez un nouveau serveur privé virtuel (VPS).
- SSH et connexion au serveur.
- Créez un nouvel utilisateur standard avec des droits sudo.
1. Créer des comptes FTP de serveur
Pour transférer des fichiers directement de cPanel vers le serveur VPS, vous devez activer FTP sur le serveur et créer un nouveau compte utilisateur avec lequel transférer les fichiers. Vous pouvez trouver un guide d'installation détaillé de vsFTPd ici.
Eh bien, installez vstpd
sur le serveur.
$ sudo apt-get vsftpd
Maintenant, modifiez le fichier de configuration et autorisez les utilisateurs locaux à se connecter au serveur.
À l'aide de votre éditeur préféré, modifiez le fichier /etc/vstpd.conf
.
$ sudo nano /etc/vsftpd.conf
Trouvez les lignes ci-dessous :
local_enable=YES
write_enable=YES
anonymous_enable=NO
Décommentez-les en supprimant #
, puis enregistrez et fermez le fichier.
Si vous n'avez pas encore de compte d'utilisateur local sur le serveur, créez-en un et accordez à l'utilisateur les droits sudo.
# adduser example sudo
Entrez le prénom, le nom et confirmez avec Y
pour créer le compte utilisateur.
Maintenant, démarrez le serveur FTP.
$ sudo service vsftpd start
Ensuite, ouvrez le port 22
sur le pare-feu.
$ sudo ufw allow 22/tcp
Redémarrez le pare-feu
$ sudo firewall reload
2. Connectez-vous à cPanel
En fonction de votre fournisseur d'hébergement mutualisé, connectez-vous à votre cPanel via le port 2083
ou ajoutez /cpanel
à la fin de l'URL de votre domaine.
https://example.com/cpanel
3. Panneau de sauvegarde
Il est important de sauvegarder votre configuration cPanel afin de conserver une copie des fichiers du site Web, des e-mails, des enregistrements DNS et des bases de données avant de migrer vers un nouveau serveur.
À l'aide du tableau de bord cPanel, effectuez une sauvegarde complète en sélectionnant backup
sous les Files
rubrique.
Sous Destination de sauvegarde, sélectionnez SCP
dans la liste des options. Entrez l'adresse IP de votre serveur Vultr dans le Remote Server
champ, utilisateur FTP, mot de passe et port créés à l'étape 1, respectivement, pour générer le fichier de sauvegarde.
Une connexion est établie avec votre serveur, et une fois la sauvegarde terminée, connectez-vous à votre serveur VPS pour localiser le nouveau backup-***_***.tar.gz
dossier. Par défaut, le fichier est téléchargé dans le répertoire racine de votre compte ~
, ou le répertoire spécifié dans le Remote Dir:
champ.
Maintenant, extrayez les fichiers de l'archive de sauvegarde.
$ tar -xvf backup-***_***_example.tar.gz
Renommez le répertoire extrait pour une identification facile.
$ mv backup-**_**_example/ cpanelfiles
Maintenant, allez dans le répertoire et listez tous les fichiers.
$ cd cpanelfiles/
$ ls
Sortie
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/
Option 1 :Installer une pile Web pour héberger votre site Web
Avec tous les fichiers cPanel transférés sur le serveur, vous pouvez migrer votre nom de domaine en toute sécurité en changeant les serveurs de noms en Vultr et en configurant votre environnement d'hébergement. La pile Apache, MySQL, PHP (LAMP) est recommandée pour héberger les fichiers migrés car plusieurs fichiers cachés comme .htaccess
restera inchangé.
Si vous migrez des fichiers de site Web WordPress, vous pouvez éventuellement choisir d'installer (E)Nginx, MySQL, PHP (LEMP). Mais pour les besoins de cet article, installez LAMP sur le serveur.
Tout d'abord, définissez le nom de domaine complet du serveur. Par exemple, remplacez example.com
avec votre domaine actuel.
$ sudo hostnamectl set-hostname example.com
Installer Apache
Ubuntu
$ sudo apt install apache2
CentOS
$ sudo dnf install apache2
Autoriser Apache à démarrer au démarrage
$ sudo systemctl enable apache2
Démarrer le serveur Web Apache
$ sudo systemctl start apache2
Installer MySQL
$ sudo apt install mysql-server
Sécurisez le serveur de base de données avec un mot de passe root et supprimez les valeurs par défaut non sécurisées.
$ myql_secure_installation
Activez MySQL pour qu'il démarre au démarrage.
$ sudo systemctl enable mysql
Démarrez MySQL.
$ sudo systemctl start mysql
Maintenant, connectez-vous à MySQL.
$ mysql -u root -p
Créez une nouvelle base de données pour votre site Web.
mysql> CREATE DATABASE exampledb;
Créez un nouvel utilisateur avec un mot de passe sécurisé.
mysql> CREATE NEW USER exampleuser IDENTIFIED BY 'STRONG-PASSWORD';
Accordez à l'utilisateur des autorisations complètes sur la base de données.
mysql> GRANT FULL PRIVILEGES ON exampledb.* TO 'exampleuser'@'localhost';
Actualiser les droits MySQL.
mysql> FLUSH PRIVILEGES;
Quittez la console.
mysql> EXIT
Installez PHP.
$ sudo apt install php
Installez également les modules PHP nécessaires.
$ sudo apt install php-xml php-gd php-mysql php-curl php-zip php-mbstring
Configurer Apache
Créez un nouveau fichier de configuration d'hôte virtuel Apache.
$ sudo touch /etc/apache2/sites-available/example.com.conf
Maintenant, à l'aide de votre éditeur de texte préféré, modifiez le fichier.
$ sudo nano /etc/apache2/sites-available/example.com.conf
Collez les lignes de code suivantes :
<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>
Enregistrez et fermez le fichier
Testez la configuration
$ sudo apachectl configtest
Activer le fichier de configuration
$ sudo a2ensite example.com.conf
Redémarrez Apache
$ sudo systemctl restart apache2
Maintenant, copiez vos fichiers de site Web cPanel extraits dans le nouveau répertoire Webroot de l'hôte virtuel. Le homedir/
répertoire contient tous les fichiers nécessaires, copiez depuis la racine de votre domaine ou public_html/
selon celui qui a fonctionné comme répertoire de fichiers Web cPanel.
$ sudo cp cpanelfiles/homedir/public_html/* /var/www/example.com
Accordez à Apache les droits de propriété sur le répertoire webroot
$ sudo chown -R www-data:www-data /var/www/example.com
Ensuite, modifiez le fichier de configuration de votre site Web pour inclure le nouveau nom de base de données, le nom d'utilisateur et le mot de passe.
$ sudo nano /var/www/example.com/wp-config.php
Trouvez les lignes ci-dessous :
/** 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' );
Modifiez-les pour refléter votre nom de base de données, votre nom d'utilisateur et votre mot de passe.
Restaurer les bases de données
Pour restaurer vos bases de données cPanel, passez à mysql/
dans le répertoire des fichiers extraits et localisez la cible .sql
fichier de base de données.
Passez au mysql
répertoire.
$ cd /cpanelfiles/mysql
Restaurez votre base de données.
$ mysql -u root exampledb < file.sql
Une fois terminé, connectez-vous au shell MySQL et recherchez de nouvelles tables dans la base de données.
$ mysql -u exampleuser
Confirmez les nouvelles tables de base de données.
mysql> use exampledb;
mysql> select * from exampledb;
Quittez la console.
mysql> EXIT
Configurer le pare-feu
Ouvrez le port 80 pour autoriser le trafic HTTP.
$ sudo ufw allow 80/tcp
Ouvrez le port 443 pour autoriser le trafic HTTPS.
$ sudo ufw allow 443/tcp
Vérifiez la table actuelle du pare-feu.
$ sudo ufw status
Redémarrez le pare-feu.
$ sudo ufw reload
Faites pointer votre nom de domaine vers le nouveau serveur Vultr Cloud
Tout d'abord, connectez-vous au portail client Vultr, ajoutez un nouveau domaine et entrez l'adresse IP de votre serveur dans Default IP Address
champ.
Ensuite, connectez-vous du côté de votre bureau d'enregistrement de domaine, modifiez votre domaine et faites pointer vos serveurs de noms vers Vultr.
Enregistrez les modifications et testez votre nouveau serveur cloud.
Testez votre nouveau serveur cloud
Votre site Web est prêt à être utilisé, le domaine pointe vers votre serveur VPS et tous les fichiers nécessaires sont installés dans le répertoire webroot. Testez votre serveur en visitant votre nom de domaine.
http://example.com
En fonction de la période de propagation DNS, qui prend souvent entre 3 et 12 heures, votre site Web devrait pouvoir se charger à partir du nouveau serveur VPS. Cependant, vous pouvez demander un nouveau certificat SSL puisque toutes les demandes de domaine pointent vers le nouveau serveur.
Activer HTTPS
Installez Certbot.
$ sudo apt install python3-certbot-apache certbot
Demander un certificat SSL Let's Encrypt gratuit. Remplacez example.com
avec votre nom de domaine et [email protected]
avec votre adresse e-mail réelle.
$ sudo certbot -d example.com -m [email protected]
Testez le renouvellement automatique.
$ sudo certbot renew –dry-run
Votre site Web est maintenant prêt à servir le trafic HTTPS. Testez votre serveur en visitant https://example.com
pour confirmer les nouvelles modifications.
Option 2 :migrer vers un panneau de configuration gratuit
cPanel est un panneau de contrôle Linux payant. Si vous souhaitez migrer vers un panneau de contrôle gratuit, vous avez le choix entre un large éventail de variantes open source. Cependant, seuls quelques-uns acceptent les sauvegardes cPanel. Pour des guides détaillés sur la façon d'installer certains des panneaux de contrôle gratuits, vous pouvez vous référer à ce qui suit :
- Installez Virtualmin sur Ubuntu 20.04.
- Installez CyberPanel.
- Installez HestiaCP.
- Installer Plesk en un clic (gratuit) sur Vultr.
Pour les besoins de cet article, nous utilisons Virtualmin car il prend en charge la restauration directe à partir des sauvegardes cPanel.
Connectez-vous à votre tableau de bord Virtualmin
Développez Add Servers
et sélectionnez Migrate virtual server
dans la liste déroulante des options de la barre de navigation de gauche.
Maintenant, sélectionnez local file
depuis le source backup file
champ, puis entrez le répertoire du fichier de sauvegarde.
/home/example/backup***_***.tar.gz
Ensuite, sous Backup file type
, sélectionnez cPanel backup
, puis choisissez work out from backup, if possible
pour les champs nom de domaine, nom d'utilisateur et mot de passe administrateur, respectivement.
Cliquez sur Migrate Now
pour importer vos données cPanel dans Virtualmin. Une fois terminé, votre serveur devrait être prêt à être utilisé. Les anciennes entrées de nom de domaine seront remplacées par vos options de serveur actuelles, alors assurez-vous de faire pointer votre domaine vers les nouveaux serveurs de noms Vultr.
Option 3 :migrer vers cPanel auto-hébergé
- Déployez cPanel en un clic à partir des applications Vultr Marketplace
Par défaut, cPanel est automatiquement licencié par mois sur Vultr, et vous n'aurez besoin d'aucune licence précédente pour fonctionner. Une fois que vous faites tourner votre serveur one-click, connectez-vous à WHM pour commencer le processus de restauration.
http://server-ip:2087
À l'aide de l'interface WHM, accédez à Transfers
, et localisez le Transfer and Restore a cPanel account
option. Ensuite, sélectionnez le fichier sur le serveur ou téléchargez le fichier de sauvegarde cPanel directement depuis votre ordinateur.
Ensuite, sélectionnez Replace All Matching A Records
pour supprimer et remplacer les anciens enregistrements cPanel par de nouveaux enregistrements de serveur.
Cliquez sur Restore
pour créer un nouveau compte cPanel à partir des fichiers, puis restaurez tous les domaines, fichiers Web et comptes de messagerie sur le serveur.
Dépannage
Si votre compte cPanel est limité à quelques fonctionnalités avec la Backup
et Backup Wizard
options manquantes, vous pouvez toujours migrer vos fichiers depuis le serveur. Pour cela, créez un nouveau compte FTP.
À l'aide de votre tableau de bord cPanel, accédez aux Files
section et cliquez sur FTP Accounts
. Ensuite, créez un nouveau compte FTP avec un mot de passe fort et créez vos fichiers de sauvegarde.
Sauvegarde partielle (uniquement les fichiers du site Web, pas de comptes de messagerie)
Sélectionnez "Gestionnaire de fichiers" dans la section des fichiers si vous prévoyez uniquement de migrer les fichiers de votre site Web et les bases de données associées.
Ensuite, dans la fenêtre du gestionnaire de fichiers, localisez les fichiers racine de votre site Web, puis compressez le répertoire en .zip
ou tar.gz
.
Un nouveau fichier compressé sera ajouté au répertoire. Maintenant, identifiez le nom de votre base de données à partir des fichiers du site Web. Si vous hébergez un site Web WordPress, wp-config.php
contient les informations de base de données dont vous avez besoin. Notez le nom de la base de données et le préfixe de la table.
Bases de données de sauvegarde
À l'aide du tableau de bord principal de cPanel, accédez aux Databases
section et cliquez sur phpMyAdmin
.
Une fois redirigé vers phpMyAdmin, choisissez votre base de données cible, et exportez-la sur votre ordinateur. Un nouveau .sql
fichier sera téléchargé sur votre ordinateur. Renommez le fichier pour une identification facile.
En fonction de la taille des fichiers de votre site Web, il est recommandé de télécharger le fichier SQL dans le même répertoire que les fichiers compressés pour faciliter la migration vers le nouveau serveur.
Migrer vers le nouveau serveur
Une fois les fichiers du site Web compressés dans un format lisible, SSH et connectez-vous au nouveau serveur, puis utilisez curl pour récupérer les fichiers du serveur cPanel.
Installer Curl
, s'il n'est pas déjà installé.
$ sudo apt install curl
Ensuite, modifiez le script suivant avec votre nom de domaine, votre compte FTP cPanel et votre mot de passe.
Récupérer les fichiers Web :
$ curl -u USERNAME:PASSWORD ftp://localhost/test_curl/filename.tar.gz
Récupérer le fichier de base de données SQL :
$ curl -u USERNAME:PASSWORD ftp://localhost/test_curl/exampledb.sql
Remplacez filename.tar.gz
avec votre fichier compressé réel et .sql
avec votre fichier de base de données renommé.
Une fois la connexion établie, vos fichiers seront ajoutés au nouveau serveur. Extrayez les fichiers et suivez les étapes de l'option 1 de cet article pour configurer votre serveur.
Conclusion
Félicitations, vous avez réussi à migrer d'un environnement partagé utilisant cPanel vers un environnement d'hébergement cloud utilisant Vultr. Une fois que votre domaine s'est entièrement propagé sur le serveur, vous pouvez supprimer votre compte d'hébergement partagé en toute sécurité sans aucun temps d'arrêt ni interruption de l'activité des utilisateurs sur vos sites Web.