WHM y cPanel proveen una útil y poderosa herramienta que permite copiar múltiples cuentas de un servidor remoto a su servidor con cPanel y WHM. En este tutorial explicamos en detalle cómo hacer uso de dicha herramienta.

Introducción y requisitos previos

Para poder utilizar esta herramienta usted debe tener:

— Acceso SSH al servidor remoto;
— Debe ser usuario root o contar con privilegios administrativos a través del comando sudo.

Tenga en cuenta que:

  1. La característica Transfer Tool o "Herramienta de transferencia" requiere una bases de datos MySQL o compatible (como MariaDB) en el servidor destino para poder funcionar adecuadamente.
  2. Si usted experimenta problemas con timeouts en la sesión, aumente el número de segundos estableciéndolo en el número de segundos en el que una conexión SSH relacionada con una cuenta de transferencia puede estar inactiva antes de que el tiempo se agote. Esto puede configurarlo en la sección Sistema de su WHM a través de la interfaz de Ajustes especiales (Inicio -> Configuración del servidor -> Ajustes especiales)
  3. Si una de las cuentas que usted quiere transferir utiliza Microsoft FrontPage en el servidor remoto, es muy recomendable que deshabilite FrontPage en esa cuenta antes de intentar utilizar la herramienta de transferencia. Las versiones 11.46 y superiores de cPanel y WHM no soportan FrontPage, y el proceso de restauración no restablece archivos y directorios específicos de FrontPage.

Advertencia:
No apague ni reinicie ningún proceso en ninguno de los servidores durante el proceso de transferencia y restauración.
La característica "Herramienta de transferencia" no transfiere las plantillas de zonas DNS. Si existen plantillas personalizadas de zonas DNS en el servidor fuente, el sistema ignorará esta información cuando cree la cuenta en el servidor destino. Para más información lea cómo es el proceso en el resto de esta guía.

Nota importante sobre la transferencia de cuentas desde Plesk

Para transferir cuentas desde Plesk, primero debe cambiar cualquier redirección de dominio (Redirige en cPanel) a cuentas de alojamiento físicas. Para hacerlo, ejecute el siguiente comando como usuario root:

/usr/local/psa/bin/domain --update ejemplo.com -hst_type phys -login "ejemplo" -hosting true -ip 123.45.67.89 -passwd "micontraseña123"

En el comando:

ejemplo.com representa el dominio redirigido.
ejemplo representa el nombre de usuario de la nueva cuenta.
123.45.67.89 representa la dirección IP de la nueva cuenta.
micontraseña123 representa la contraseña de la nueva cuenta.

Si necesita convertir varios dominios redirigidos en cuentas de alojamiento, debe abrir un ticket de soporte en el sitio web de cPanel (tickets cPanel).

¿Cómo transferir y restaurar múltiples cuentas?

Información del servidor remoto

Esta sección de la interfaz de la herramienta de transferencia le permite especificar información sobre el servidor desde el cual usted transferirá las cuentas.

  1. En el cuadro de texto Dirección del servidor remoto, ingrese una dirección IP o un nombre de dominio totalmente calificado (FQDN, por sus siglas en inglés).

    1. Ejemplo de dirección IP: 123.45.67.89.
    2. Ejemplo de FQDN: host.ejemplo.com.
      Nota: en este caso, el FQDN no requiere el punto al final.
  2. En el cuadro de texto Puerto SSH Remoto, especifique el puerto a utilizar.

    1. Nota: el puerto predeterminado para el protocolo SSH es el 22.

Autenticación

En esta sección de la interfaz de la herramienta de transferencia, se especifica el método de autenticación con el cual se ingresará al servidor remoto.

Para especificar un método de autenticación, siga los siguientes pasos:

  1. Seleccione si desea iniciar sesión como usuario root o con un nombre de usuario específico.
    Nota: si el valor PermitRootLogin no está en el archivo sshd_config del servidor remoto, debe iniciar sesión como un usuario distinto a root y luego escalar al usuario root.

  2. Si usted seleccionó Usuario bajo la sección "Iniciar sesión", lleve a cabo las siguientes acciones:

    1. Ingrese el nombre de usuario de la cuenta remota en el cuadro de texto Nombre de usuario.
    2. Ingrese la contraseña de la cuenta remota en el cuadro de texto contraseña.
  3. Use el menú Método de autenticación para especificar si usará una contraseña u ocupará una clave pública SSH para autenticarse en el servidor remoto.

    1. Si selecciona Contraseña, ingrese la contraseña de la cuenta en el cuadro de texto Contraseña.
    2. Si selecciona Clave pública SSH, seleccione la clave que usará durante la autenticación. Asegúrese de que ha instalado la clave apropiada en la interfaz Administrar las claves SSH root del WHM (Inicio -> Seguridad -> Administrar las claves SSH root).
      Nota: Si usted encriptó la clave pública SSH de su cuenta, ingrese la contraseña o passphrase de la clave SSH.
  4. Si usted selecciona Usuario en "Iniciar sesión", seleccione un método de escalamiento a root en la sección "Método de escalamiento a root".

    1. Si selecciona su como el método de escalamiento root, ingrese la contraseña root en el cuadro de texto Contraseña root.

