Migración ISPConfig · 16 min read · Sep 12, 2025

Cómo migrar ISPConfig 2, ISPConfig 3, Confixx, CPanel o Plesk a ISPConfig 3.2 o ISPConfig 3.3 (servidor único)

En este tutorial, mostraremos cómo usar la Herramienta de Migración de ISPConfig 2.0 para migrar un servidor único a un nuevo servidor ISPConfig 3.x. La Herramienta de Migración es parte del kit de herramientas de migración de ISPConfig que está disponible aquí.

La Herramienta de Migración de ISPConfig se puede usar para migrar estos Paneles de Control de Hosting a un servidor ISPConfig 3.x:

  • ISPConfig 2
  • ISPConfig 3 a 3.3
  • Plesk 10 - 12.5
  • Plesk Onyx
  • Confixx
  • Cpanel

En este tutorial, migramos un servidor ISPConfig 3.x a un nuevo sistema que ejecuta ISPConfig 3.2 o 3.3. La migración desde otros paneles de control de hosting compatibles se realiza de manera similar. La Herramienta de Migración te guiará paso a paso a través del proceso de migración.

Requisitos previos y notas

  • ISPConfig 3.x en el servidor de origen.
  • ISPConfig 3.1.7 o superior en el servidor de destino.
  • PHP 5.3+ con soporte para JSON, mcrypt, OpenSSL y mbstring en el origen.
  • Los servidores antiguo y nuevo no deben estar conectados al mismo servidor maestro. Si están conectados al mismo maestro, usa ISPCopy en su lugar (que también es parte del Kit de Herramientas de Migración).
  • Licencia del Kit de Herramientas de Migración.
  • Certificados de Let’s Encrypt: El servidor antiguo y el nuevo deben usar el mismo cliente de Let’s Encrypt. Si tu servidor antiguo usa Certbot, asegúrate de que el nuevo sistema también use Certbot y no Acme.sh. Si instalas el nuevo servidor usando el instalador automático de ISPConfig y tu servidor antiguo usa certbot, entonces usa el interruptor de línea de comandos –use-certbot en el instalador automático para instalar certbot en lugar de acme.sh en el nuevo servidor.
  • Configuraciones multiserver: La Herramienta de Migración es capaz de migrar configuraciones multiserver de ISPConfig. El destino de tal migración puede ser otra configuración multiserver, o puedes fusionar una configuración multiserver en una nueva configuración de servidor único. La Herramienta de Migración debe ejecutarse en cada nodo (antiguo) de una configuración multiserver uno tras otro, el sistema ISPConfig de destino es el nodo maestro de la nueva configuración multiserver (la Herramienta de Migración mostrará un diálogo donde puedes seleccionar en qué nuevo nodo de la configuración multiserver se migrarán los datos) o el nuevo servidor único.

Crear un usuario remoto en ISPConfig

Necesitas un usuario remoto en el servidor ISPConfig de destino.

Ve a Sistema -> Usuario Remoto

Agregar usuario remoto en ISPConfig.

Haz clic en el botón Agregar nuevo usuario.

Ingresa un nombre de usuario y una contraseña para el usuario remoto, por ejemplo, “remoter” y asegúrate de haber marcado todas las casillas. Luego haz clic en “guardar”.

Permisos del usuario remoto

Si estás usando una versión de ISPConfig 3.1.11 en el servidor de destino, edita el archivo / usr /local/ ispconfig /security/security_settings.ini como usuario root:

nano / usr /local/ ispconfig /security/security_settings.ini

y cambia los valores de ids_anon_enabled e ids_user_enabled de ‘yes’ a ‘no’.

....  
[ids]  
ids_anon_enabled=no  
ids_anon_log_level=1  
ids_anon_warn_level=5  
ids_anon_block_level=20  
ids_user_enabled=no  
ids_user_log_level=1  
ids_user_warn_level=10  
ids_user_block_level=25  
ids_admin_enabled=no  
ids_admin_log_level=1  
ids_admin_warn_level=5  
ids_admin_block_level=100  
sql_scan_enabled=yes  
sql_scan_action=warn  
apache_directives_scan_enabled=yes  
nginx_directives_scan_enabled=yes  
....

