Transfiriendo un proyecto a Dreamhost

Introducción.

Este mes realice la transferencia de un proyecto que estaba albergado en un hosting un tanto incómodo (poco espacio, no acceso al shell, bases de datos limitadas, no acceso por SFTP, …) hacia Dreamhost donde están hospedados los demás proyectos.  Este proceso incluyó la transferencia del dominio desde el Registrar anterior, la copia de archivos y la copia de las bases de datos.  Pensé que la parte de actualización de los dominios iba a ser mas tortuosa pero en realidad no fue nada difícil, sin embargo amerita su documentación para futuras referencias.

Transferencia del dominio.

Para transferir el dominio al Registrar de Dreamhost se debe contar con las siguientes condiciones obligatorias.

  • Ser un dominio .com, .net, .org o .info.
  • Tener una cuenta (Web ID) con Dreamhost.
  • El dominio a transferirse debe tener mas de 60 dias de adquirido/renovado.
  • Tampoco debe estar a punto de vencerse ya que el proceso toma algunos días y es abortado si este se vence durante la transacción.  Un rango de tiempo mínimo es de 2 semanas antes de su vencimiento.
  • No debe estar asegurado (locked) o retenido (on-hold) por el Registrar actual.
  • Se debe contar con el código de transferencia del dominio provisto por el Registrar.
  • Se debe contar con acceso a la cuenta de correo del administrador del dominio registrada con él ya que a esta se envía un correo de confirmación.