Seguridad

En esta sección de la interfaz de la herramienta de transferencia, seleccione si desea usar la característica de restauración restrictiva o copiar los privilegios de reseller (revendedor).

La característica de restauración restrictiva lleva a cabo verificaciones de seguridad adicionales en el archivo de respaldo con el fin de mitigar el riesgo de transferencias desde fuentes no reconocidas. Si existe algún problema con el componente del archivo de respaldo (por ejemplo, una tabla grant de MySQL está comprometida o existe un ataque a través de enlace simbólico), el sistema no restaurará esa porción del respaldo y agregará una advertencia al archivo de registro de errores.

Tenga en cuenta que:
— la característica de restauración restrictiva es experimental. No lo considere un control de seguridad efectivo por el momento. El comportamiento de esta característica puede cambiar en publicaciones futuras de cPanel y WHM. Tenga mucha precaución al usarla;
— si no confía en la fuente del respaldo de la cuenta con acceso root a su servidor, utilice la característica Restauración restrictiva para proteger su servidor;
— si desea usar la característica de restauración restrictiva para restaurar una cuenta que tiene bases de datos PostgreSQL, el servidor destino debe utilizar PostgreSQL versión 8.4 —o superior—;
— la característica de restauración restrictiva solo permite que las cuentas restauradas utilicen noshell o jailshell. Si la cuenta restaurada utiliza otro shell, el sistema establece noshell de forma predeterminada en dicha cuenta.

Avanzado

En esta sección de la interfaz de la herramienta de transferencia, se seleccionan las opciones avanzadas para la transferencia. Haga clic en Mostrar para mostrar la lista de opciones.

Para seleccionar las opciones avanzadas lleve a cabo los siguientes pasos:

  1. Para el menú Tipo de servidor remoto, seleccione el panel de control web que ejecuta el servidor remoto. Elija entre las siguientes opciones:

    1. Detectar automáticamente
    2. cPanel & WHM
    3. DirectAdmin
    4. Ensim (Parallels Pro)
    5. Plesk
  2. Seleccione sin cifrar para usar una sesión sin encriptar para la transferencia de archivos.

  3. Seleccione transferencias comprimidas para comprimir los archivos durante el proceso de rsync cuando el servidor remoto transfiera los archivos.

  4. Seleccione baja prioridad para usar menos recursos de CPU y de entrada/salida (I/O) en el servidor remoto.
    Esta opción reduce el impacto en el rendimiento del servidor remoto, pero aumenta la duración de la sesión de transferencia.

  5. Seleccione usar aceleración incremental de los respaldos para disminuir la cantidad de tiempo que el sistema utiliza para empaquetar la cuenta en el servidor fuente. Si existe un respaldo incremental diario, WHM usa ese respaldo como punto de partida. El sistema luego actualiza el paquete antes de transferirlo.

  6. Seleccione usar cuenta personalizada con módulos de empaquetamiento de /var/cpanel/lib/Whostmgr/Pkgacct para utilizar los scripts de empaquetamiento en ese directorio.
    El sistema no crea el directorio /var/cpanel/lib/Whostmgr/Pkgacct por defecto. Debe crear el directorio /var/cpanel/lib/Whostmgr/Pkgacct antes de seleccionar esta opción (en caso de que no exista).
    Notas: cPanel y WHM siempre priorizan los módulos de restauración personalizada en el directorio /var/cpanel/perl/Whostmgr/Transfers/Systems sobre los módulos provistos por cPanel en el directorio /usr/local/cpanel/Whostmgr/Transfers/Systems:
    — El directorio /var/cpanel/perl/Whostmgr/Transfers/Systems almacena cualquier módulo personalizado que usted cree.
    — El directorio /usr/local/cpanel/Whostmgr/Transfers/Systems almacena los módulos que entrega cPanel y WHM.

  7. Ingrese el número de hilos de transferencia a utilizar en el cuadro de texto Número de hilos de transferencia.

  8. Ingrese el número de hilos de restauración a utilizar en el cuadro de texto Número de hilos de restauración.