El IDS puede habilitarse nuevamente cuando la migración haya finalizado. Si usas ISPConfig 3.1.12 o superior, entonces este cambio no es necesario.

A continuación, verifica si el módulo php-soap está instalado en el servidor de destino. Si no está instalado, instálalo ahora. En Debian y Ubuntu, puedes instalar el módulo PHP Soap con apt:

apt-get install php-soap

Otro requisito es que el servidor de destino y el de origen deben tener rsync instalado. Verifica con, por ejemplo:

rsync --version

en ambos nodos que rsync esté instalado. Si no está instalado, entonces instala el paquete rsync del sistema operativo. Por ejemplo, con:

apt-get install rsync

en Debian y Ubuntu o con:

yum install rsync

en CentOS.

En el servidor de destino, puede haber un archivo /etc/ssh/sshd_config.d/custom.conf creado por el instalador automático de ISPConfig que impide que la herramienta de migración funcione. Este archivo debe ser eliminado si existe. Ejecuta este comando en el servidor de destino como usuario root para eliminar el archivo:

rm /etc/ssh/sshd_config.d/custom.conf

Todos los siguientes pasos se realizan en el servidor de origen a menos que se indique lo contrario.

Descargar y extraer la Herramienta de Migración

cd /root  
mkdir migration  
cd migration  
wget https://www.ispconfig.org/downloads/ispconfig_migration_toolkit-latest.zip  
unzip ispconfig_migration_toolkit-latest.zip  
mv ispconfig_migration_toolkit/ispc3-migration-tool-*.tar.gz /root/migration/migtool.tar.gz  
tar xzf migtool.tar.gz  
rm -f migtool.tar.gz

Preparar inicio de sesión sin contraseña (opcional)

Durante la migración, habrá una conexión SSH para transferir configuraciones y datos del servidor de origen a los servidores de destino. Para esto, el servidor de origen debe poder conectarse a los destinos sin contraseña.

Puedes:

  • Configurar el inicio de sesión sin contraseña tú mismo (agregar la clave pública del origen al archivo authorized_keys del root del destino).
  • O permitir el acceso root a través de ssh al destino por contraseña (temporalmente). La Herramienta de Migración luego llamará a ssh-keygen y ssh-copy-id por ti. Estas son llamadas directas al sistema, así que si se te solicita la contraseña de root ssh del destino durante este paso, la entrada NO es leída por la Herramienta de Migración, es un aviso directo del comando del sistema ssh-copy-id.

Ejecutar la migración (prueba)

./migrate

Si deseas ejecutar la herramienta en una versión específica de PHP (por ejemplo, PHP 7.4 en Ubuntu 22.04), entonces usa este comando en su lugar:

PHP=/usr/bin/php7.4 ./migrate

El resultado de cualquiera de los comandos anteriores será como este:

Bienvenido a la Herramienta de Migración ISPConfig3 V2 Versión 2.0.0

Aunque esta herramienta no altera nada en el servidor de origen, debes
SIEMPRE hacer una COPIA DE SEGURIDAD de todos tus datos antes de migrar a un nuevo servidor!

Necesitas tener algunos requisitos previos configurados para usar esta herramienta:
 * crear un usuario remoto (sistema -> usuarios remotos) en tu sistema ISPConfig3 de DESTINO y otorgarle TODOS los derechos
 * asegurarte de que este (el sistema de ORIGEN) pueda alcanzar la API de remota del sistema de DESTINO

* Renuncia de Garantías *
ISPConfig renuncia en la máxima medida permitida por la ley a cualquier y todas las demás garantías, ya sean expresas o implícitas,
incluyendo, sin limitación, cualquier garantía implícita de título, no infracción, integración, comerciabilidad o
aptitud para un propósito particular.
Al continuar usando este software, aceptas esto.

