Blog ·
Migrar de cPanel a DirectAdmin
La ruta más transitada fuera de cPanel y lo que no viaja: reglas de nombres, cuotas, el identificador que guarda la facturación y cinco trampas reales.
Por Provibr
Es la ruta más transitada para salir de cPanel, y se toma por una razón: la licencia deja de crecer con el número de clientes. cPanel Premier cobra 0,49 $ por cuenta y mes por encima de 100 cuentas a fecha de 1 de enero de 2026; DirectAdmin Standard cuesta 29 $ al mes para un número ilimitado de cuentas, tomado de directadmin.com el 21 de agosto de 2026. Con mil cuentas en un servidor, eso son 510,99 $ frente a 29 $.
El ahorro es fácil de calcular. Lo que sigue es la parte que no lo es: lo que realmente tiene que ocurrir, lo que no sobrevive al traslado, y los lugares concretos donde un primer script de migración hace en silencio lo que no debe.
Provibr admite ambos paneles, y un cliente en cualquiera de ellos nos paga lo mismo. No tenemos motivo para empujar hacia este traslado, solo para hacerlo exacto si se lleva a cabo.
En qué consiste realmente una migración
Cuatro cosas, y solo la primera cuenta con buenas herramientas a su alrededor.
- Los datos. Archivos, bases de datos, correo, zonas DNS. Es la parte para la que los fabricantes escriben herramientas de conversión.
- Las identidades. Nombres de usuario, dominios, nombres de paquete. Tienen que existir en el destino y no siempre sobreviven sin cambios.
- La automatización. Todo lo que aprovisiona, suspende y factura las cuentas apunta a cPanel y hay que apuntarlo a otro sitio, por lo general mientras ambos paneles están activos.
- La ola de tickets. Todo lo que se comportaba de una forma y ahora se comporta de otra, que llega en forma de tickets durante las dos semanas siguientes.
No hemos realizado la migración de datos de nadie y no vamos a describir la herramienta de conversión de nadie como si la hubiéramos probado. Los puntos dos, tres y cuatro son nuestros, porque medimos ambos paneles al construir integraciones contra ellos.
La regla de nombres de usuario renombrará a algunos clientes
Ambos paneles imponen una forma de nombre de usuario, y no son la misma forma. La columna de cPanel se midió creando cuentas en WHM 11.136 hasta que rechazó; la columna de DirectAdmin es la regla que impone su propia API.
| cPanel / WHM | DirectAdmin | |
|---|---|---|
| Patrón | ^[a-z][a-z0-9]{0,15}$ | ^[a-z][a-z0-9]{2,15}$ |
| Longitud | 1 a 16 | 3 a 16 |
| Debe empezar por | una letra | una letra |
| Guion | rechazado | rechazado |
| Guion bajo | rechazado | rechazado |
| Mayúsculas | convertidas a minúsculas en silencio | conservadas o rechazadas, nunca reescritas |
| Nombres reservados | sí, con su propio error (root y otros) | no medido |
La que pilla a todo el mundo es el mínimo. Una cuenta cPanel puede tener uno o dos caracteres; una cuenta DirectAdmin no. Si se tiene alguna (y los hosters antiguos suelen tener un puñado de los primeros tiempos), necesitan un nombre nuevo, lo que significa avisar al cliente y actualizar cada referencia al nombre antiguo.
Y hay una trampa a la salida. WHM acepta un nombre de usuario en mayúsculas, lo crea en minúsculas y anuncia un éxito sin mencionar el cambio. Así, la cuenta que se cree llamada MyClient se llama myclient en el servidor desde el día en que se creó. Todo inventario que se construya para la migración tiene que leerse desde el servidor y no desde los propios registros, o una parte no coincidirá con nada.
Lo que guarda la facturación está a punto de no apuntar a nada
Es la parte que se subestima, porque es invisible hasta el momento del cambio.
El sistema de facturación, los scripts de aprovisionamiento, la supervisión y las herramientas de soporte identifican todos una cuenta de alojamiento por algo. En cPanel ese algo es el nombre de usuario. Tras el traslado sigue siendo un nombre de usuario, pero si alguno se renombró, la referencia está muerta, y una referencia muerta en un ciclo de reclamación no lanza ningún error. No suspende nada.
Antes de mover una sola cuenta, conviene producir una lista con tres columnas: el nombre de usuario cPanel, el nombre de usuario DirectAdmin que tendrá, y el identificador que retiene la facturación. Si esos tres no concuerdan en cada fila, la migración no está lista, por bien que haya ido la transferencia de datos.
Cinco cosas medidas en las dos API que romperán un primer script
Todo esto surgió de escribir integraciones contra servidores en funcionamiento, y las cinco producen resultados erróneos en lugar de errores.
Ambos paneles señalan el fallo con un HTTP 200. cPanel devuelve result: 0 dentro de un objeto metadata; DirectAdmin devuelve error=1 en el cuerpo. Un script que comprueba el código de estado ve un éxito por cada fallo, en ambos lados del traslado. cPanel tiene también una tercera forma: un token erróneo o ausente vuelve como HTTP 403 con un objeto cpanelresult y ningún metadata en absoluto, de modo que un analizador que solo conoce metadata no puede distinguir un token incorrecto de un servidor averiado.
El límite de disco "0" de cPanel significa ilimitado, no cero. Lo mismo ocurre con las cadenas "unlimited" y, para el consumo, "none". Un script de migración que lee la cuota de origen como un número y la escribe en el destino creará cuentas sin ningún espacio de disco para cada cliente ilimitado que se tenga, y lo hará sin la menor advertencia.
La dirección de contacto de cPanel puede ser la cadena literal "*unknown*". Lo mismo con un par de los campos de tasa de correo. Si se copia sin comprobar, se han creado cuentas cuya dirección de contacto es un marcador de posición, algo que se descubre cuando el primer aviso de suspensión no llega a ninguna parte.
La búsqueda de cuentas de cPanel es una coincidencia de subcadena, no una coincidencia exacta. Pedir provibrtest1 devolvió tanto provibrtest1 como provibrtest12345. Si la migración verifica cada cuenta después de moverla buscando su nombre en el panel de origen, se puede confirmar la cuenta equivocada y marcar como migrado a un cliente que no lo está. Conviene filtrar uno mismo exactamente por el nombre de usuario.
Un servidor cPanel sin cuentas no devuelve una lista vacía. Omite por completo la clave de datos. Un script que trata una clave ausente como un fallo señalará como error el último servidor que se vació con éxito; un script que la trata como «no se ha recibido respuesta» es peor, porque en un servidor activo esa es la diferencia entre «esta cuenta ha desaparecido» y «no hemos podido saberlo».
En el lado de DirectAdmin hay dos puntos más que conviene conocer. Su listado de uso lleva un retraso de unos tres segundos sobre las creaciones y las eliminaciones, de modo que un paso de verificación que se ejecuta justo después de una creación no ve nada y concluye que la cuenta no se creó: mejor usar la lista de cuentas que hace autoridad. Y el texto de confirmación de la reactivación de una cuenta dice literalmente «have been suspended», lo que importa precisamente durante un cambio, cuando suspender en un panel y reactivar en el otro son las dos mitades de cada traslado.
Lo que no se traslada
Más allá de los datos en sí:
| Qué ocurre | |
|---|---|
| Paquetes | No portables. Se recrean a mano en DirectAdmin, y hay que mantener al día los límites que contienen. |
| Dominios adicionales y aparcados | cPanel informa de los dominios principales, adicionales, subdominios y aparcados por cuenta. DirectAdmin crea una cuenta con un dominio; el resto se añade después dentro del panel. Cualquier automatización tiene que saber cuál es el principal. |
| Contadores de ancho de banda | Totales mensuales que el propio servidor reinicia. No se trasladan, y el primer mes tras una migración se lee bajo en el panel nuevo y alto en el antiguo. |
| Motivos de suspensión | El texto se devuelve como eco en cPanel y se almacena por cuenta. Conviene prever volver a registrar el motivo de cada cuenta suspendida actualmente. |
| Todo lo que llamaba a la API de cPanel | Scripts orientados a los clientes, hooks, extensiones de terceros. No tienen equivalentes en DirectAdmin por defecto. |
| Cuotas de disco que nunca se aplicaron | Véase más abajo. Esta es una ola de tickets, no un problema de datos. |
La trampa de las cuotas, y por qué llega en la primera semana
Un servidor cPanel solo aplica las cuotas de disco cuando el sistema de archivos donde residen las cuentas admite cuotas. Sin eso, WHM acepta el paquete, acepta la cifra y no aplica nada. Lo medimos exactamente así en un servidor WHM 11.136 en funcionamiento: una cuenta movida a un paquete con una cuota de 2 GB siguió anunciando su límite como unlimited, y las cifras de disco por cuenta volvieron vacías. Nada falló y nada fue rechazado.
Si ese es el estado del parque, cada cuenta ha tenido de hecho disco ilimitado durante todo el tiempo que eso fue cierto, y algunas habrán crecido muy por encima de lo que se les vendió. Al pasar a un panel que sí aplica la cuota configurada, todas chocan contra el muro la misma semana.
Conviene comprobarlo antes de planificar la migración, no durante. Si las cuotas no se están aplicando, hay una decisión que tomar sobre las cuentas que se han pasado (subirles el límite, contactar con ellas o tarificarlas), y es una decisión mucho mejor de tomar por adelantado que en una cola de tickets.
La prueba de conexión de Provibr indica si las cuotas se aplican de verdad en un servidor cPanel, junto a la versión y los recuentos de cuentas, lo que es una forma económica de saberlo. También es la razón por la que la plataforma lee el límite de disco de una cuenta en la cuenta y no en el paquete: lo que la cuenta anuncia es lo que está en vigor.
Hacerlo por cohortes, y contar con meses
El patrón que funciona es aburrido, y es el único que funciona.
Dirigir primero los pedidos nuevos a DirectAdmin. Para esto no tiene que moverse nada, el panel de destino se pone a prueba en condiciones reales, y se aprende su comportamiento sobre cuentas de las que nadie depende desde hace años.
Después, mover las cuentas con la peor relación entre licencia e ingresos. Los planes más baratos, cuyos clientes menos se preocupan por la interfaz.
Luego, todo lo demás, en lotes que se puedan asumir. Un tamaño de lote en el que una mala tarde sea recuperable, que para la mayoría de los hosters es menor de lo que planean al principio.
Mantener el panel antiguo hasta que la última cuenta haya salido de él y haya pasado un ciclo de facturación completo. El mes posterior a una migración es cuando el contador se reinicia, salen las facturas y aparecen los desajustes.
Los meses intermedios
Durante todo ese tramo se operan dos paneles. Dos inicios de sesión, dos formas de contar lo vendido, dos lugares donde mirar cuando llama un cliente, y dos conjuntos de automatización que deben ponerse de acuerdo sobre quién está suspendido. Ese periodo es el verdadero coste del traslado, y es la razón por la que muchos hosters deciden migrar y luego nunca empiezan.
Provibr conecta ambos paneles a la misma cuenta. Una cuenta cPanel y una cuenta DirectAdmin figuran en la misma lista de servidores, cuentan para la misma capacidad y llegan a la misma factura mensual, con las mismas acciones detrás: suspender, reactivar, cambiar de paquete y eliminar. El agente se conecta hacia fuera desde la red propia, de modo que ninguno de los dos servidores necesita abrir un puerto entrante y nada se instala en ninguno de ellos. Las cuentas que no se hayan creado a través de Provibr se dejan intactas hasta que se importan, así que un panel que ya tiene cuatrocientas cuentas se convierte en algo que se adopta y no en algo que se reconstruye.
No traslada los datos. Elimina la razón para posponer su traslado.
Lecturas relacionadas
- DirectAdmin frente a cPanel: los números de 2026: la curva de coste por cuenta y nueve diferencias operativas.
- La subida de precios de cPanel de 2026: la aritmética por tamaño de parque y las cuatro salidas.
- Configurar DirectAdmin: claves de conexión, paquetes, planes web e importación de cuentas.
Los precios públicos de cPanel de 2026 proceden de la cobertura pública del anuncio en vigor el 1 de enero de 2026; los precios de DirectAdmin se tomaron de directadmin.com el 21 de agosto de 2026. Todos los comportamientos de API descritos aquí se midieron contra servidores cPanel y DirectAdmin en funcionamiento durante la construcción de las integraciones de Provibr. No se hace ninguna afirmación sobre la herramienta de conversión de datos de ningún fabricante, que no hemos probado.