Obtener lista de cuentas

Después de completar el formulario con sus selecciones, haga clic en obtener lista de cuentas. Aparecerá una nueva interfaz.

La interfaz de lista de cuentas

La parte superior de la interfaz de lista de cuentas muestra el software de alojamiento con su versión en el servidor remoto. Si alguna información parece incorrecta por favor haga clic en reanalizar el servidor remoto.

Advertencia: si no existen direcciones IP disponibles en el servidor destino, las cuentas en el servidor remoto que usan una dirección IP dedicada no podrán ser transferidas.

Configuraciones del servicio

En esta sección de la interfaz de la lista de cuentas, seleccione las configuraciones en el servidor fuente que desea copiar en el servidor destino.

— Puede transferir configuraciones de Apache, respaldos, temas de cPanel, Exim, MySQL y WHM (whmconf).

Para seleccionar las configuraciones deseadas, siga los siguientes pasos:

  1. Ingrese el servidor remoto desde el cual desea transferir las configuraciones en el cuadro de texto Dirección del servidor remoto.
  2. Ingrese el número de puerto. El sistema toma el puerto 22 por defecto.
  3. Seleccione si desea iniciar sesión como usuario root o como otra cuenta de usuario. El sistema toma root como predeterminado.
  4. Seleccione el método de autenticación deseado. El sistema toma contraseña como opción predeterminada.
  5. Haga clic en obtener lista de cuentas. El sistema mostrará la información del servidor fuente.
  6. Haga clic en Mostrar junto a las configuraciones del servicio para revelar todas las configuraciones disponibles en su servidor. Las columnas Nombre de configuración y Análisis muestran las versiones y configuraciones disponibles.
  7. Seleccione las configuraciones que desea transferir a su servidor local.

Notas:
— El sistema muestra mensajes de advertencia en color amarillo y los mensajes de bloqueo en color rojo.
— Si recibe un mensaje de bloqueo, el sistema deshabilita la opción EasyApache.

  1. Haga clic en copiar. El sistema mostrará la interfaz de progreso.
    Notas:
    — No puede hacer clic en copiar hasta que seleccione una configuración para transferir.
    — La columna transferencia muestra el estatus de todas las configuraciones del servidor fuente.
    — La columna restauración muestra el estatus de todas las configuraciones del servidor destino.
    — El sistema muestra cualquier mensaje de error en amarillo y los mensajes de advertencia en rojo.

La barra resumen muestra las configuraciones transferidas o restauradas.

Restaurar la configuración PHP-FPM del archivo .yaml

Las configuraciones PHP-FPM de un usuario MultiPHP no se transfieren. Cuando utilice esta interfaz, el sistema transferirá las configuraciones PHP-FPM del archivo .yaml, pero no las restaurará. Esto se debe a un estatus no determinado de los servicios FPM y PHP. En cambio, el sistema copia la configuración PHP-FPM del archivo .yaml al archivo filename.php-fpm.transferred.

Para restaurar el archivo de configuración de PHP-FPM .yaml realice lo siguiente:

  1. Renombre el archivo con el nombre filename.php-fpm.yaml.

  2. Ejecute el siguiente comando:

     /scripts/php_fpm_config --rebuild
    

El sistema restaurará la configuración PHP-FPM de su cuenta del archivo .yaml.

Migraciones de CentOS, Red Hat, and CloudLinux 5

Nota importante:
El 31 de marzo de 2017 Red Hat hará obsoletos todos los sistemas cPanel 5. cPanel no proveerá entonces mantenimiento y actualizaciones de seguridad para estos sistemas. La interfaz de herramienta de transferencia puede asistirle en la migración de los sistemas CentOS a una versión más reciente. Recomendamos con ahínco migrar a un servidor con CentOS 7.

Para migrar su servidor con CentOS 5 a un servidor con CentOS 7, realice lo siguiente:

  1. Asegúrese que puede hacer un rebuild al sistema CentOS 7 en el área del cliente de {{hosting_name}}.
  2. Inicie sesión en su WHM como usuario root y navegue a la interfaz de la herramienta de transferencia.
  3. Realice los pasos de la sección Configuración de esta guía.

Nota: recomendamos que migre sus cuentas y configuraciones de forma separada. Primero debe migrar sus configuraciones.

  1. Verifique que su servidor esté funcionando como lo espera.
  2. Use la herramienta de transferencia para migrar las cuentas deseadas.

Paquetes

En esta sección de la interfaz de la lista de cuentas, seleccione los paquetes en el servidor remoto que va a copiar en su servidor local.

