cPanel es el panel de control de Linux más popular y una opción predeterminada para la mayoría de los proveedores de alojamiento compartido. Sin embargo, para cambiar de un entorno de alojamiento compartido a un alojamiento en la nube con un servidor privado virtual (VPS), debe tener algunos conocimientos sobre cómo trabajar con la consola de Linux.
En esta guía, migrará de un entorno de alojamiento compartido utilizando cPanel a un nuevo entorno de alojamiento en la nube que ejecuta un servidor Ubuntu 20.04. Puede elegir una familia de SO diferente desde el portal de clientes de Vultr según sus preferencias.
Además, este artículo está dividido en tres secciones opcionales basadas en su experiencia con Linux.
Requisitos
- Cree una cuenta gratuita de cliente de Vultr.
- Implemente un servidor privado virtual (VPS) nuevo.
- SSH e iniciar sesión en el servidor.
- Cree un nuevo usuario estándar con derechos sudo.
1. Crear cuentas FTP de servidor
Para transferir archivos directamente desde cPanel al servidor VPS, debe habilitar FTP en el servidor y crear una nueva cuenta de usuario para transferir los archivos. Puede encontrar una guía de instalación detallada de vsFTPd aquí.
Bueno, instala vstpd
en el servidor.
$ sudo apt-get vsftpd
Ahora, edite el archivo de configuración y permita que los usuarios locales inicien sesión en el servidor.
Usando su editor favorito, edite el archivo /etc/vstpd.conf
.
$ sudo nano /etc/vsftpd.conf
Encuentra las líneas a continuación:
local_enable=YES
write_enable=YES
anonymous_enable=NO
Descoméntelos eliminando #
, luego guarde y cierre el archivo.
Si aún no tiene cuentas de usuario locales en el servidor, cree una y otorgue al usuario derechos sudo.
# adduser example sudo
Ingrese el Nombre, Apellido y confirme con Y
para crear la cuenta de usuario.
Ahora, inicie el servidor FTP.
$ sudo service vsftpd start
Luego, abra el puerto 22
en el cortafuegos.
$ sudo ufw allow 22/tcp
Reinicie el cortafuegos
$ sudo firewall reload
2. Iniciar sesión en cPanel
Dependiendo de su proveedor de alojamiento compartido, inicie sesión en su cPanel a través del puerto 2083
o agregue /cpanel
hasta el final de la URL de su dominio.
https://example.com/cpanel
3. Copia de seguridad de cPanel
Es importante hacer una copia de seguridad de su configuración de cPanel como una forma de mantener una copia de los archivos del sitio web, correos electrónicos, registros DNS y bases de datos antes de migrar a un nuevo servidor.
Con el panel de control de cPanel, haga una copia de seguridad completa seleccionando backup
en Files
sección.
En Destino de copia de seguridad, seleccione SCP
de la lista de opciones. Ingrese la IP de su servidor Vultr en el Remote Server
campo, usuario FTP, contraseña y puerto creados en el paso 1, respectivamente, para generar el archivo de copia de seguridad.
Se establece una conexión con su servidor y, una vez completada la copia de seguridad, inicie sesión en su servidor VPS para ubicar el backup-***_***.tar.gz
recién agregado. expediente. De forma predeterminada, el archivo se carga en el directorio raíz de su cuenta ~
, o el directorio especificado en Remote Dir:
campo.
Ahora, extraiga los archivos del archivo de copia de seguridad.
$ tar -xvf backup-***_***_example.tar.gz
Cambie el nombre del directorio extraído para una fácil identificación.
$ mv backup-**_**_example/ cpanelfiles
Ahora, cambie al directorio y enumere todos los archivos.
$ cd cpanelfiles/
$ ls
Salida
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/
Opción 1:instalar una pila web para alojar su sitio web
Con todos los archivos de cPanel transferidos al servidor, puede migrar su nombre de dominio de forma segura cambiando los servidores de nombres a Vultr y configurando su entorno de alojamiento. Se recomienda la pila Apache, MySQL, PHP (LAMP) para alojar los archivos migrados, ya que varios archivos ocultos como .htaccess
permanecerá sin cambios.
Si está migrando archivos del sitio web de WordPress, puede optar por instalar (E)Nginx, MySQL, PHP (LEMP). Pero para los propósitos de este artículo, instale LAMP en el servidor.
Primero, establezca el nombre de dominio completo del servidor. Por ejemplo, reemplace example.com
con su dominio real.
$ sudo hostnamectl set-hostname example.com
Instalar Apache
Ubuntu
$ sudo apt install apache2
CentOS
$ sudo dnf install apache2
Permitir que Apache se inicie en el momento del arranque
$ sudo systemctl enable apache2
Inicie el servidor web Apache
$ sudo systemctl start apache2
Instalar MySQL
$ sudo apt install mysql-server
Proteja el servidor de la base de datos con una contraseña raíz y elimine los valores predeterminados inseguros.
$ myql_secure_installation
Habilite MySQL para que se inicie en el momento del arranque.
$ sudo systemctl enable mysql
Inicie MySQL.
$ sudo systemctl start mysql
Ahora, inicia sesión en MySQL.
$ mysql -u root -p
Cree una nueva base de datos para su sitio web.
mysql> CREATE DATABASE exampledb;
Cree un nuevo usuario con una contraseña segura.
mysql> CREATE NEW USER exampleuser IDENTIFIED BY 'STRONG-PASSWORD';
Otorgue al usuario permisos completos para la base de datos.
mysql> GRANT FULL PRIVILEGES ON exampledb.* TO 'exampleuser'@'localhost';
Actualizar los derechos de MySQL.
mysql> FLUSH PRIVILEGES;
Sal de la consola.
mysql> EXIT
Instalar PHP.
$ sudo apt install php
Además, instale los módulos PHP necesarios.
$ sudo apt install php-xml php-gd php-mysql php-curl php-zip php-mbstring
Configurar Apache
Cree un nuevo archivo de configuración de host virtual de Apache.
$ sudo touch /etc/apache2/sites-available/example.com.conf
Ahora, usando su editor de texto favorito, edite el archivo.
$ sudo nano /etc/apache2/sites-available/example.com.conf
Pegue las siguientes líneas de código:
<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>
Guarde y cierre el archivo
Probar la configuración
$ sudo apachectl configtest
Habilitar el archivo de configuración
$ sudo a2ensite example.com.conf
Reiniciar Apache
$ sudo systemctl restart apache2
Ahora, copie los archivos extraídos del sitio web de cPanel en el nuevo directorio webroot del host virtual. El homedir/
El directorio contiene todos los archivos necesarios, copie desde la raíz de su dominio o public_html/
cualquiera que haya funcionado como directorio de archivos web de cPanel.
$ sudo cp cpanelfiles/homedir/public_html/* /var/www/example.com
Otorgue los derechos de propiedad de Apache al directorio webroot
$ sudo chown -R www-data:www-data /var/www/example.com
Luego, edite el archivo de configuración de su sitio web para incluir el nuevo nombre de base de datos, nombre de usuario y contraseña.
$ sudo nano /var/www/example.com/wp-config.php
Encuentra las líneas a continuación:
/** 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' );
Cámbielos para reflejar su nombre de base de datos, nombre de usuario y contraseña.
Restaurar bases de datos
Para restaurar sus bases de datos de cPanel, cambie a mysql/
dentro del directorio de archivos extraídos y busque el objetivo .sql
archivo de base de datos.
Cambiar a mysql
directorio.
$ cd /cpanelfiles/mysql
Restaure su base de datos.
$ mysql -u root exampledb < file.sql
Una vez completado, inicie sesión en el shell de MySQL y busque nuevas tablas en la base de datos.
$ mysql -u exampleuser
Confirme las nuevas tablas de la base de datos.
mysql> use exampledb;
mysql> select * from exampledb;
Sal de la consola.
mysql> EXIT
Configurar el cortafuegos
Abra el puerto 80 para permitir el tráfico HTTP.
$ sudo ufw allow 80/tcp
Abra el puerto 443 para permitir el tráfico HTTPS.
$ sudo ufw allow 443/tcp
Consulte la tabla de cortafuegos actual.
$ sudo ufw status
Reinicie el cortafuegos.
$ sudo ufw reload
Apunte su nombre de dominio al nuevo servidor Vultr Cloud
Primero, inicie sesión en el portal de clientes de Vultr, agregue un nuevo dominio e ingrese la IP de su servidor en la Default IP Address
campo.
Luego, inicie sesión en el lado del registrador de su dominio, edite su dominio y apunte sus servidores de nombres a Vultr.
Guarde los cambios y pruebe su nuevo servidor en la nube.
Pruebe su nuevo servidor en la nube
Su sitio web está listo para usar, el dominio apunta a su servidor VPS y todos los archivos necesarios están instalados en el directorio webroot. Pruebe su servidor visitando su nombre de dominio.
http://example.com
Dependiendo del período de propagación de DNS, que a menudo tarda entre 3 y 12 horas en completarse, su sitio web debería poder cargarse desde el nuevo servidor VPS. Sin embargo, puede solicitar un nuevo certificado SSL ya que todas las solicitudes de dominio apuntan al nuevo servidor.
Habilitar HTTPS
Instale Certbot.
$ sudo apt install python3-certbot-apache certbot
Solicitud de un certificado SSL gratuito de Let's Encrypt. Reemplace example.com
con su nombre de dominio y [email protected]
con su dirección de correo electrónico real.
$ sudo certbot -d example.com -m [email protected]
Pruebe la renovación automática.
$ sudo certbot renew –dry-run
Su sitio web ahora está listo para servir tráfico HTTPS. Pruebe su servidor visitando https://example.com
para confirmar los nuevos cambios.
Opción 2:Migrar a un Panel de control gratuito
cPanel es un panel de control Linux de pago. Si desea migrar a un panel de control gratuito, hay un gran grupo de variantes de código abierto para elegir. Sin embargo, solo unos pocos aceptan copias de seguridad de cPanel. Para obtener guías detalladas sobre cómo instalar algunos de los paneles de control gratuitos, puede consultar lo siguiente:
- Instala Virtualmin en Ubuntu 20.04.
- Instalar CyberPanel.
- Instalar HestiaCP.
- Instalar Plesk con un clic (gratuito) en Vultr.
Para los propósitos de este artículo, usamos Virtualmin ya que admite la restauración directa desde las copias de seguridad de cPanel.
Inicia sesión en tu panel de Virtualmin
Expanda Add Servers
y seleccione Migrate virtual server
de la lista desplegable de opciones en la barra de navegación izquierda.
Ahora, seleccione local file
del source backup file
campo, luego ingrese el directorio del archivo de copia de seguridad.
/home/example/backup***_***.tar.gz
A continuación, en Backup file type
, seleccione cPanel backup
, luego elija work out from backup, if possible
para los campos de nombre de dominio, nombre de usuario y contraseña de administrador, respectivamente.
Haz clic en Migrate Now
para importar sus datos de cPanel a Virtualmin. Una vez completado, su servidor debería estar listo para usar. Las entradas de nombres de dominio antiguos se reemplazarán con las opciones de su servidor actual, así que asegúrese de apuntar su dominio a los nuevos servidores de nombres Vultr.
Opción 3:Migrar a cPanel autohospedado
- Implemente cPanel con un clic desde las aplicaciones Vultr Marketplace
De forma predeterminada, cPanel tiene una licencia automática por mes en Vultr, y no necesitará ninguna licencia anterior para ejecutarse. Una vez que haga girar su servidor de un solo clic, inicie sesión en WHM para comenzar con el proceso de restauración.
http://server-ip:2087
Usando la interfaz de WHM, navegue hasta Transfers
y busque Transfer and Restore a cPanel account
opción. Luego, seleccione el archivo del servidor o cargue el archivo de copia de seguridad de cPanel directamente desde su computadora.
A continuación, seleccione Replace All Matching A Records
para eliminar y reemplazar los registros antiguos de cPanel con nuevos registros del servidor.
Haz clic en Restore
para crear una nueva cuenta de cPanel a partir de los archivos, luego restaurar todos los dominios, archivos web y cuentas de correo al servidor.
Resolución de problemas
Si su cuenta de cPanel está limitada a unas pocas funciones con Backup
y Backup Wizard
faltan opciones, aún puede migrar sus archivos desde el servidor. Para hacer esto, cree una nueva cuenta FTP.
Usando su panel de cPanel, navegue a Files
y haz clic en FTP Accounts
. Luego, cree una nueva cuenta FTP con una contraseña segura y cree sus archivos de respaldo.
Copia de seguridad parcial (solo archivos del sitio web, sin cuentas de correo)
Seleccione 'Administrador de archivos' en la sección de archivos si solo planea migrar los archivos de su sitio web y las bases de datos asociadas.
Luego, en la ventana del administrador de archivos, ubique los archivos raíz de su sitio web, luego comprima el directorio en .zip
o tar.gz
.
Se agregará un nuevo archivo comprimido al directorio. Ahora, identifique el nombre de su base de datos de los archivos del sitio web. Si está alojando un sitio web de WordPress, wp-config.php
contiene la información de la base de datos que necesita. Tome nota del nombre de la base de datos y el prefijo de la tabla.
Bases de datos de respaldo
Usando el tablero principal de cPanel, navegue a Databases
sección y haga clic en phpMyAdmin
.
Una vez redirigido a phpMyAdmin, elija su base de datos de destino y expórtela a su computadora. Un nuevo .sql
El archivo se descargará en su computadora. Cambie el nombre del archivo para identificarlo fácilmente.
Según el tamaño de los archivos de su sitio web, se recomienda cargar el archivo SQL en el mismo directorio que los archivos comprimidos para facilitar la migración al nuevo servidor.
Migrar al nuevo servidor
Una vez que los archivos del sitio web estén comprimidos a un formato legible, SSH e inicie sesión en el nuevo servidor, luego use curl para obtener archivos del servidor cPanel.
Instalar Curl
, si aún no está instalado.
$ sudo apt install curl
Luego, edite el siguiente script con su nombre de dominio, cuenta FTP de cPanel y contraseña.
Obtener archivos web:
$ curl -u USERNAME:PASSWORD ftp://localhost/test_curl/filename.tar.gz
Obtener archivo de base de datos SQL:
$ curl -u USERNAME:PASSWORD ftp://localhost/test_curl/exampledb.sql
Reemplace filename.tar.gz
con su archivo comprimido real y .sql
con su archivo de base de datos renombrado.
Una vez que se establezca una conexión, sus archivos se agregarán al nuevo servidor. Extraiga los archivos y siga los pasos de la Opción 1 de este artículo para configurar su servidor.
Conclusión
Felicitaciones, ha migrado con éxito de un entorno compartido usando cPanel a un entorno de alojamiento en la nube usando Vultr. Una vez que su dominio se propague por completo en el servidor, puede eliminar de forma segura su cuenta de alojamiento compartido sin tiempo de inactividad ni interrupción de la actividad del usuario en sus sitios web.