Primero, la pregunta más importante:
¿Quieres hacer una migración real o una prueba? (prueba, migrar): prueba

Queremos ejecutar en modo de prueba primero, así que ingresamos prueba aquí.

Los siguientes módulos están disponibles:
        1. Migrador de Confixx a ISPConfig 3 (confixx)
        2. Migrador de Plesk (10.5 - 17.5) a ISPConfig 3 (plesk)
        3. Migrador de ISPConfig 2 a 3 (ispconfig2)
        4. Migrador de ISPConfig 3 a ISPConfig 3 (ispconfig3)

¿Cuál es el que coincide con tu sistema de ORIGEN? (confixx, plesk, ispconfig2, ispconfig3): ispconfig3

La Herramienta de Migración necesita saber qué panel de control estás usando en tu servidor de origen. Intenta reconocer el módulo requerido en el servidor de origen, así que normalmente puedes simplemente presionar ENTER.

Ingresa la IP de este servidor (ORIGEN) que se usa para conexiones salientes [192.168.10.10]: 123.123.123.123

La Herramienta de Migración necesita saber qué dirección IP en el servidor de origen se usa para conexiones salientes, es decir, qué dirección IP verán otros servidores cuando el origen se conecte a ellos. La herramienta intenta adivinar la dirección IP, pero es posible que debas cambiar el valor si estás usando una red privada, por ejemplo.

Nombre del usuario remoto del sistema ISPConfig3 de DESTINO []: remoter
Contraseña para este usuario remoto []: yourremotepassword
URL al sistema remoto (por ejemplo, https://tudominio.com:8080/remote/) []: https://www.example.com:8080/remote/
Me diste el usuario remoto 'remoter' con la contraseña 'yourremotepassword'
Y debo conectarme a 'https://www.example.com:8080/remote/' 
¿Es correcto? (y, n): y

Proporciona a la Herramienta de Migración los datos del usuario remoto que creaste en el destino y confirma tu entrada con “y”. La Herramienta de Migración intentará conectarse a la API remota de tu sistema de destino.

Ahora tendré que hacer algunos cambios en la configuración de tu sistema ISPConfig3 de DESTINO.
        1.) Habilitar el módulo de dominio si es necesario
        2.) Eliminar prefijos de cliente (se deshará automáticamente al final)
        3.) Habilitar inicio de sesión para cuentas de correo si es necesario

Probando conexión MySQL ... OK

¿Cuál es la IP pública principal(!) del servidor de destino www.example.com? [123.123.123.123]: [ENTER]

La Herramienta de Migración cambiará algunas configuraciones de ISPConfig en el destino (estos cambios no se realizarán cuando se ejecute en modo de prueba) y probará la conexión al servidor MySQL. Intenta adivinar las credenciales de MySQL mirando algunos archivos del sistema, pero eventualmente se te pedirá la contraseña de root de MySQL.

A continuación, necesitas proporcionar la IP pública del servidor de destino. Se prefetchará desde DNS, pero es posible que debas ajustarla, especialmente si usas el mismo nombre de host en el origen y el destino.

¿Quieres que sobrescriba/actualice las entradas existentes con el mismo nombre? (y, n): y
Puedes ahora establecer nombres de entrada que NO deben ser sobrescritos.
Deberías usar esto si planeas importar los datos de varios servidores a una instalación multiserver.
Si esta herramienta encuentra un nombre que ya está presente, ¡actualiza los datos con los datos del ORIGEN!
Si esta herramienta encuentra un nombre que marcaste como no sobrescribir, ya sea
         - agrega un _2, _3, etc. a este nombre y crea una nueva entrada, o
         - antepone un prefijo de servidor si se especifica mediante el argumento --server-prefix

