Migrar WordPress desde un hosting compartido a un VPS

Introducción

En estos tiempos donde la velocidad de carga puede darte un diferencial, más que todo para visitas provenientes de dispositivos móviles, y también son tiempos donde contratar un servidor virtual (VPS = Virtual Private Server) es tan barato como un hosting compartido, no aprovechar sus bondades y beneficios es una tontería.

¿Por qué? Pues para plantearlo de una forma sencilla digamos que un hosting compartido (si, el hosting común y corriente que conoces como de siteground, namecheap, banahosting, hostgator, etc) son empresas que tienen edificios multifamiliares donde le alquilan apartamentos a personas como tú, en algunos casos te alquilan un piso entero, pero en el fondo es un edificio muuuy alto, con muchos pequeños apartamentos que compartirás con inquilinos que nunca sabrás quienes son, algunos buenos y algunos malos y a diferencia del mundo real, la picardía de alguien de malas intenciones puede afectar a todos los habitantes del edificio. La conexión de electricidad, agua, gas, etc de este edificio es única y todos usan el mismo servicio lo que hace limitarte los recursos que puedes tomar.

En cambio un VPS es como si tu alquilaras ese edificio sólo para ti, claro, un edificio más pequeño pero que si lo comprendes bien, todas esas pequeñas habitaciones son tuyas y los recursos que tiene son sólo para ti, maximizando el potencial de tus webs, y entre esos beneficios esta también que te mejora la velocidad de carga, no por arte de magia, sino, porque dejas de compartir recursos con cientos de inqulinos.

Nivel de dificultad

Esta guía no es apta si nunca has subido un sitio web o si eres muy inexperto en temas de configuración de dominios, sitios y demás. Se podría decir que es para principiantes-intermedios en adelante y no para principiantes-basicos.

Ventajas y desventajas del Hosting compartido y los VPS

Ventajas Hosting Compartido

  • La administración es sencilla
  • Sólo contratas y la configuración de tus sitios es relativamente sencilla de configurar.
  • Su costo puede ser un poco menor que el VPS (no siempre).
  • Según el proveedor, por lo general no te preocupas mucho por la seguridad.

Desventajas Hosting Compartido

  • Compartes recursos con otros, entre ellos RAM, espacio en disco, IP.
  • Esta limitado y en algunos proveedores después de las 50,000 visitas diarias empiezan a decirte que debes cambiar de plan pues consumes muchos recursos.
  • Si tienes muchas visitas simultaneas puedes experimentar caídas o lentitud en tu web.
  • Si el proveedor lo cree conveniente te cierran los accesos y pierdes todo.

Ventajas VPS

  • Todos los recursos del servidor virtual son para ti.
  • La velocidad de carga mejora bastante.
  • La relación precio/calidad es muy superior.
  • Es como tener un servidor dedicado pero a un precio mucho menor.
  • La personalización es a tu gusto, eliges sistema operativo, software a usar.
  • Puedes realizar configuraciones que en hosting compartidos no puedes hacer.
  • El control es completamente tuyo, puedes reiniciarlo si lo necesitas por ejemplo.
  • Es más fácil de hacerlo crecer o disminuir según tus necesidades.
  • Puedes darle otros usos como P2P, juegos online, etc
  • Tienes acceso ROOT al servidor, algo que en un hosting compartido jamás vas a tener.

Desventajas VPS

  • Las versiones más económicas (como la que mostraré aquí) debes instalarla y configurarla tú.
  • Debes encargarte de la seguridad, aunque con lo que te mostraré aquí verás que no es tan complicado como antes.
  • Si tu web es aún pequeña, digamos menos de 5000 visitas al mes pueda que el VPS sea demasiado grande para ti. Claro pero si vas a crear más proyectos y tienes proyectado crecer en visitas, pueda que no sea mala opción.
  • Es ligeramente más caro que un hosting pequeño, pero al día de hoy a veces es hasta más barato un VPS que el hosting compartido.
  • La gestión de correos institucionales debes manejarlo por separado.
  • Requiere conocimientos de sistema operativo de servidor.
  • El responsable eres tú.
  • No hay panel de control o no estan tan orientados al usuario común, pero aquí te enseñaré como montar uno muy sencillo.
  • Debes llevar backups no sólo de tus webs, sino que en algunos casos de tu servidor en si.

En la suma y resta de ventajas y desventajas en ambos servicios y considerando que no todas tienen la misma ponderación, en el saldo el VPS sale ganando. Eso si, si tienes nula experiencia en administración de servidores, es muy probable que debas hacerte un curso básico, no porque sea obligatorio, sino más bien para perderle el miedo a usarlo.

Quiero mencionar también que estaré usando enlaces de afiliado, pues en el caso de Digital Ocean te darán un bono de $10 doláres lo cúal te servirá para cubrir hasta 2 meses del servidor más barato y que creo que es el que la mayoría podría usar. En el caso de ServerPilot aunque usarás la versión FREE, si en algún momento decides usar sus servicios de pago pues vas con mi referencia.

Bueno, la introducción se hizo más larga de lo que pensaba, y a mí no me gusta andar por las ramas, me gusta que las cosas vayan al punto sin tanto rodeo.

El proceso lo estoy haciendo lo más detallado pero al mismo tiempo lo más simple que puedo también. Así que manos a la obra.

¿Por qué Digital Ocean?

He elegido Digital Ocean porque después de hacer una profunda investigación de costos/beneficios fue el ganador. Analice unos 20 proveedores, y aunque en algunos a nivel precio estaban mejor, a nivel beneficios salían muy perjudicados, Digital Ocean se ha empeñado en que gente novata pueda usar sus servidores sin tanta complicación.

Otro punto que consideré es que su soporte, aunque en inglés, es muy eficiente y rápido. La comunidad y sus guías también son muy útiles, casi que todos los problemas con los que te puedes topar ya están en su foro o blog.

Si aún así, decides usar otro proveedor es tu decisión, sólo debes saltarte toda la parte que incluya Digital Ocean y tu deberás manejar todo el tema de seguridad y configuraciones básicas. Ahora manos a la obra.

Recomendaciones

  • Lee la guía completa por lo menos una vez antes de poner en práctica la migración.
  • En el momento en que procedas a realizar la migración, es decir, poner en práctica la guía, hazlo en un momento sin distracciones y lee punto a punto para evitar problemas.
  • Anota tus IPs, usuarios y password de todo en un bloc de notas y guárdalo en un lugar seguro, porque los usaras mucho durante el proceso y es mejor tenerlos a mano.
  • Dependiendo del tráfico que tenga tu web y de los cambios en el contenido que puedas tener por comentarios o acciones de los usuarios tal vez quieras poner el sitio en mantenimiento mientras realizas la migración, de esta forma te aseguras que los datos lleguen íntegros a tu nuevo servidor.
  • Viendo tu analytics puedes ver también que días y/o horas son en las que tienes menos tráfico y realizar el proceso en esas horas.
  • Si vas a poner el sitio en mantenimiento puedes usar el plugin Coming Soon Page & Maintenance Mode by SeedProd y realiza la instalación/configuración cuando hayas terminado de sacar el backup de tu sitio.
  • Casi todas las imagenes pueden ser ampliables al hacer clic sobre ellas, te recomiendo abrirlas en una ventana nueva para que no pierdas el hilo de lectura.
  • Esta es una guía que podrás ver y seguir mejor desde un ordenador de escritorio.

Software a utilizar

  • FileZilla: Cliente FTP
  • Putty: Cliente SSH / Telnet
  • Un navegador web limpio: Preferiblemente que no uses para que puedas limpiarlo por completo, ej: Firefox. Opera, Firefox Developer Edition, Chrome Canary

Si quieres puedes descargarlos e instalarlos ya o bien puedes esperar a que en la guía te pida que los uses.