¿Cómo copiar paquetes?

Para copiar un paquete haga lo siguiente:

  1. Seleccione el paquete a copiar en la tabla bajo el subtítulo Paquetes:

    1. Marque la casilla al lado del subtítulo para seleccionar todos los paquetes de un servidor remoto.
    2. Utilice el cuadro de texto Buscar para filtrar paquetes específicos.
    3. Use los controles de navegación para navegar entre la lista de paquetes.
    4. Haga clic en columna para clasificar los paquetes de esa columna.
  2. Haga clic en copiar.

Cuentas

En esta sección de la interfaz de la lista de cuentas, busque y seleccione las cuentas que transferirá a su servidor local.

¿Cómo copiar cuentas?

Para alternar una opción para todas las cuentas, seleccione la casilla en la parte superior de la columna apropiada en el encabezado de la tabla.

Para copiar cuentas, siga los siguientes pasos:

  1. Seleccione las cuentas a copiar en tabla debajo del encabezado Cuentas.

    1. Para copiar todas las cuentas en el servidor remoto, seleccione la casilla en la parte superior de la columna en el encabezado de la tabla.
    2. Use el cuadro de texto "Buscar" para filtrar entre la lista de cuentas.
    3. Use los controles de navegación para navegar entre la lista de paquetes.
    4. Haga clic en el encabezado columna para clasificar las cuentas en esa columna.
  2. Especifique el nuevo nombre de usuario de la cuenta copiada e ingrese dicho nombre en el cuadro de texto Usuario.
    Nota: el cuadro de texto Uusario usa los siguientes colores como indicadores de advertencia:
    Rojo: indica que el nombre de usuario ya existe en este servidor, y la cuenta fallará al intentar copiarse si no cambia el nombre de usuario o selecciona sobrescribir.
    Amarillo: indica que la cuenta tiene una dirección IP dedicada en el servidor remoto.
    Verde: indica que la cuenta aún no existe.

  3. Seleccione las cuentas en las cuales el sistema asignará las direcciones IP dedicadas bajo la sección Direcciones IP dedicadas.
    La interfaz no permite asignar más direcciones IP dedicadas que el número de direcciones IP disponibles en su servidor. Si selecciona una cuenta con una dirección IP dedicada en el servidor remoto, pero no existe una dirección IP disponible en su servidor, la transferencia será fallida.

  4. Seleccione las cuentas de las que transferirá el directorio /home bajo la sección Copiar directorio home.

    1. Utilice el cuadro de texto Filtro para filtrar la lista de cuentas por las columnas de dominio, usuario o revendedor.
      Nota: las cuentas retendrán la configuración del formato de la bandeja de entrada del servidor fuente. Por ejemplo, si una cuenta utiliza el formato maildir en el servidor fuente, también se usará el formato maildir en el servidor destino.
  5. Seleccione las cuentas que retendrán sus privilegios de revendedor bajo la sección Copiar privilegios de revendedor.
    Nota: esta opción no estará disponible si seleccionó la opción Restauración restrictiva en la sección de "Seguridad" de la interfaz previa.

  6. Seleccione las cuentas que transferirán sus bases de datos bajo la sección Copiar bases de datos.

  7. Seleccione las cuentas que transferirán sus datos de ancho de banda bajo la sección "Copiar datos de ancho de banda".
    Advertencia: si usted transfiere una cuenta de cPanel y WHM versión 11.50 a una versión más antigua, la cuenta perderá los datos de ancho de banda.

  8. Seleccione las cuentas que aplicarán transferencia express bajo la sección "Transferencia express".
    Nota: para más información, lea la sección "Transferencia express" de este documento.

  9. Si existe una cuenta en este servidor, la columna Sobrescribir cuenta muestra una casilla que le permite transferir la cuenta y sobrescribir todos los datos en dicha cuenta.

  10. Haga clic en Copiar.

Una vez que complete el proceso, aparecerá la interfaz de Transferencia de cuenta.

El proceso de transferencia

Notas previas:
— en los pasos mostrados a continuación, dominio representa el nombre de un dominio que transfirió;
— el sistema considera dos registros cualesquiera, que tengan el mismo nombre de recursos y el mismo tipo, como "duplicados";
— las configuraciones PHP-FPM de los usuarios MultiPHP no se transfieren. El sistema transferirá las configuraciones PHP-FPM del archivo .yaml, pero no las restaurará. Esto se debe a un estatus no determinado de los servicios FPM y PHP. En cambio, el sistema copia la configuración PHP-FPM del archivo .yaml al archivo filename.php-fpm.transferred. Para restaurar este archivo manualmente, vea la sección "Restaurar la configuración PHP-FPM del archivo .yaml" más arriba en este mismo artículo.