La Herramienta de Migración permite fusionar múltiples servidores en uno de destino. Al hacer esto, puede ser que haya nombres de usuario en conflicto en los servidores de origen, por ejemplo, si tienes dos bases de datos con el nombre “testdatabase”. Si respondes “y” a esta pregunta, entonces la segunda base de datos reemplazará a la primera. Si respondes “n”, entonces cambiará el nombre de la segunda base de datos a “testdatabase_2”.

Asegúrate de responder “y” al hacer una migración de servidor único porque de lo contrario, crearás duplicados si ejecutas la herramienta de migración varias veces en el mismo origen.

Actualmente tienes 0 nombre(s) de usuario FTP marcados:

Puedes ahora agregar más nombres a esta lista. Simplemente ingrésalos uno por uno o proporciona una lista separada por comas.
Para eliminar uno o más nombres de la lista, antepón un /DELETE a tu entrada.
Para borrar todos los nombres de la lista, escribe /CLEAR.
Una entrada en blanco procede al siguiente paso.
Tu elección : [ENTER]

La Herramienta de Migración te ofrece marcar algunos nombres de usuario para FTP, bases de datos, clientes, etc. como “reservados”. Esto significa que no serán sobrescritos como se mencionó en la sección anterior. Normalmente dejarás esto en blanco, pero en algunos casos podrías evitar que nombres de usuario como “admin” o “administrator” sean importados. Así que puedes ingresarlos aquí, lo que resultará en un cambio de nombre de los nombres importados a “admin_2”, etc.

La pregunta se repite para los diferentes tipos de servicios (FTP, base de datos, clientes, usuarios de correo).

¿Cuál es el nombre de la base de datos de tu instalación ISPConfig 3 de ORIGEN? [dbispconfig]: [ENTER]

La herramienta ahora pregunta por el nombre de la base de datos en el servidor de origen que contiene los datos del panel de control. Verifica si la base de datos reconocida es correcta y cámbiala si es necesario.

¿Quieres migrar solo algunos servicios o todo?                                                                 
Los servicios válidos son: cliente, web, correo, ftp, base de datos, cronjob, dns, facturación                                               
Por favor ingresa uno o más servicios (separados por comas) o deja en blanco para todos: [ENTER]

La nueva Herramienta de Migración es capaz de migrar solo un subconjunto de servicios, por ejemplo, migrar solo cuentas de correo y omitir webs, etc.

Queremos migrar todos los servicios, así que simplemente dejamos la entrada en blanco y presionamos ENTER.

Para copiar datos web, necesito acceso SSH al servidor web de destino.
Por favor asegúrate de que el inicio de sesión root a través de SSH esté permitido. En el destino abre /etc/ssh/sshd_config
y establece PermitRootLogin en yes o sin-password.
Puedes revertir esto una vez que la migración esté completa.

¿Cuál es la ip para el servidor web de destino para conectarse a través de SSH? [123.123.123.123]: [ENTER]
¿Cuál es el puerto SSH? [22]: [ENTER]

Para copiar datos web, correo y de bases de datos, la Herramienta de Migración requiere acceso SSH sin contraseña al servidor de destino. Necesitas proporcionar la ip y el puerto a los que el origen debe conectarse. Si no has configurado aún el acceso sin contraseña, se te pedirá la contraseña de root SSH del servidor de destino.

Probando conexión MySQL ... OK

Iniciando llamadas a la API.

[50/74]  procesando mydomain.com

La herramienta ahora comenzará a crear/actualizar todas las entradas en el ISPConfig de destino. En modo de prueba, no cambiará ni copiará nada, por supuesto. Espera a que finalicen las llamadas a la API.

Procesamiento de entradas completado.                                                                                               
=============
La ejecución de la herramienta de migración se completó.

Una vez que la herramienta de migración haya terminado la prueba sin errores, podemos continuar con la migración real.

Ejecutar la migración

./migrate

Si deseas ejecutar la herramienta en una versión específica de PHP (por ejemplo, PHP 7.4 en Ubuntu 22.04), entonces usa este comando en su lugar:

PHP=/usr/bin/php7.4 ./migrate