Son varios pasos que escritos parecen ser muchos y complicados, pero la verdad, después de que lo pongas en práctica te darás cuenta que es muy sencillo y que la guía ha tratado de cubrir todos esos pequeños detalles, manos a la obra.

Crear cuenta en Digital Ocean

Resumen de como crear la cuenta en Digital Ocean

Pasos para crear la cuenta en Digital Ocean

Crear una cuenta en Digital Ocean es muy sencillo, sigue los siguientes pasos:

  1. Ve a la página de DO con este enlace (con este enlace recibes $10 de saldo promocional) y haz clic sobre el botón que dice “Sign Up”

  2. Luego rellena tus datos de registro (correo y password) y presiona el botón “Sign Up”. Si utilizaste el enlace de la guía te aparecerá la imagen como la de abajo, indicando que tendrás $10 dólares de saldo.
  3. Al registrarte te enviará un correo de activación, así que ahora ve a tu correo y haz clic en el enlace de activación. En la pantalla te quedará algo como esto mientras no hayas activado la cuenta.
  4. Luego de que actives la cuenta te mostrará la pantalla (ver imagen siguiente) para tu información de pago. Si bien tendrás $10 de saldo, debes agregar un método de pago, puede ser tarjeta de crédito o PayPal. Si usas tarjeta de crédito o débito (debito sólo en algunos países) no tienes que realizar ningún pago pero si vas a usar PayPal debes agregar como mínimo $5 como verificación de la cuenta. Usando PayPal tendrías al final $15 de saldo (con los $10 promocionales) lo que te serviría hasta por 3 meses de servicio.
    Ahora completa el proceso y pasemos al siguiente paso.
  5. Si todo salió bien, ahora verás la siguiente pantalla donde se te invita a crear el primer Droplet. Droplet en Digital Ocean es el nombre que les dan a los VPS.

Crear Droplet

Esta es la parte que asusta a muchos pero ya verás que es muy sencillo de hacer y trataré de explicar los puntos más importantes. Antes de que empieces a crear tu primer droplet, primero lee las siguientes aclaraciones.

Aclaraciones

  • Facturación DO: Mientras no hayas creado ningún Droplet, DO no va a descontarte nada del saldo (hasta un año creo que puedes esperar), así que por lo tanto, una vez haz creado el droplet si empieza a contar el tiempo. Te digo esto para que en el momento en que crees el droplet tengas todo y estés listo para migrar tu sitio y que no pagues ni siquiera un día sin necesitarlo.
  • Sistema operativo (OS): Usaremos Ubuntu (una distro de GNU/Linux) porque tiene una gran comunidad y muchas de las guías, problemas o dudas que tengas es más fácil de encontrar, y aunque yo prefiero Debian (mi distro de preferencia) para gente que no tiene mucha experiencia con el sistema operativo GNU/Linux le recomiendo Ubuntu.
  • Versión del OS: Usaremos una versión LTS (Long Term Support). Ubuntu va sacando versiones nuevas cada 6 meses y estas versiones tienen unos 9 meses de soporte, actualizaciones, etc, pero cada 2 años saca una versión LTS la cual cuenta con soporte para 5 años, ojo, UBUNTU es libre de cargos y pagos. Elegimos la versión LTS por ser las más estable y con mayor tiempo de soporte. Actualmente la versión server LTS es la 16.04, así en la creación de nuestro droplet usaremos dicha versión (ojo, hay subversiones, en el momento de crear la guía la versión era la 16.04.3).
  • Tamaño del Droplet: Para elegir el tamaño es importante hacerlo acorde al número de webs que tendrás alojadas y principalmente y quizá más importante, cuantas visitas simultáneas tienes. Default aparece seleccionado el droplet de $20 al mes que tiene 2GB de RAM, 2 CPU (microprocesadores virtuales), 40GB de disco SSD y 3TB de transferencia. Nosotros elegiremos el de $5 que tiene 512MB de RAM, 1 CPU, 20GB de disco SSD y 1TB de transferencia ¿Por qué? Pues porque estoy asumiendo que tienes un grupo de webs pequeñas o tal vez sólo una con mucho tráfico, sea cual sea el caso la manera de identificar si tu droplet no es suficiente para tu o tus sitios es que experimentaras caídas y en los errores del droplet veras errores de poca memoria. Se soluciona subiendo de nivel tu VPS. Ahora bien, esto no solo depende de las visitas, pueda ser que tu sitio sea muuuy grande en artículos y contenido y esto también pude afectar aunque no tengas tantas visitas concurrentes, por eso se empieza con el de $5 y si se experimentan problemas, subir de tamaño.

Creando el droplet

Resumen para crear el droplet

Pasos para crear el droplet

  1. Haz clic sobre el botón “Create Droplet” y vamos a lo más divertido: Crear nuestro VPS.
  2. En la nueva pantalla verás que default ya está elegido Ubuntu 16.04 de 64bits, al momento de hacer esta guía tiene la subversión 3.

    Si tienes más experiencia con GNU/Linux y prefieres usar otra distro no hay problema, sólo considera que la guía está basada con Ubuntu.
  3. Ahora pasamos a elegir el tamaño de nuestro droplet, cambiamos del de $20 al $5 haciendo clic sobre la imagen de $5

  4. Ahora pasas a elegir la ubicación de tu Droplet, aquí es opción tuya donde prefieras elegirlo. En algunas regiones hay más de un datacenter, así que deberás elegirlo también si cambias de ubicación. En mi caso estoy eligiendo New York/DC3. Tú elige el que creas más conveniente.

  5. Ahora verás una opción llamada “Select additional options” y paso a explicarte las importantes:
    1. Private networking (opcional): esto lo que hace es que si vas a tener más de un droplet que se va a relacionar con otros droplets, estos estén conectados en una red privada, como si estuvieran en una LAN o red local por así decirlo. En mi caso lo uso porque tengo un droplet que maneja sólo las bases de datos y otros que son solo webserver (servidores web), así que los webserver hacen peticiones al servidor de datos vía red local mejorando increíblemente la velocidad de comunicación entre ellos. Esta es una opción que si eres novato en esto no vas a necesitar pero la aclaro por si tienes un poco más de experiencia y veas lo que se puede hacer.
    2. Backups (opcional pero recomendado): esto es para que periódicamente haga backups automáticos del droplet, pero tiene valor económico que al momento de hacer la guía es del 20% del valor del droplet. Para el droplet de $5 el valor es de $1 al mes, y estarías pagando $6 en total, en un droplet de $10 el valor de los backups sería de $2, pagando un total de $12 al mes.
    3. IPv6 (recomendado): este no tiene precio adicional pero recomiendo que lo actives ya que actualmente manejamos IPs en su versión 4 (IPv4) pero poco a poco todo el internet empezará a usar únicamente IPv6, así que mejor configurarlo de inicio. Esto lo puedes activar después pero se tiene que apagar el droplet para aplicarlo, lo que supondrá que tendrás que bajar tus sitios unos minutos, así que mejor hacerlo desde el inicio.
  6. En mi caso elegiré Private Networking e IPv6 pero deberías considerar elegir Backups también.
  7. Por último, finalizar y crear: Te preguntará cuantos droplets deseas crear con esta configuración, en nuestro caso sólo 1 y te pedirá que elijas el nombre de este, puede ser webserver01, miempresaserver, lo que quieras, pero elige un nombre que puedas recordar y presiona el botón que dice “Create”.

  8. Luego de esto empezará el proceso de crear tu droplet el cual tarda un par de minutos. Mientras termina de prepararse puedes continuar con la creación de tu cuenta en ServerPilot.

  9. Cuando el Droplet está listo, te envían un correo con los datos de acceso: IP y password del usuario ROOT y verás una pantalla como la que sigue:

    El correo luce como este:
Puede interesarte  Las herramientas muestran mal el volumen de búsqueda, Google explica la razón

Crear cuenta en ServerPilot