Cuando utilice la interfaz de la herramienta de transferencia para transferir cuentas, el sistema realiza las siguientes acciones:

  1. El sistema crea la cuenta.

  2. El sistema compara el archivo de zona DNS del archivo de respaldo de la cuenta con el archivo de zona generado por plantilla que el sistema generó durante la creación de la cuenta.
    La característica "herramienta de transferencia" no transfiere las plantillas de zonas DNS. Si existen plantillas de zonas DNS en el servidor fuente, el sistema ignora estas plantillas de zona cuando recrea la cuenta en el servidor destino.

  3. El sistema actualiza el registro SOA que coincide con las plantillas de zona del servidor destino y quita los comentarios del registro SOA existente en el servidor fuente.

  4. El sistema actualiza los registros NS del dominio para coincidir con las plantillas de zona del servidor destino y quita los comentarios de cualquier registro NS de dominios duplicados en el servidor fuente.

  5. El sistema actualiza los registros ftp.domain A, AAAA, CNAME para hacer coincidir las plantillas DNS del servidor destino y quita los comentarios de cualquier registro ftp.domain idéntico en el servidor fuente.
    cPanel y WHM usan la dirección IP en la plantilla de zona virtual-ftp del servidor destino (generalmente, la dirección IP principal del servidor) para el FTP virtual cuando la cuenta existe en una dirección IP compartida.

  6. El sistema comprueba si archivo de zona generado por plantilla utiliza una preferencia MX de 0, y luego realiza las siguientes acciones:

    1. Si la preferencia MX del archivo de zona es 0 y el archivo de zona es $PRIMARY_DOMAIN o mail.$PRIMARY_DOMAIN, entonces el sistema no fusiona en las plantillas generadas y no actualiza la preferencia MX del servidor fuente.
    2. Si la preferencia MX del archivo de zona es 0 y el archivo de zona no es $PRIMARY_DOMAIN o mail.$PRIMARY_DOMAIN (una configuración de correo no estándar), entonces el sistema fusiona las plantillas generadas y quita los comentarios de las plantillas en el servidor fuente.
    3. Por ejemplo, cuando el registro MX del archivo de zona define un servicio de correo externo, el sistema prefiere dicha entrada por encima del registro en el respaldo.
  7. El sistema quita el comentario de los registros duplicados.

  8. El sistema quita los comentarios de los registros CNAME que hacen conflicto con cualquier otro registro. Si dos o más registros CNAME hacen conflicto, el sistema quita los comentarios de todos los registros CNAME, excepto el primero.

  9. El sistema aumenta el número de serial SOA para el dominio.

  10. El sistema actualiza los registros que hacen referencia a las direcciones IP antiguas para usar la nueva dirección IP de la cuenta.

  11. El sistema eliminar los comentarios que tengan más de 30 días.

  12. El sistema actualiza los registros CalDAV y CardDAV para coincidir con la plantilla DNS del servidor destino.

  13. Si el archivo de zona contiene la directiva $ORIGIN para un dominio adicional, el sistema no actualizará esos registros de dominio adicionales.

Transferencia Express

Advertencia:
Asegúrese de que el servidor fuente controla los servidores de nombre con autoridad para el dominio antes de usar esta característica. Si no cumple con esto, puede causar que el DNS no sea resuelto —o traducido—, lo cual puede causar tiempo de inactividad o caídas en sus sitios.

Una transferencia express realiza las siguientes acciones en el servidor remoto:

  1. Actualiza el registro A de la cuenta para señalar al servidor destino.

  2. Cambia la entrada nameserver del dominio para que apunte al servidor destino.

  3. Actualiza la configuración de enrutamiento de correo electrónico, de modo que los correos lleguen al servidor destino.

  4. Agrega una redirección para la página Cuenta movida (cgi-sys/movingpage.cgi) para las siguientes extensiones de archivos:

     .dynamiccontent
     .pl
     .plx
     .perl
     .cgi
     .php
     .php4
     .php5
     .php6
     .php3
     .shmtl
    
  5. Suspende las cuentas transferidas en el servidor fuente.

El sistema lleva a cabo cambios en el servidor destino, específicamente en el directorio /usr/local/cpanel/scripts/xferpoint.

Recursos adicionales

Para complementar la información aquí presentada puede consultar los siguientes recursos. Aunque este material es provisto esperando que sea útil, tenga en cuenta que no podemos certificar su actualidad o precisión.