Para iniciar la transferencia se accede al panel de control de Dreamhost (http://panel.dreamhost.com/) a través de los menúes Domains > Reg. Transfer.  En el campo Transfer a registration to us se debe especificar el nombre del dominio que va a ser trasladado.  Posteriormente el sistema solicita el código de transferencia (Transfer Auth Code) que lo entrega el Registrar de orígen y la información del Whois que puede ser la de Dreamhost si se desea privacidad o sus datos propios.

En este momento se envía un correo de confirmación a quien aparezca como administrador del dominio, este correo contiene una autorización que debe ser activada en un plazo máximo de 7 días o la transacción se terminará automáticamente.  Esta información se puede consultar a través de Whois.  Este proceso puede tomar algunos días.

Para formalizar la transferencia del dominio es obligatorio que se renueve el dominio por un año mas.  Este tiempo se suma al que tenga ya contratado el dominio en ese momento.

Después de realizada la transferencia del registro se especifican los servidores DNS (Whois nameservers) que manejaran el nombre, ya sean los del hosting orígen si se desea que se siga utilizando (útil si no se ha hecho aún la copia de archivos) o a los siguientes servidores de Dreamhost para que se utilicen los archivos almacenados allí.

  • ns1.dreamhost.com
  • ns2.dreamhost.com
  • ns3.dreamhost.com

Para verificar el cambio del dominio utilice un navegador web o la herramienta ping junto con el nombre del dominio en cuestión.  En éxito deberá aparecer el nuevo sitio o la nueva dirección IP respectivamente, a la cual apunta el dominio.

Si utiliza Windows Vista como sistema operativo, probablemente necesite renovar el caché del DNS ya que este habrá almacenado el valor inicial y se demorará cierto tiempo en solicitar el nuevo, impidiéndo que sea tomado en cuenta el cambio en el DNS ya propagado.  Para hacer esto realice los siguientes pasos.

  1. Haga click sobre el menú de inicio desplegándolo.
  2. En el campo de texto ubicado en la parte inferior donde dice “Iniciar la búsqueda” escriba cmd.
  3. Presione las teclas CTRL + SHIFT + ENTER.
  4. Presione el botón Continuar para aceptar la ejecución del Símbolo del sistema con permisos de administrador.
  5. Ejecute el comando: ipconfig /flushdns

Copia de seguridad de la base de datos.

Mientras se realiza la transferencia del registro es necesario continuar con el proceso de la copia de seguridad de la base de datos.  Como mencioné, el hosting orígen no me daba acceso a la línea de comando así que no podía utilizar mysqldump así que la copia de seguridad se realiza a través de PHPMyAdmin.  El procedimiento es muy sencillo.

  1. Ingrese al PHPMyAdmin del servicio de hosting con el nombre de usuario y contraseña de la base de datos que se va a exportar.
  2. En la parte izquierda seleccione la base de datos que se va a exportar (es posible que aparezcan varias).
  3. En la parte media superior elija la etiqueta Exportar.
  4. Seleccione las tablas (por defecto todas) que desea exportar y el formato (por defecto SQL).
  5. Elija la casilla Deshabilitar la revisión de las llaves extranjeras para evitar futuros problemas con la restauración de las tablas en desórden.
  6. Seleccione las casillas Estructura y Datos para que sean incluídos en la copia de seguridad.
  7. En la parte inferior seleccione Enviar (genera un archivo descargable) y presione el botón Continuar.
  8. Almacene este archivo para posteriormente trasladarlo al nuevo hosting.

Creación de la base de datos y restauración de la copia de seguridad.

El primer paso es crear la nueva base de datos en la cuenta de Dreamhost, para esto realice los siguientes pasos.

  1. Acceda al Panel de Dreamhost.
  2. Navegue a través de los menúes Goodies > Manage MySQL.
  3. Ubique la sección Create a New MySQL Database.
  4. Ingrese la información de la nueva base de datos.
  5. Presione el botón Add new database now!.
  6. Tome atenta nota de la información suministrada en este punto.

El segundo paso corresponde a la restauración de la copia de seguridad realizada anteriormente.  Para hacerlo siga los pasos dispuestos a continuación.

  1. Acceda al PHPMyAdmin asociado a la cuenta.  Esto se hace accediendo al host (corresponde al valor del campo Use Hostname del paso anterior) de la base de datos desde un navegador web.
  2. Ingrese utilizando el nombre de usuario y contraseña especificados durante el paso anterior.
  3. Seleccione en la parte media superior la etiqueta Importar.
  4. En la sección Archivo a importar presione el botón Examinar y seleccione el archivo donde almacenó la copia de seguridad de la base de datos.
  5. Presione el botón Continuar para terminar el proceso.

Copia de los archivos al nuevo hosting.

Para este momento la transferencia del dominio ya ha sido realizada y la base de datos se encuentra lista, el problema es que el sitio aún está vacío.  El único acceso al hosting de orígen es a través de FTP motivo por el cual se siguen estos pasos para realizar la copia de lo archivos del proyecto.

  1. Inicie una sesión SSH con su cuenta de Dreamhost.  Para esto utilice un cliente SSH como Putty (Windows).
    • Como Host name escriba su nombre de dominio, el cual ya debe ser accesible desde su ubicación.
    • Como Connection type elija SSH.
    • Presione el botón Open.
  2. En los campos Login as y Password ingrese los datos correspondientes al usuario propietario de la cuenta asociada al dominio, que de paso, es diferente al usuario administrador de su cuenta de Dreamhost.
  3. Acceda al directorio donde se almacenarán los archivos de su sitio web.  Dreamhost crea en las cuentas de los usuarios, un directorio por cada dominio asociado.  Estos directorios tienen como nombre el mismo nombre del dominio.

    $ cd midomino.com

  4. Utilice wget para realizar la copia de los archivos del hosting original hacia la cuenta en Dreamhost.

    $ wget –mirror ftp://USUARIO:CONTRASEÑA@HOSTING_ORIGEN/RUTA

    Modifique los valores de USUARIO (usuario FTP del hosting orígen), CONTRASEÑA (contraseña del usuario FTP del hosting orígen), HOSTING_ORÍGEN (nombre o dirección IP) y RUTA (ubicación de los archivos a copiar).

Ajustes finales.

Realice los ajustes finales que requiera su proyecto como configurar la nueva ubicación y autenticación de las bases de datos, asegurarse que los enlaces funcionen correctamente, etc.

Enlaces.