¿WTF es ServerPilot? Pues bien, ServerPilot será nuestro panel de control para el VPS que haremos. Es un servicio para manejar servidores con PHP y que es facilita muchísimo la instalación de WordPress (también otros CMS, pero aquí abordaré WP). Lo primero que debes hacer es crear una cuenta.

Creación de una cuenta con ServerPilot

Resumen de la creación de la cuenta en ServerPilot

Pasos para crear la cuenta en ServerPilot

  1. Ir a la página de ServerPilot y hacer clic en el botón de registro (Sign Up).

  2. Te pedirá tu correo y contraseña, vale, que el registro es lo más sencillo del mundo, así que no esperes grandes explicaciones.

  3. Listo, ya tienes tu cuenta creada, si todo está bien verás una pantalla como la siguiente:

Activación de la cuenta

  1. Aunque ya todo está bien, y no te pide confirmación del correo, lo mejor es hacerlo, para esto haces clic en el enlace que dice Account.

  2. En la pantalla verás un enlace en la parte superior que dice Email, haz clic sobre él.

  3. Ahora verás un mensaje y un botón enorme que dice “Confirm your Email Address”, clic sobre él y te enviará un correo para que confirmes tu cuenta de correo.

  4. Luego de hacer clic en el botón, te quedará la siguiente pantalla:
  5. Si todo salió bien, ahora sólo debes confirmar tu cuenta desde el enlace que se te envió a tu correo electrónico.

Por el momento es todo lo que debes hacer con ServerPilot, pasaremos a revisar si ya está listo el droplet y configurar algunas otras cosas.

Instalación de Putty (Opcional, recomendado)

Bueno, estoy asumiendo que estas en Windows así que usare Putty, si estas en Mac no podré resolverte en este momento porque no he usado una aplicación para esto en Mac, pero en cuanto lo averigüe actualizaré la guía, pero hay una alternativa dentro de DO que puedes usar pero no la voy a explicar. Dentro de tu droplet hay una opción que dice Access ahí hay una consola que funciona sobre el navegador, sino quieres usar Putty, puedes usarla, sólo trata de recordar que cada vez que digo Putty, me refiero a la consola.

Para hacer algunas configuraciones básicas del droplet tendremos que usar la consola de Linux, y lo podemos hacer directamente desde DO o usando Putty, es casi lo mismo, lo único que va a cambiar es como accesas a cada una, putty estará en tu computadora y no tienes que hacer más que ejecutarlo, para la otra opción debes entrar a DO y llamarla desde ahí, una vez adentro de la consola todo el proceso es igual, eso sí, dentro de la consola virtual de DO es un poco más lento trabajar, dependerá mucho de tu conexión a internet.

Resumen de la instalación de Putty

Pasos de la instalación de Putty

  1. Descarga Putty desde este enlace. Baja a donde dice Alternative binary files y baja el que dice putty.exe y elige según tu plataforma 32-bits o 64-bits, sino estas seguro cual tienes baja el de 32-bits. Guárdalo en tu escritorio.

  2. Cuando este descargado, lo ejecutas y verás una pantalla como la siguiente:
  3. Ahora te vas a DO y veras algo como esto, en la columna IP Address haces clic sobre la IP que se te asigno para que la copie en memoria, no es necesario marcarla y hacer CTRL + C, sólo hacer clic y ya. También puedes sacar la IP del correo que te enviaron, o del bloc de notas que dije al inicio que llevaras.
  4. Ahora regresamos a putty y pegas la IP donde dice Host Name (or IP Address) y en el campo donde dice Saved Sessions le asignas un nombre, digamos, DO Webserver y haces clic sobre el botón Save, así no tendrás que estar buscando la IP cada vez que necesites entrar. Cabe mencionar que después de esto no entrarás muy a menudo.
  5. Luego de guardarla sólo haces doble clic sobre el nombre que asignaste y te abrirá un cuadro de dialogo sólo la primera vez que realices una conexión, presiona el botón Si.
  6. Te aparecerá después una ventana como la que sigue y en la cual debes entrar con el usuario root y la clave que te enviaron por correo cuando creaste el droplet, para eso escribes root y presionas [enter] donde dice login as


  7. Luego te pedirá la clave, puedes digitarla (te costará un poco porque es una contraseña algo rara) o puedes copiarla del correo (asegúrate de no copiar ningún espacio en blanco) y sobre el cuadrito verde haces clic derecho con el mouse y la clave se pegará.
    IMPORTANTE: cuando digitas o pegas la clave no se ve nada, ni asteriscos, nada de nada, así que no te asustes de ver que no pasa nada. Presiona ENTER.
  8. Si todo salió bien, verás una pantalla como la que sigue, donde te pide que cambies la contraseña, primero te pedirá la contraseña actual, es decir, la que te enviaron por correo, vuelve a pegarla con clic derecho. Luego te pedirá la nueva contraseña, pon una que recuerdes y que sea complicada también, que incluya caracteres en mayúsculas y minúsculas, caracteres alfanuméricos y números. Te pedirá luego que ingreses la contraseña para asegurarte que la has escrito correctamente.
  9. Si todo salió bien, verás que pasas al prompt, eso que dice root@weberver01:~#, y es todo en esta parte, ahora agregaras un usuario nuevo para poder deshabilitar después el ROOT
    NOTA: el usuario root nunca debe ser dejado habilitado.

Configuración Básica de seguridad del Droplet – Parte 1

Resumen de la configuración básica

Pasos para la configuración básica:

Como ejemplo usaré el nombre de usuario harold.

  1. Crea un nuevo usuario, para esto escribe en la consola y después presiona [ENTER]:
    adduser harold

  2. Ahora te está pidiendo el password, lo hará dos veces para confirmar y después te pedirá otros datos, yo solo lleno Full Name. Todo lo vas pasando con [ENTER] y cuando te aparezca el mensaje Is the information correct? [Y/n]: escribes Y y [ENTER]
  3. Ahora le darás al nuevo usuario privilegios de root, esto es decir que lo harás súper usuario. Para esto escribes gpasswd –a [usuario] sudo, siguiendo el ejemplo seria:
    gpasswd -a harold sudo

    Si todo salió bien te aparecerá un mensaje que dice Adding user harold to group sudo

  4. Ahora prueba si el nuevo usuario funciona, abre (sin cerrar la actual) una nueva ventana de putty e ingresa con tu nuevo usuario y password.
  5. Si lograste entrar, escribe lo siguiente para corroborar que tienes privilegios de super usuario:
    sudo apt-get update

    Te pedirá la contraseña, usa la que pusiste en los pasos anteriores

  6. Si todo salió bien, veras que comienza a hacer cosas raras, pero eso significa que está bien, que tu usuario tiene los privilegios. Si te da algún mensaje de error es que algo salió mal y revisa los pasos nuevamente.

Esto es todo por el momento, ahora conectaremos ServerPilot con nuestro VPS para que posteriormente deshabilitemos el usuario root.

Configurando el webserver: conectando ServerPilot y el Droplet

Resumen de como conectar ServerPilot y el Droplet

Pasos para conectar ServerPilot con el Droplet

Ahora vamos a usar ServerPilot para que se encargue de instalar el software necesario para que nuestra web funcione: php, apache, mysql, etc

  1. Ingresa a tu cuenta de ServerPilot y te aparecerá el botón Connect a Server, haz clic en él.

  2. En esta pantalla nos pedirá la IP de tu Droplet, el password del usuario root (el que asignaste en los pasos anteriores) y te pedirá que asignes un password para la conexión de FTP (SFTP = Secure File Transfer Protocol). Rellena el formulario y clic sobre el botón Connect to ServerPilot. No olvides anotar lo que pones.
  3. Ahora empezarán a aparecer “Tips” y un mensaje indicando cuanto tiempo falta para que finalice. Cuando termine aparecerá una pantalla como la siguiente
  4. Después aparecerá una pantalla como esta, donde hay una barra de progreso indicando que está configurando el software en el servidor

  5. Cuando termine te aparecerá esta pantalla donde te indica que debes crear una App. Una App en ServerPilot es un dominio o subdominio que va a estar alojado en tu VPS.

