Migrar una web de Plesk a DirectAdmin sin perder datos
Introducción: ¿Por qué migrar de Plesk a DirectAdmin?
Cambiar de panel de control es como mudarse de casa: da un poco de pereza, pero a la larga merece la pena si el nuevo hogar es mejor. Migrar plesk a directadmin es una operación cada vez más común entre administradores de servidores y agencias que buscan un panel más ligero, rápido y con un coste de licencia más ajustado. DirectAdmin es conocido por su bajo consumo de recursos y su interfaz limpia, mientras que Plesk, aunque potente, puede resultar pesado en servidores modestos.
El miedo principal de cualquier persona que decide hacer este cambio de panel es perder datos: bases de datos, correos electrónicos, archivos web o configuraciones. Pero con un buen plan y las herramientas adecuadas, transferir web plesk a DirectAdmin es un proceso totalmente seguro y, si lo haces bien, sin apenas tiempo de inactividad. En esta guía te explico paso a paso cómo hacerlo, incluso si nunca has tocado un servidor Linux por línea de comandos.
Requisitos previos antes de empezar
Antes de lanzarte a la aventura, necesitas tener claros algunos puntos. No es difícil, pero conviene ir sobre seguro. Esto es lo que necesitas:
- Acceso SSH a ambos servidores (el origen con Plesk y el destino con DirectAdmin).
- Credenciales de administrador (root) en ambos paneles.
- Una copia de seguridad reciente del sitio web, bases de datos y buzones de correo (por si acaso).
- Conocimientos básicos de Linux: saber navegar por carpetas, descomprimir archivos y usar comandos como
rsyncowget. No hace falta ser un gurú, pero sí manejarte con soltura. - Espacio en disco suficiente en el servidor destino para alojar todos los datos.
- Un plan de migración por fases: primero archivos, luego bases de datos, después correos y finalmente DNS.
[WARNING] No hagas la migración en hora punta. Elige un momento de bajo tráfico para minimizar el impacto si algo sale mal. Y siempre, siempre, ten una copia de seguridad externa antes de empezar.
1. Inventario de lo que tienes en Plesk
Lo primero es saber qué tienes que mover. No es lo mismo migrar un blog estático que una tienda online con carrito de compra y boletines de correo. Haz una lista de todo lo que hay en tu servidor Plesk:
- Dominios y subdominios alojados.
- Bases de datos MySQL o MariaDB (nombres, usuarios y contraseñas).
- Cuentas de correo electrónico y sus contraseñas.
- Archivos web (normalmente en
/var/www/vhosts/dominio.com/). - Certificados SSL (aunque lo más fácil es reinstalarlos después).
- Tareas programadas (cron jobs).
- Zonas DNS (registros A, MX, CNAME, TXT, etc.).
Para obtener este inventario, entra en Plesk y revisa cada sección. Anota también las versiones de PHP y los módulos que usa tu web (por ejemplo, extensiones de PHP como curl, gd, mysqli). DirectAdmin permite configurar versiones de PHP por dominio, así que podrás replicar el entorno.
2. Preparar el servidor destino (DirectAdmin)
Si aún no tienes DirectAdmin instalado, este es el momento. La instalación típica tarda unos 20-30 minutos. Una vez instalado, asegúrate de:
- Actualizar el sistema operativo:
yum update(en CentOS/AlmaLinux) oapt update && apt upgrade(en Ubuntu/Debian). - Configurar el firewall para abrir los puertos necesarios (HTTP 80, HTTPS 443, SSH 22, FTP 21, SMTP 25, IMAP 993, POP3 995).
- Crear un usuario de reseller o administrador que será el "dueño" de los dominios que migres.
- Instalar las mismas versiones de PHP que usabas en Plesk. DirectAdmin te permite elegir entre múltiples versiones (PHP 7.4, 8.0, 8.1, etc.) desde el administrador de paquetes.
[TIP] Si tu web usaba una versión de PHP antigua (por ejemplo, 5.6), comprueba si tu aplicación es compatible con versiones más modernas. Aprovecha la migración para modernizar si puedes.
3. Migrar los archivos web (la parte más fácil)
La transferencia de archivos es lo más sencillo. Tienes dos opciones: usar rsync o hacer una copia de seguridad en Plesk y restaurarla en DirectAdmin. Te recomiendo rsync porque es rápido, seguro y solo copia los cambios (ideal si tienes que repetir el proceso).
3.1. Usando rsync
Desde el servidor destino (DirectAdmin), ejecuta este comando:
rsync -avz --progress root@IP_SERVIDOR_PLESK:/var/www/vhosts/dominio.com/ /home/USUARIO/domains/dominio.com/public_html/
Explicación rápida:
-a: modo archivo (conserva permisos, fechas, etc.).-v: verbose (muestra lo que hace).-z: comprime los datos durante la transferencia.--progress: muestra el progreso.
Si tienes varios dominios, repite el comando para cada uno. Recuerda ajustar las rutas: en Plesk suele ser /var/www/vhosts/dominio.com/httpdocs/ y en DirectAdmin /home/usuario/domains/dominio.com/public_html/.
3.2. Alternativa: copia de seguridad de Plesk
Plesk tiene un sistema de copias de seguridad integrado. Puedes generar un archivo .tar.gz con todo el contenido del dominio y luego importarlo en DirectAdmin. Eso sí, DirectAdmin no lee las copias de Plesk directamente, así que tendrías que descomprimir y copiar manualmente. Es más lío que rsync, pero funciona.
[WARNING] Asegúrate de que los permisos de archivos y carpetas sean correctos después de la copia. En DirectAdmin, la carpeta
public_htmldebe tener permisos 755 y los archivos 644. Si tienes dudas, ejecuta:chmod -R 755 /home/usuario/domains/dominio.com/public_html/yfind /home/usuario/domains/dominio.com/public_html/ -type f -exec chmod 644 {} \;
4. Migrar las bases de datos MySQL
Aquí es donde muchos se pierden, pero no tiene por qué ser complicado. El método más fiable es exportar cada base de datos desde Plesk e importarla en DirectAdmin.
4.1. Exportar desde Plesk
Accede por SSH al servidor Plesk y ejecuta:
mysqldump -u USUARIO -p NOMBRE_BASE_DATOS > /tmp/base_datos.sql
Te pedirá la contraseña del usuario de la base de datos. Si no la recuerdas, búscala en Plesk dentro de la sección "Bases de datos". También puedes usar phpMyAdmin desde el panel para exportar, pero por SSH es más rápido si son varias.
4.2. Importar en DirectAdmin
Copia el archivo .sql al servidor destino (por ejemplo, con scp o rsync) y luego importa:
mysql -u USUARIO -p NOMBRE_BASE_DATOS < /tmp/base_datos.sql
4.3. Crear usuarios y permisos
No basta con importar los datos; también hay que crear el usuario de la base de datos en DirectAdmin y asignarle permisos. En el panel de DirectAdmin, ve a "MySQL Management" y crea la base de datos y el usuario con los mismos nombres y contraseñas que usabas en Plesk. Luego asigna todos los privilegios.
[INFO] Si tu web usa múltiples bases de datos (por ejemplo, una para WordPress y otra para foros), repite el proceso para cada una. Y no olvides actualizar los archivos de configuración de tu web (como
wp-config.phpen WordPress) con los nuevos datos de conexión si los nombres de usuario o contraseñas cambian.
5. Migrar las cuentas de correo electrónico
El correo es la parte más delicada. Si tu web usa cuentas de correo personalizadas (como info@tudominio.com), necesitas recrearlas en DirectAdmin y transferir los mensajes existentes.
5.1. Recrear las cuentas
En DirectAdmin, ve a "Email Manager" y crea cada cuenta de correo con la misma dirección y contraseña que tenías en Plesk. Esto es importante para que los clientes de correo (Outlook, Thunderbird, móvil) sigan funcionando sin cambiar configuraciones.
5.2. Transferir los mensajes existentes
La forma más sencilla es usar imapsync, una herramienta que sincroniza buzones de correo entre servidores. Se instala así:
yum install imapsync # en CentOS/AlmaLinux
apt install imapsync # en Ubuntu/Debian
Luego, para cada cuenta:
imapsync --host1 IP_PLESK --user1 cuenta@dominio.com --password1 CONTRASEÑA --host2 IP_DIRECTADMIN --user2 cuenta@dominio.com --password2 CONTRASEÑA
Esto copia todos los mensajes, carpetas y etiquetas. Es un proceso lento si hay muchos correos, así que ten paciencia.
[TIP] Si no quieres usar
imapsync, también puedes exportar los buzones desde Plesk en formato.mboxe importarlos en DirectAdmin conmbx2mdo similar. Peroimapsynces mucho más fácil y fiable.
6. Configurar el DNS y los certificados SSL
Una vez que tienes los archivos, bases de datos y correos en el nuevo servidor, llega el momento de apuntar el dominio al servidor correcto.
6.1. Zonas DNS
Si usas el servidor de nombres de tu proveedor de dominio (por ejemplo, Cloudflare o los DNS de tu registrador), solo tienes que cambiar los registros A y CNAME para que apunten a la IP de DirectAdmin. Si usas los DNS que trae Plesk, deberás exportar la zona DNS y recrearla en DirectAdmin.
En DirectAdmin, ve a "DNS Management" y crea los registros necesarios (A, MX, TXT, etc.). Si no tienes los registros a mano, en Plesk puedes verlos en "Domains > tu dominio > DNS".
6.2. Certificados SSL
Lo más cómodo es emitir un certificado Let's Encrypt gratuito desde DirectAdmin. Ve a "SSL Certificates" y sigue el asistente. Si usabas un certificado de pago, puedes importar el archivo .crt y la clave privada desde Plesk.
[WARNING] El cambio de DNS puede tardar entre 24 y 48 horas en propagarse a nivel mundial. Durante ese tiempo, algunos usuarios verán la web antigua y otros la nueva. Para minimizar el impacto, haz la migración en un momento de bajo tráfico y deja ambos servidores funcionando en paralelo durante un par de días.
7. Tareas programadas (Cron Jobs) y configuraciones adicionales
Muchas webs usan tareas programadas (por ejemplo, para enviar boletines o hacer copias de seguridad). En Plesk, puedes verlas en "Scheduled Tasks". En DirectAdmin, están en "Cron Jobs". Recrea cada una de ellas con la misma periodicidad y el mismo comando.
También deberías revisar:
- Configuración de PHP: extensiones, límites de memoria, tiempo de ejecución, etc. En DirectAdmin, puedes configurarlo por dominio en "PHP Settings".
- Redirecciones: si tenías redirecciones 301 en Plesk, configúralas en el archivo
.htaccesso en la configuración del servidor web. - Aplicaciones como WordPress: asegúrate de que las URLs de la base de datos apuntan al dominio correcto. Si algo falla, puedes usar
wp-clipara corregirlo.
8. Pruebas exhaustivas antes de dar el salto definitivo
No des por hecho que todo funciona solo porque los archivos están copiados. Haz una lista de comprobación:
- La web carga correctamente (prueba con
curl -I http://tudominio.com). - Los formularios envían correos correctamente.
- La base de datos responde (prueba a iniciar sesión en el panel de administración).
- El correo se envía y recibe (envía un correo de prueba).
- Los certificados SSL se han emitido correctamente.
- Las tareas programadas se ejecutan.
Si algo falla, revisa los logs del servidor en /var/log/directadmin/ o /var/log/messages/. La mayoría de los problemas tienen solución rápida.
9. Desactivar el servidor antiguo (último paso)
Una vez que todo funciona en DirectAdmin y el DNS se ha propagado (puedes esperar 48 horas para estar seguro), puedes desactivar el servidor Plesk. Pero antes:
- Haz una copia de seguridad final en DirectAdmin.
- Mantén el servidor Plesk encendido durante una semana más por si necesitas recuperar algo.
- Cancela la licencia de Plesk cuando estés seguro de que no lo necesitas.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo tarda una migración de Plesk a DirectAdmin?
Depende del tamaño de tu web. Para un sitio pequeño (menos de 5 GB), unas 2-3 horas. Para sitios grandes con muchos correos, puede llevar un día entero.
¿Puedo migrar sin tener acceso SSH?
No es recomendable. Sin SSH, tendrías que usar las interfaces web de ambos paneles, lo cual es mucho más lento y propenso a errores. Si no tienes SSH, pide a tu proveedor de hosting que te lo habilite.
¿Qué pasa con las bases de datos que usan caracteres especiales (utf8, latin1)?
mysqldump conserva la codificación original. Al importar, asegúrate de que la base de datos en DirectAdmin tenga la misma codificación (por ejemplo, utf8mb4). Si ves caracteres extraños, prueba a importar con --default-character-set=utf8mb4.
¿Puedo migrar solo un dominio de Plesk a DirectAdmin?
Sí, perfectamente. Solo tienes que copiar los archivos de ese dominio, su base de datos y sus cuentas de correo. No hace falta migrar todo el servidor.
¿Qué es Syspanel y tiene algo que ver con esta migración?
Syspanel (antes conocido como HestiaCP) es otro panel de control ligero, similar a DirectAdmin, que también puedes usar como destino si prefieres una alternativa gratuita. Su puerto de acceso es el 2106. No está directamente relacionado con esta guía, pero si estás evaluando paneles, es otra opción a considerar.
¿Puedo automatizar la migración con algún script?
Existen herramientas como plesk-to-directadmin scripts en GitHub, pero suelen estar desactualizadas. Lo más fiable es hacerlo manualmente con rsync y mysqldump como te he mostrado.
Conclusión
Migrar plesk a directadmin no es una operación trivial, pero con esta guía paso a paso y un poco de paciencia, cualquier persona con conocimientos básicos de Linux puede hacerlo sin perder un solo dato. La clave está en la planificación: inventariar todo, hacer copias de seguridad, transferir por fases y probar exhaustivamente antes de desactivar el servidor antiguo.
Recuerda que transferir web plesk a DirectAdmin no solo te ahorrará dinero en licencias, sino que también te dará un panel más rápido y fácil de gestionar. Y si algo sale mal, siempre puedes volver atrás mientras el servidor antiguo siga activo.
¿Te ha resultado útil esta guía? ¿Tienes alguna duda concreta sobre tu caso? Déjamelo en los comentarios y te ayudo con lo que necesites. ¡Buena suerte con tu migración hosting directadmin!