El resultado de cualquiera de los comandos anteriores será como este:

    Bienvenido a la Herramienta de Migración ISPConfig3 V2 Versión 2.0.0rc2

Aunque esta herramienta no altera nada en el servidor de origen, debes
SIEMPRE hacer una COPIA DE SEGURIDAD de todos tus datos antes de migrar a un nuevo servidor!

Necesitas tener algunos requisitos previos configurados para usar esta herramienta:
 * crear un usuario remoto (sistema -> usuarios remotos) en tu sistema ISPConfig3 de DESTINO y otorgarle TODOS los derechos
 * asegurarte de que este (el sistema de ORIGEN) pueda alcanzar la API de remota del sistema de DESTINO

* Renuncia de Garantías *
ISPConfig renuncia en la máxima medida permitida por la ley a cualquier y todas las demás garantías, ya sean expresas o implícitas,
incluyendo, sin limitación, cualquier garantía implícita de título, no infracción, integración, comerciabilidad o
aptitud para un propósito particular.
Al continuar usando este software, aceptas esto.

Primero, la pregunta más importante:
¿Quieres hacer una migración real o una prueba? (prueba, migrar): migrar

Esta vez respondemos al aviso con “migrar” y respondemos las preguntas tal como lo hicimos durante la prueba. La herramienta tendrá tus entradas de la prueba prellenadas, así que en su mayoría podrás presionar ENTER.

Probando conexión MySQL ... OK
Copiando archivos de Let'sEncrypt al destino ... OK

Iniciando llamadas a la API.
[9/11]  procesando [email protected] (web213p41)

Esta vez el proceso tomará un poco más de tiempo ya que se están realizando llamadas a la API reales. Espera a que finalice el proceso.

Procesamiento de entradas completado.                                                                                               
La cola de trabajos de ISPConfig de destino tiene 35 entradas restantes. Esperando .. 

Para asegurarse de que todos los caminos se creen en el destino, la Herramienta de Migración espera a que ISPConfig procese todas las solicitudes antes de continuar.

[INFO] La cola de trabajos de ISPConfig de destino se ha completado. Continuando.

[19/935] Sincronizando /var/www/clients/client26/web21/web a /var/www/clients/client1424/web21/

Ahora la herramienta sincroniza todos los caminos (web, correo) y copia el contenido de la base de datos al servidor de destino. Este proceso puede tardar un tiempo dependiendo de la cantidad de datos que tengas.

Si deseas realizar la sincronización de datos real en un paso separado, puedes omitirlo ejecutando ./migrate –no-syncjobs en lugar de simplemente ./migrate

Pasos finales

La Herramienta de Migración restablecerá los valores que cambió al principio (por ejemplo, prefijos de cliente).

Dependiendo de tu panel de control de origen, la Herramienta de Migración activó el módulo de dominio en tu ISPConfig de destino. Esto significa que los dominios solo pueden usarse para sitios web, dominios de correo, etc. si han sido asignados por un administrador primero (usando Cliente -> Dominios). Si no deseas usar el módulo de dominio, puedes desactivarlo en Sistema -> Configuración de interfaz -> Pestaña “Dominios”.

Finalmente, verifica el migrate.log que se creó para entradas que tengan marcadores [ERROR] o [WARNING]. Estos indican problemas durante el proceso de migración.

Re-Sincronizar tu destino

Re-Sincronizar cuentas y configuraciones

Si las cosas cambiaron en el panel de control de origen después de que realizaste la migración, puedes simplemente volver a ejecutarla. La Herramienta de Migración actualizará todas las entradas con las nuevas configuraciones de tu servidor de origen. Y agregará nuevas entradas que se hayan creado en el ínterin. Las entradas eliminadas en el origen no se eliminarán en el destino!

Re-Sincronizar datos

Si solo deseas re-sincronizar los datos para web, correo y bases de datos, puedes ejecutar ./migrate –syncjobs. Esto omitirá todos los pasos de migración y solo ejecutará la sincronización de sitios web, bases de datos y correos.