Eso es todo por el momento. Ahora procederemos a configurar la seguridad del VPS antes de continuar con las demás configuraciones.

Configuración Básica de seguridad del Droplet – Parte 2

Ahora pasaremos a deshabilitar el usuario ROOT. Usaremos un editor de texto de GNU/Linux llamado NANO.

Cuando estés en el editor de texto NANO, debes procurar no usar el teclado numérico (la parte derecha del teclado de números) y cuando digo que te desplaces debes hacerlo con las teclas cursoras y/o las teclas página arriba/página abajo, home, end.
Los comandos los puedes copiar de esta guía y con el botón derecho del mouse pegarlo en la consola.

Nota: asegúrate de tener una ventana de putty abierta con el usuario nuevo por si acaso algo sale mal puedas revertirlo con dicha ventana.

Resumen de como deshabilitar el acceso con el usuario ROOT

 

Pasos para deshabilitar el acceso al usuario ROOT

  1. Vuelve a la ventana de putty donde estabas logueado con el usuario ROOT y escribe lo siguiente:
    nano /etc/ssh/sshd_config

  2. Verás una pantalla como la siguiente

  3. Desplázate sobre el archivo y encuentra la línea donde esta “PermitRootLogin yes” y cambiaras el yes por no, borra el yes y escribe el no como si fuera notepad.

    Después de editarlo se verá así:
  4. Para guardar el documento presionas CTRL+O y te aparecerá un mensaje abajo y sólo presionas ENTER
  5. Para salir del editor de texto NANO, sólo presiona CTRL + X y regresarás al prompt.
  6. Ahora ejecuta en la consola
    service ssh restart

    Y luego de presionar ENTER aparecerá el prompt de nuevo.

  7. Sin cerrar la ventana de ROOT, abre una nueva ventana de putty e intenta loguearte con el usuario ROOT, si todo está bien debería aparecerte el mensaje Access denied después de poner el password.
  8. Cierra la ventana que acabas de abrir y en donde estábamos con el usuario root escribe en el prompt la palabra exit para salir.

Eso es todo, ahora pasaremos a configurar el firewall como medida de seguridad.

Creación del Firewall para el droplet

Digital Ocean ya tiene default configuraciones de firewall que te facilitarán la vida. Así que ingresa a DO y entra en la sección llamada Networking, ahí veras un menú: Domains, Floatings IP, etc. Entra donde dice Firewalls, presiona el botón Create Firewall.

Vamos a crear 2 firewalls: a) Para la administración b) para el webserver y para la base de datos.

  1. Cuando haces clic sobre el botón create firewall te pedirá que le pongas un nombre y que llenes ciertos datos, a este le pondrás de nombre Administracion-fw o como te guste y todo lo demás lo dejas tal y como esta
  2. En Inbound Rules tienes 2 opciones: dar acceso sólo a tu IP o a todo, lo recomendable es sólo tu IP, pero ten en cuenta que si tu IP es dinámica, cada vez que quieras usar la administración (SSH, consola) tendrás que venir al Firewall y actualizar la IP, pero es muy importante dejarlo lo más seguro posible. Para borrar una IP sólo te pones sobre ella y aparecerá una X para eliminar. Mientras no termines la o las migraciones de tu sitios dejalo abierto, pero después cierralo, no lo olvides
  3. Outobound Rules lo dejas como esta y si bajas más veras que dice Apply to Droplets, aquí escribe o empieza a escribir el nombre de tu Droplet, lo eliges de la lista desplegable y clic en Create Firewall. Al terminar estará listo tu primer firewall.

  4. Ahora clic en Create Firewall para crear el siguiente firewall.
  5. De nombre puedes ponerle webserver-fw o como te guste
  6. En Inbound Rules dejaras como la siguiente imagen:


    Si te fijas, en la regla para MySQL he colocado que solo me pueda conectar desde mi IP (igual que con el de administración)
  7. Outbound Rules queda como aparece default y en Apply to Droplets agregas tu droplet y terminas presionando Create Firewall.

Y listo, ya tienes configurado tus firewall. Ahora pasaremos a configurar el dominio.

Tip: para saber cuál es tu IP puedes usar el sitio www.cualesmiip.com o instalar la extensión de Chrome My IP address.

Sacando Backup del sitio a migrar

Para aprovechar el tiempo al máximo lo primero que haremos es sacar el backup del sitio que queremos migrar. Aunque hay muchos métodos y plugins para crear backup y ponerlo en un nuevo hosting, te sugiero que esta vez sigas el de esta guía porque es él que para mí –de varios que probé- el que mejor se adapta.

El problema de AIO WP Migration es que la versión free tiene un límite de 512MB para el archivo de backup, así que si tu sitio es más grande (no lo sabrás hasta hacer el backup), tal vez te sirva usar mejor Duplicator.

Con All-In-One WP Migration

Resumen de como sacar el Backup de tu sitio con AIO WP Migration

 

Pasos para sacar el Backup de tu sitio con AIO WP Migration

  1. Ingresa al administrador, panel o wp-admin de tu sitio
  2. Instala el plugin All-In-One WP Migration, sino sabes cómo sigue los siguientes pasos, sino pasa al paso 3.
    1. Busca en el menú de la izquierda y elige Plugins -> añadir nuevo
    2. Ve al buscador y copia y pega este texto: all in on wp migration y presiona el botón Instalar ahora

    3. Luego de unos segundos el plugin estará instalado y ahora presiona el botón Activar.

    4. Listo, el plugin ya está instalado y activado
  3. Ahora buscas en el menú lateral la configuración del plugin, pasas el puntero del mouse por la opción y eliges del submenú Exportar.
  4. Verás una pantalla como la siguiente y haces clic sobre el botón que dice Exportar A.

  5. Del submenú eliges Archivo.
  6. Y empezará el plugin a trabajar, esperas un tiempo, dependiendo del tamaño de tu sitio pueden ser varios minutos.

  7. Cuando termine, presionas el botón Download tudominio y guardas el fichero creado en un lugar que recuerdes y cuando termine de descargar presiona el botón Close. No lo cierres hasta que el fichero haya terminado, de lo contrario si hay un problema con la descarga tendrás que esperar nuevamente a que genere el archivo.

Esto es todo por el momento, luego de esto continuarías con la configuración del dominio.

Con Duplicator

Duplicator es otro plugin para migrar un sitio de un hosting a otro y es muy sencillo de usar también. El problema con Duplicator es que usa bastantes recursos y algunos hosting compartidos tienen problemas con él.

Resumen de como sacar el Backup de tu sitio con Duplicator

 

Pasos de como sacar el Backup de tu sitio con Duplicator

  1. Instala el plugin Duplicator
  2. Luego búscalo en el menú y haz clic en paquetes.
  3. Ahora haz clic en el botón Crear nuevo.

  4. El plugin asignará un nombre, puedes dejar todo como esta y haz clic sobre el botón siguiente.

  5. El plugin comenzará a hacer un análisis y puede mostrar algunas advertencias, revísalas y analiza si vale la pena corregirlas o no. Yo lo que hago es que aunque me las muestre continuo, si las advertencias son más graves de lo que creo el backup no se ejecutará y toca corregir, pero la mayoría de veces pasas sin problemas. Así que marca la casilla que esta al final del análisis y haz clic en el botón Crear.

  6. El plugin comenzará a trabajar en los paquetes y cuando termine te mostrará una pantalla como ésta, baja el Instalador y el Archivo en una carpeta que recuerdes.

  7. Y eso es todo para sacar el backup con Duplicator. Habrás bajado un archivo llamado installer.php y otro que será un nombre muy largo de extensión .zip. NO CAMBIES LOS NOMBRES.

Configuración del dominio

Ahora procederás a configurar el dominio en ServerPilot y en el VPS, pero aquí tienes que considerar algo, y es cómo y con qué hiciste el backup de tu sitio, en el caso de AIO WP Migration debes instalar primero WordPress en la configuración del dominio, con Duplicator la carpeta del dominio debe estar vacía, así que sigue los pasos según el plugin que hayas utilizado.

Resumen para la configuración del dominio

 

Creacion de la App en ServerPilot para el dominio

Ahora nos vamos a SP y haces clic en Create App, para llegar ahí haces clic en tu servidor (webserver01)

Ahora, clic sobre Create App y rellena el formulario con las siguientes indicaciones:

  1. Name: En nombre usa algo referente a tu dominio, trata de que sea fácil de recordar también, yo lo que hago es que si mi dominio es zapatillasbaratas.com en name coloco zapatillasbaratas, te sugiero sigas el mismo patrón.
  2. Domain: tu dominio, siguiendo el ejemplo: zapatillasbaratas.com
  3. Si usaste AIO WP Migration debes instalar WordPress, para eso marca la casilla de WordPress y automáticamente instalara WordPress, solo rellena el sub-formulario que aparece al marcar la casilla. Ojo, el sub-formulario hace referencia a la configuración de tu WordPress, incluyendo los accesos como administrador así que debes asegurarte de que los guardas o los memorizas bien.
    Si usaste Duplicator, no instales WordPress y deja desmarcada la casilla.
  4. Runtime: elige la última versión estable, si aparece algo como BETA o RC ignóralo, al día de hacer la guía la versión estable es la 7.2.
  5. Server: elige de la lista el droplet, como podrías tener varios VPS administrados por la misma cuenta de SP, aquí eliges en cual VPS vas a realizar la instalación.
  6. System User: aquí no hay opción más que serverpilot, no puedes cambiar de usuario a menos a que tenga una cuenta de pago.
  7. Por último presiona el botón Create App y es todo del lado de SP

Cuando termina verás una pantalla como la que sigue

 

Creación del dominio en el Droplet

Ahora nos vamos a Digital Ocean de nuevo y buscas Networking -> Domains

Y harás lo siguiente para configurar el dominio.

  1. En la caja de texto correspondiente agrega el dominio y clic sobre el botón Add Domain, ojo, debes agregarlo sin el www.

    1. Ahora en la pantalla que verás agregaras los siguientes valores de registros A (ver imagen para comprender mejor)
      1. HOSTNAME (primer campo de texto): @, WILL DIRECT TO (segundo campo de texto): webserver01, TTL (selector): 3600 y luego clic en el botón Create Record.
      2. Después agregas un registro mas con estos datos: * / webserver01 / 3600
      3. Y por último un tercer registro: www / webserver01 / 3600
  2. Veras una pantalla como la que sigue:

Y esto es todo del lado de Digital Ocean, ahora sólo falta apuntar los nameservers de tu registrador de dominios al servidor de Digital Ocean y ya casi habrás terminado de pasar tu sitio, pero eso sí, primero debes subir el backup actualizado de tu web.

A partir de la siguiente sección no hay resumen de pasos pues algunos no llevan un orden especifico y para no confundir he preferido no agregarlos.

Subiendo el backup al Droplet

Para mantener la menor cantidad de tiempo fuera del aire tú sitio web, lo que harás ahora es subir el archivo de tu backup al VPS o Droplet de Digital Ocean, para eso es necesario usar un cliente FTP, ya sea que hayas usado AIO WP Migration o Duplicator. En mi caso como estoy en Windows voy a usar Filezilla, tú puedes usar el cliente que desees pero debes saber cómo configurarlo. Primero vas a la página de descarga de Filezilla aquí y descarga/instala la última versión. Lo ejecutas y procedemos a configurar la conexión.

Instalando y configurando FileZilla

  1. Te vas al menú principal / archivo / Gestor de sitios / Nuevo Sitio
  2. Le asignas un nombre tal y como te lo pide, digamos webserver01
  3. Luego te vas a la derecha y configuras la info del formulario así:
    1. Servidor: la IP de tu VPS / Droplet
    2. Protocolo: SFTP – SSH File Transfer Protocol
    3. Modo de acceso: Normal
    4. Usuario: serverpilot
    5. Contraseña: el password que elegiste cuando configuraste ServerPilot en el punto: Configurando el webserver: conectando ServerPilot y el Droplet, ahí pusiste la contraseña para SFTP.
  4. Debe quedar así en la pantalla, cuando este el formulario lleno, haz clic en el botón Aceptar.

NOTA IMPORTANTE: Si estas siguiendo el proceso con AIO WP Migration primero debes cambiar los Nameservers o servidores de nombres del dominio (Ver subtema “Cambiando los nameservers/Servidores de nombres” más abajo) y después seguir en este punto. Si has usado Duplicator continua sin problemas.

Conectarse via FTP al nuevo VPS y subir el backup

Ya creaste la conexión, hoy es momento de probarla y subir el o los archivos del backup.

Como usar y navegar con el cliente FTP

Default veras FileZilla con un panel de estado de navegación y conexión en la parte superior, en la parte media veras que está dividido en 4 partes, la izquierda corresponde a tu ordenador local y la derecha al ordenador remoto, en nuestro caso el VPS. Esta parte media está dividida en 2 partes cada una, una superior y una inferior. La superior es para navegar en forma de árbol, y sólo sirve para desplazarse por las carpetas y para elegir una carpeta sólo debes hacer un clic sobre la carpeta que desees ver en la parte inferior, y si tiene un símbolo de mas (+), si haces clic sobre él te desplegará la lista de subcarpetas. En la parte inferior veras el contenido de las carpetas, incluyendo archivos, si por ejemplo en la guía dijera “entra en la carpeta wp-content/plugins” entonces en la parte superior haces clic en el símbolo (+) de la carpeta wp-content y luego clic sobre la carpeta plugins.

Cuando se dice subir o bajar un archivo lo que haces es lo siguiente:

  • Subir:
    • Primero debes navegar en tu ordenador a la carpeta donde está el archivo o carpeta a subir.
    • Luego en el ordenador remoto debes navegar hasta encontrar la carpeta donde quieres que el archivo o carpeta a subir se guarde.
    • Haces doble clic en el archivo a subir o clic derecho/subir y en la parte inferior del panel de FileZilla veras como va una o varias barras de progreso indicando la subida del o los archivos.
  • Bajar: es exactamente el mismo proceso que subir solo que esta vez el archivo(s) o carpeta estan del lado del panel del ordenador derecho, es decir, la parte derecha de tu pantalla.

Conectarse al VPS

  1. Bajo el menú principal, justo debajo de Archivo hay un icono con una lista desplegable, elige de ahí la conexión que acabas de crear y empezará a conectarse. La primera vez te aparecerá una pantalla donde debes hacer clic en el botón aceptar. Luego de unos segundos si todo está bien configurado deberá haberse conectado y en la parte izquierda te aparecerán las carpetas de tu ordenador y en la derecha las carpetas de tu VPS.
  2. En la parte izquierda ubica la carpeta donde guardaste el backup de tu sitio, y en la derecha ingresa a: apps / nombredetuapp en ServerPilot / public, siguiendo el ejemplo de la guía seria: apps/zapatillasbaratas/public.