También puedes re-sincronizar solo uno de los servicios, por ejemplo, ./migrate –syncjobs –only=database. Esto omitirá la re-sincronización de datos de sitios web y correos.

Opciones avanzadas

Para obtener una lista de opciones avanzadas que permiten migrar, por ejemplo, sitios web individuales, dominios de correo o clientes, usa la opción –help.

./migrate --help

Las opciones actuales son:

Uso:  migrate 
        Lista de opciones:
        --help
                        Mostrar esta pantalla
        --server-prefix=
                Usar el prefijo dado para nombres de usuario en conflicto, si ocurren más
                conflictos, agrega _2 _3 _4 ... al nombre de usuario
        --source-temp-dir=
                Establecer un directorio temporal diferente para acciones en el servidor de origen que /tmp
        --target-temp-dir=
                Establecer un directorio temporal diferente para acciones en el servidor de destino que /tmp
        --syncjobs
                No ejecutar el proceso de migración, solo re-sincronizar todos los datos
                (archivos web, contenidos de base de datos)
        --no-syncjobs
                Solo hacer la migración, no copiar ningún archivo de datos o
                contenidos de base de datos al destino
        --ignore-sync-errors
                No abortar el procesamiento de syncjobs si ocurre un error. Esto
                puede ser útil, por ejemplo, si un comando como chattr no funciona correctamente en el
                servidor de destino.
        --confixx-no-domain
                En una migración de confixx (servidor de origen) no crear un
                sitio web ficticio que contenga
                todos los demás dominios de ese cliente como dominios alias.
                Confixx usa un enfoque diferente para almacenar y
                gestionar dominios, por lo que no hay un
                dominio "principal", sino un hosting en su lugar, que tiene todos
                los dominios asignados.
                En servidores confixx donde los clientes solo tienen un único
                dominio, puede ser mejor no
                crear un sitio web ficticio con un solo alias, sino usar el
                dominio como sitio web en su lugar.
        --only=client|web|mail|ftp|database|cronjob|dns|billing
                Solo migrar el/los servicio(s) dado(s) y omitir los demás.
                Puede proporcionarse varias veces.
        --exclude=client|web|mail|ftp|database|cronjob|dns|billing
                Migrar todos los servicios pero el/los dado(s). Puede
                proporcionarse varias veces.
        --only=/--exclude= en --syncjobs run
                Al limitar la re-sincronización a servicios individuales, solo web,
                correo, base de datos, sistema son válidos.
        --only-client=
                Solo migrar un único cliente y sus datos (web, correo
                etc.). Esto puede usarse junto
                con --only= / --exclude= para limitar aún más los datos migrados.
        --only-web=
                Solo migrar el dominio dado y sus bases de datos, cuentas ftp, etc.
                Esto puede usarse junto con los otros
                --only-x/--exclude-x y --only=/--exclude= opciones
                para especificar los datos que se migrarán.
        --only-mail=
                Solo migrar el dominio de correo dado y sus cuentas de
                correo asignadas, filtro de spam, etc.
                Esto puede usarse junto con los otros
                --only-x/--exclude-x y --only=/--exclude= opciones
                para especificar los datos que se migrarán.
        --only-database=
                Solo migrar la base de datos dada y su sitio web padre.
                Esto puede usarse junto con los otros
                --only-x/--exclude-x y --only=/--exclude= opciones
                para especificar los datos que se migrarán.
        --only-dns=
                Solo migrar la zona DNS dada y sus registros DNS asignados.

                Las opciones anteriores también se pueden usar de manera opuesta,
                usando --exclude-client, --exclude-web,
                --exclude-mail, --exclude-database, --exclude-dns
                ¡ADVERTENCIA! ¡Los clientes SIEMPRE deben ser migrados, de lo contrario
                tendrás todos los datos migrados asignados
                al usuario admin en lugar del cliente!
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.