Subiendo el backup

  1. Si usaste AIO WP Migration:
    1. Ya cambiaste lo nameservers (si no lo has hecho, debes hacerlo antes de continuar, clic aqui para ir a la sección) y ya tienes instalado WordPress en la carpeta public, así que deberías ver los archivos de éste (wp-config.php, wp-content, etc).
    2. Ahora debes ingresar a tu panel de administración de WordPress e instalar/activar el plugin AIO WP Migration, es decir tudominio.com/wp-admin, siguiendo mi ejemplo de la guía zapatillasbaratas.com/wp-admin
      Notas importantes:

      1. para ingresar al panel de WP hazlo desde un navegador diferente y/o ventana de incognito, si al entrar te muestra tu panel tal y como lo tenías en el hosting anterior significa que tu navegador no está llegando al VPS
      2. Otra cosa que puedes hacer es que si por ejemplo tu sitio estaba configurado para que entrará con www ahora intentes entrar sin él y viceversa, ejemplo: digamos que para entrar a mi sitio de ejemplo yo entraba con http://zapatillasbaratas.com/wp-admin, para probar si mi navegador ya llega al VPS nuevo ingreso con http://www.zapatillasbaratas.com/wp-admin
  • Por último, si nada de esto ha funcionado puedes reiniciar tu computadora pero lo que mejor funcionará es eliminar del cache el sitio en tu navegador, pero dependiendo del que uses tendrás que limpiar todo el cache del navegador o puedes seleccionar limpiar solo el de tu dominio, pero eso, ya es algo que no me detendré a explicar de como hacer para cada navegador.
  1. Vuelve a FileZilla e ingresa del lado del VPS a la carpeta wp-content/ai1wm-backups.
  2. Sube el archivo del backup que hiciste con dicho plugin y deberá tener una extensión .wpress
  1. Si usaste Duplicator:
    1. La carpeta public estará sólo con el archivo index.php
    2. Sube los archivos installer.php y el nombre largo que generó el plugin de extensión .zip
  2. Espera a que terminen de subir el o los archivos.

Dependiendo del tamaño de los archivos y tu conexión a internet esto puede demorar desde unos minutos hasta un par de horas, tiempo suficiente para que el siguiente paso se termine.

Cambiando los nameservers/Servidores de nombres

Importante: si estas con AIO WP Migration esta parte debes hacerla antes de subir el backup a tu sitio.

Esta parte se me hace complicada de explicar con mayores detalles ya que dependiendo de dónde compraste tu dominio, la forma de accesar es diferente, quiero decir, cada registrar o registrador de dominios tiene su web y funciona diferente, así que lo único que puedo hacer es darte las indicaciones generales. Si no sabes cómo hacer esto en tu registrar puedes comunicarte con soporte técnico y preguntarles cómo hacerlo. En algunos registrars llaman a los nameservers como DNS y aunque son cosas relacionadas no son lo mismo, pero no entraré en detalles, así que si no ves opción de nameservers (servidores de nombres), puedes buscar la opción DNS, Administrar DNS o similares.

Básicamente lo que tienes que hacer es poner 3 nameservers en tu dominio. Si ya tiene datos, reemplazarlos y actualizar. Por lo general hay 2, si es tu caso, agrega un tercero. Hay algunos registrars que te piden el nameserver y la IP, para obtener la IP abre la consola de comandos de tu sistema operativo y escribe ping ns1.digitalocean.com y veras la IP, repite lo mismo para los otros 2.

  • ns1.digitalocean.com
  • ns2.digitalocean.com
  • ns3.digitalocean.com

NOTA: asegúrate de no poner un punto al final del .com, es decir, que NO terminen así: digitalocean.com. ok?

Luego, dependiendo de cómo sea tu registrar esto puede tardar unos minutos en propagarse hasta unas fastidiosas horas, pero en mi experiencia, con los registrars que he usado no demora más que unos minutos pero nuestro ISP (proveedor de internet) o nuestra computadora tarda en tener los cambios frescos, así que puedes verificar primero que el dominio apunte a la nueva IP y si el cambio ya está propagado y en tu computadora sigue buscando en el hosting anterior puedes reiniciarla o usar el navegador en incognito o usar un navegador limpio.

¿Cómo verificar si mi dominio ya apunta a la nueva IP del servidor nuevo?

Puedes usar cualquier servicio en línea como Site24x7 y hcidata, lo mejor es probar en varios si la IP aún no es la de tu VPS, pero media vez uno de ellos lo detecta significa que ya se propagó.

En estos sitios sólo ingresas tu dominio y luego de unos segundos te mostrará la IP asociada, a modo de ejemplo, primero buscaré el dominio que me está sirviendo de ejemplo para hacer la guía para el antes y después del cambio de los nameservers.

Antes de hacer el cambio me mostraban la IP: 69.175.19.XX ambas herramientas (no pongo el número completo por razones obvias). Ahora procedo a cambiar los nameservers al dominio.

Después de unos minutos al buscar el dominio en los sitios en mención la IP que aparece es la del VPS que configuramos.

Para verificar si en tu computadora ya accesas al sitio sobre el VPS nuevo, visita tu dominio y si estas siguiendo el proceso con el plugin AIO WP Migration verás el theme de instalación default de WordPress, hazlo con el www y con http para asegurarte ya que es la configuración default. Con Godaddy tomo aproximadamente 1 hora en propagar el cambio, pero en ocasiones me demora no más de 10 minuntos. Si tu proceso lo estás haciendo con el plugin Duplicator, al entrar al sitio veras una página default de ServerPilot con un mensaje algo asi:

Your app "zapatillasbaratas" is set up.

SFTP into your app's web root directory to replace this file and upload your own files.

Si estas usando AIO WP Migration y estabas en la sección de subir el backup y viniste para configurar los nameservers, puedes usar este enlace para regresar a dicha sección.

Instalando certificados SSL gratis

Bonus: Certificado SSL gratis para tu dominio.

La instalación de certificados SSL no estaba previsto ser parte de esta guía, sino más bien, iba a hacer una por separado, pero me dije “WTF Harold, hazlo de una vez”, de todos modos de seguro muchos tienen ya su certificado en su hosting compartido o quieren ponerlo y no saben cómo.

Así que para ver esta parte te pido una acción social a cambio, no te cuesta nada y a mí me ayudas a seguir contribuyendo creando guías y otros documentos en beneficio de la comunidad, también acepto donaciones por si me quieres invitar a una birria o a mi amado café xD.


 

[sociallocker id=»594″]

Muy bien, para nuestro certificado SSL usaremos certificados de Let’s Encrypt, que aparte de ser gratis, te brindan la seguridad necesaria y es un proyecto donde hay grandes compañías tras él, visita su página en el enlace que de antes para que te puedas informar mejor.

NOTA IMPORTANTISIMA

Si tu sitio actualmente no tiene SSL, has la instalación del SSL cuando ya hayas restaurado el backup y este todo configurado y en orden, así que pasa al siguiente tema y luego regresas a éste.

Si tu sitio si tiene SSL del que ya incluye la compra del dominio o el hosting, la instalación del SSL  hazla antes de restaurar el backup, así que procede a instalarlo en éste momento.

Si has comprado un certificado SSL en un provedor externo y quieres usar ese, lamento nformarte que esta guía no cubre dicho caso de uso.

Ahora manos a la obra.

  1. Primero nos vamos a nuestro querido hijo de putty, osea putty y te logueas con tu cuenta de súper usuario.
  2. Ahora instalaremos un script desarrollado por un programador llamado Rehmat y que funciona muy bien, y que a parte que configurar el certificado se hace simple, también configura la renovación para que éste sea automático y te despreocupes de eso. Para instalar el script ejecutas el siguiente comando (copia y pégalo en putty):
    sudo git clone https://github.com/rehmatworks/serverpilot-letsencrypt.git && cd serverpilot-letsencrypt && sudo mv sple.sh /usr/local/bin/rwssl && sudo chmod +x /usr/local/bin/rwssl && (crontab -l ; echo "@monthly \"sudo service nginx-sp stop && yes | letsencrypt --standalone renew &>/dev/null && service nginx-sp start && service nginx-sp reload\"")| crontab - && service cron reload


    Después de un segundo o dos, el script estará instalado y listo para usarse.

  3. Por último configuremos el certificado para el dominio que necesites, para esto necesitarás tener a la mano la siguiente info:
    1. Tu dominio, ej: zapatillasbaratas.com
    2. El nombre de la APP en ServerPilot, ej: zapatillasbaratas
  4. Para configurar el certificado únicamente ejecuta el siguiente comando en putty:
    sudo rwssl

    Y te pedirá los datos de configuración, así:

    1. What do you want to do with Let’s Encrypt? (install/uninstall): aquí escribes install y presionas ENTER
    2. Ahora tu dominio sin el www: zapatillasbaratas.com ENTER
    3. Ahora el nombre de la app en SP: zapatillasbaratas ENTER
    4. Is this a main domain or sub-domain? (main/sub): aqui escribes main siguiendo el caso de nuestro ejemplo, pero si estas configurando un subdominio diferente a www ingresas sub. ENTER
  5. Luego de unos segundos, estará listo, y te aparecerá un mensaje de que presiones enter para continuar, y eso será todo.

Cuando termina te aparece el siguiente mensaje:

SSL should have been installed for zapatillasbaratas.com with auto-renewal (via cron)

[/sociallocker]

Restaurar tu sitio en el nuevo servidor.

Ahora viene lo último, y es restaurar el backup de tu web, recuerda la nota que deje sobre los certificados SSL en el punto anterior, y debes hacerlo únicamente cuando ya estés en el panel de administración en el VPS, esto será muy fácil de identificar, visita tu dominio y veras que está cargado el theme default o la página default de ServerPilot.

El proceso es muy sencillo pero cambia dependiendo de que plugin usaste para el backup.

Nota: si tu sitio ya tenía SSL y lo instalaste como mencioné antes, cuando ingreses a tu sitio hazlo con el https.

Proceso con AIO  WP Migration

Poniendo el sitio en mantenimiento

El backup puede tardar algunos minutos o segundos, pero mejor prevenir que lamentar y si hubiese algún problema tus usuarios verían tu página con el theme default de WP, para evitar eso pondremos un plugin que les diga que estas en mantenimiento. Hay decenas de plugins, tu usa el que mejor te parezca, en mi caso para el ejemplo usaré el que se llama: Coming Soon Page & Maintenance Mode by SeedProd.

Estos plugins son sencillos de configurar así que no me detendré a explicarlo, sólo asegúrate de que lo actives y pruebes antes de empezar a restaurar el backup.

Restaurando el backup

  1. Ingresa al panel de administración de WP con las credenciales que colocaste cuando creaste la App en ServerPilot.
  2. Ahora instala el plugin All-In-One WP Migration (sigue el proceso tal y como se hace en el punto de cómo sacar el backup del sitio).
  3. Cuando ya está instalado el plugin lo buscas en el menú lateral y pasas el mouse sobre él y eliges Copias de Seguridad y te aparecerá una pantalla como la siguiente

    A ti te aparecerá sólo un backup, en la imagen salen dos porque hice varias pruebas haciendo la guía.
  4. El siguiente paso es hacer clic sobre el icono de en medio, que parece una nube gris y el proceso empezará inmediatamente. Deja terminar el proceso.
  5. Deshabilita el plugin Coming Soon Page & Maintenance Mode para quitar el mensaje de mantenimiento.
  6. El proceso demora un poco tiempo dependiendo de qué tan grande es el archivo, plugins y theme que tengas, cuando haya finalizado tendrás tu sitio tal y como lo tenías en el hosting anterior y eso será todo, ya migraste tu web de un hosting a un VPS nuevo.
  7. Al terminar la restauración del backup recibiras este mensaje:
    ¡Tus datos se han importado correctamente!
    You need to perform two more steps:
    You must save your permalinks structure twice. Permalinks Settings (opens a new window)
    2. Optionally, review the plugin. (opens a new window)

En este punto, lo que te está diciendo es que te recomienda que actualices la estructura de los permalinks o enlaces permanentes dos veces, así que haz clic sobre el enlace del numeral 1 del mensaje y se abrirá el admin panel en la sección de permalinks, solo baja hasta el botón guardar y haz eso dos veces, y listo.

Proceso con Duplicator

Con Duplicator el proceso es diferente:

  1. Entrarás a tu dominio seguido de la barra /installer.php, asi: http://zapatillasbaratas.com/installer.php y verás una pantalla así

  2. Marca la casilla (checkbox) y haz clic sobre Next y veras una pantalla así

  3. Ahora ve a ServerPilot / Servers / webserver01 (tu servidor) / zapatillasbaratas (tu app)
  4. Clic en Databases
  5. Rellena el formulario así:
    1. Name: nombre de la base de datos a crear, ejemplo zapatillasdb
    2. Username: puedes dejar el usuario que genera automáticamente o escribe el tuyo
    3. Password: puedes dejar el usuario que genera automáticamente o escribe el tuyo
    4. Anota el nombre de la BD, el usuario y password en un bloc de notas
    5. Presiona el botón Create
  6. Regresa a la configuración de duplicator y llena el formulario de la siguiente manera:
    1. Action: Selecciona Connect and remove All Data
    2. Host: dejálo en localhost y puerto 3306
    3. Database: pon un nombre para tu base de datos, ejemplo zapatillasdb
    4. User: un nombre de usuario para la BD, ejemplo: 05f21173da2f
    5. Password: pega la contraseña que generó SP, ejemplo: 311f2916e21aa8d8
    6. Options no lo tocas
    7. Presiona el botón Test Database para probar que se conecta. Si todo sale bien verás esto:
    8. Si tienes una pantalla como la anterior, ahora haz clic sobre Next, y en la pantalla de confirmación que se abre presiona Yes.
    9. Procesará algunas cosas y verás una pantalla como la que sigue:
    10. Aquí no debes tocar nada y sólo haz clic sobre Next.
    11. Luego de unos segundos / minutos te aparecerá la siguiente pantalla
    12. Haz clic sobre Site Login y te enviará a tu dominio/wp-admin, ingresa con tus credenciales de WordPress (las que tenías en tu hosting anterior).
    13. Ahora te aparecerá un mensaje de que el sitio se ha migrado con éxito, verás un enlace que dice 2. Elimina los archivos de instalación ahora!
    14. Antes de hacer clic para eliminar los archivos del backup (debes hacerlo) abre otro navegador, o un tab nuevo y visita el sitio y verifica que todo está bien, hasta el momento, al llegar a este punto siempre me ha quedado todo bien pero mejor prevenir.
    15. Si ya verificaste que todo esté bien, haz clic en el enlace para borrar los archivos del backup. NO OLIVDES HACERLO si los dejas ahí es muy peligroso.
  7. Y es todo, ya tienes tu sitio restaurado con Duplicator.

Si tienes algún problema, puedes ir a la sección de Problemas conocidos y ver si ya hay una solución descrita, de lo contrario, dejame en comentarios tu problema y veremos si lo podemos solucionar.

Configurar el HTTPS en tu nuevo sitio

Estos pasos debes seguirlos únicamente si tu sitio estaba sin HTTPS y hoy se lo has colocado en el VPS. Si no has puesto HTTPS o si tu sitio lo migraste teniendo ya el HTTPS no es necesario seguir este proceso.

El plugin Better Search Replace lo usaremos para cambiar las URLs de nuestro sitio de http a https y después de usarlo lo puedes desactivar.

Aquí no me voy a detener a explicar cómo se instala un plugin.

Sustituyendo las URLs de HTTP a HTTPS

En esta parte lo que harás es un buscar/reemplazar usando el plugin Better Search Replace.

  1. Ingresa a tu sitio usando el https, es decir https://www.tudominio.com
  2. Instala y activa el plugin llamado Better Search Replace. Este plugin es delicado asi que asegúrate de hacerlo bien antes de aplicar los cambios, verifica un par de veces antes.
  3. Ve a Ajustes / Generales y asegúrate de que en dirección de WordPress y Direccion del sitio este tu dominio con https, sino lo está hay algún problema.
  4. Ve a Herramientas / Better Search Replace y veras una pantalla como la que sigue
  5. En buscar por escribe tu dominio con https y como lo tengas configurado, con www o sin www, supongamos que el dominio es zapatillasbaratas.com y que ingresaba con http://zapatillasbaratas.com, en buscar por escribiras justo eso http://zapatillasbaratas.com, no olvides usar tu dominio aquí!!
  6. En Sustituir por escribirás lo mismo pero con el https, asi: https://zapatillasbaratas.com, no olvides usar tu dominio, no el de ejemplo.
  7. Seleccionar Tablas: aquí márcalas todas, haces clic sobre la primera, presionas shift y no lo sueltas en el teclado, te desplazas hasta la última con el scroll y haces clic sobre la última tabla y sueltas shift, te quedaran todas seleccionadas.
  8. Las opciones siguientes: ¿No tener en cuenta mayúsculas/minúsculas y la del GUID las dejas tal cual.
  9. La de ¿Quieres ejecutar un simulacro? Es muy importante y mientras este marcada la casilla el plugin no realizará ningún cambio, así que la primera vez lo ejecutas con la casilla marcada. Cuando hayas rellenado el formulario será algo así, y presionas el botón Ejecutar búsqueda:
  10. Empezará una barra de progreso y cuando termine mostrará algo como esto en la parte superior del formulario
  11. Si ya verificaste dos veces que el dominio con http en buscar por y el dominio con https en sustituir con estén bien escritos y desmarca la casilla de ¿Quieres ejecutar un simulacro? Y presiona el botón nuevamente y esta vez sí realizará los cambios en la BD. Estos cambios no pueden ser revertidos tan fácilmente así checa dos o tres veces que todo esté bien escrito antes de aplicarlo.
  12. Cuando termine la barra de progreso, veras sobre el formulario un mensaje confirmando que realizó los cambios.

Redireccionando de http a https

Para hacer esto existen plugins que lo realizan como Easy HTTPS Redirection, Really Simple SSL o WP Force SSL. Puedes usar el que desees pero en lo personal prefiero hacerlo directo en el .htaccess del sitio, lo hago agregando el siguiente código en la sección <IfModule mod_rewrite.c>

Saca un backup del .htaccess antes de editarlo y si algo sale mal solo lo vuelves a subir. El backup lo puedes sacar con FileZilla y descargándolo a tu ordenador.

Antes de proceder a editar él .htaccess prueba tu sitio para ver si no se auto configuró todo lo necesario.

Usa este código si tu sitio es con www

Si <IfModule mod_rewrite.c> ya esta en tu .htaccess sólo agrega las líneas que no estan, por lo general desde donde dice RewriteCond %{SERVER_PORT} !^443$ y no incluyas la línea </IfModule>

# Redirect http to https
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^zapatillasbaratas.com$
RewriteRule (.*) https://www.zapatillasbaratas.com/$1 [R=301,L]
</IfModule>

Usa este código si tu sitio es SIN  www

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} www.zapatillasbaratas.com$
RewriteRule (.*) https://zapatillasbaratas.com/$1 [R=301,L]
</IfModule>

No olvides sustituir tu dominio en el código.

Cómo hacer la edición del .htaccess ya está fuera de esta guía pero puedes googlear algo como “Como editar el htaccess de mi wordpress” hay muchas páginas que lo explican.

Notas: Si tienes plugin de cache, principalmente WP-ROCKET, luego de realizar estos cambios debes limpiar cache, desactivar el plugin y volver a activarlo.

Esto es todo con respecto a la configuración del SSL. No olvides desactivar el plugin Better Search Replace, es muy peligroso tenerlo activo.

Ahh por cierto, luego de configurar el SSL no olvides ir a Google Search Console y realizar los cambios pertinentes.

Problemas conocidos

Aqui iré agregando los problemas que vaya encontrando o que otros usuarios encuentren y como solucionarlos.

Warnings en el sitio

Este problema lo he visto sólo cuando he usado AIO WP Migration y es que al terminar la migración los warnings de PHP están activos, si ves algo como esto:

Para solucionar este problema sólo debes agregar el código siguente en el archivo wp-config de tu WordPress antes de estas líneas:

define( 'WP_DEBUG', false );
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );

Agregalo antes de estas líneas:

if ( !defined('ABSPATH') )
        define('ABSPATH', dirname(_FILE_) . '/');

Para editarlo puedes hacerlo bajando el archivo por FTP, usar Notepad++ o cualquier otro editor de texto, ojo, editor de texto no procesador de palabras (Word) y luego subirlo y sustituirlo en el servidor.

También puedes hacerlo directamente en la consola usando nano, para eso escribes en la consola lo siguiente (modificando las partes pertinentes):

sudo nano /srv/users/serverpilot/apps/[TU_ServerPilot_APP]/public/ wp-config.php

Siguiendo el ejemplo de zapatillasbaratas.com seria así:

sudo nano /srv/users/serverpilot/apps/zapatillasbaratas/public/ wp-config.php

Luego en nano buscas las líneas que mencione antes y pegas las 3 líneas.

Guardas, refrescas y listo.

Migrando otros sitios

Si ya tienes el VPS con Digital Ocean y ya todo está configurado y quieres migrar otros sitios, sólo debes realizar los siguientes pasos de esta guía por cada sitio/dominio a migrar:

  1. Sacando Backup del sitio a migrar
  2. Configuración del dominio
  3. Subiendo el backup al VPS
  4. Cambiando los nameservers
  5. Opcional: Instalando certificados SSL Gratis
  6. Restaurar tu sitio en el nuevo servidor
  7. Obligatorio si hiciste el paso 5: Configurar el HTTPS en tu nuevo sitio

Instalando sitios nuevos

Si vas a poner un dominio nuevo en el servidor, es decir, no una migración, solo debes hacer los pasos siguientes de la guía:

  1. Configuración del dominio
  2. Cambiando los nameservers
  3. Opcional: Instalando certificados SSL Gratis
  4. Obligatorio si hiciste el paso 3: Configurar el HTTPS en tu nuevo sitio

Después de esto ya podrás accesar al panel de WP y trabajar en tu nuevo sitio.

Notas finales de la migración

Quiero dejar plasmadas algunas cosas o detalles:

  • No me hago responsable de cualquier mal uso o problema que puedas tener, pero puedes comentar o contactarme para consultarme y en la medida pueda te ayudaré si el problema lo puedo resolver.
  • Esta guía la puedes usar no solo para migrar de un hosting compartido, sirve para migrar cualquier sitio a un VPS en Digital Ocean.
  • Si ya tenías un VPS en otro proveedor el proceso es similar para migrar sólo debes saber configurar en dicho proveedor los detalles como agregar dominio, los nameservers de dicho proveedor, etc
  • ServerPilot es un panel de administración así que si ya tienes un VPS con otro panel como Plesk, cpanel, etc esta guía no te servirá.
  • No te dejes intimidar por la consola de comandos u otros conceptos que no conozcas, la guía va paso a paso y detalle a detalle y realice varias pruebas para escribirla y estar seguro que no quedaban detalles sueltos.

Espero que todo este bien descrito y los procesos los encuentres fáciles de seguir y espero tus comentarios y sugerencias, si no estás en el grupo de Facebook Hablemos de SEO y te interesa el SEO puedes buscarnos y agregarte. Hasta la próxima.

 

Agradecimientos

Quiero dar agradecimientos especiales a Gina Moya  por probar la guia con su sitios y Luis Arraño con Yair Pardo por ayudarme a encontrar errores y mejorar la guia.

No olviden comentar o preguntar si tienen dudas o problemas.

¿Te ha sido útil este contenido?

¡Haz clic para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Comentarios

Comenta