Cambiar la URL en WordPress con SSH y VIM

Dejando de lado todo el proceso de creación de la URL, configuración de las Hosted Zones y cambios de DNS que es bastante trivial, especialmente si sabes hacerlo, uno de los puntos donde podemos quedar parados es en la página de configuración de WordPress a la hora de cambiar las direcciones. El problema suele ser que no es posible hacerlo desde la propia página y tenemos que ir a cambiar los parámetros al archivo wp-config.php.

Este paso es especialmente crítico cuando añadimos un certificado SSL para securizar nuestra página porque aunque parezca que funciona bien y que aparece el candado junto a la URL en nuestro navegador, el cambio no estará perfectamente finalizado hasta que tengamos las URLs actualizadas en wp-config.php mostrando https en vez de http.

Si disponemos de una conexión SSH, como en mi caso donde utilizo Lightsail de AWS en una instancia de Linux, podemos hacer el cambio usando el editor VIM y realizando los siguientes pasos:

      • Conectar a la cónsola de Linux con SSH
      • Ir al directorio apps/wordpress/htdocs/
      • Abrir el archivo con vim wp-config.php
      • Localizar las líneas define(‘WP_SITEURL’, ‘http://’ . $SERVER[‘HTTPHOST’] . ‘/‘); y define(‘WP_HOME’, ‘http://’ . $SERVER[‘HTTPHOST’] . ‘/‘);
      • Cambiar el texto en rojo con las nuevas URLs o símplemente añadir S al http si hemos instalado un certificado SSL
      • No olvidarse de añadir / al final de la URL.
      • Una vez realizado el cambio, tenemos que pulsar la tecla ESC y después teclear :wq para grabar y salir.
      • Finalmente cerramos la sesión SSH y ya debería estar hecho el cambio.

Si no queremos utilizar VIM, otra opción es hacerlo a través de FTP, accediendo al archivo y modificándo el archivo.

Scripts Básicos en Bitnami

El título, para ser preciso, debería ser algo así como «Comandos y scripts básicos para Bitnami si utilizas Lightsail en Amazon Web Services cuando instalas blueprints , por ejemplo, de WordPress o Magento» pero obviamente era muy largo. Sin embargo, y en términos generales, estos scripts también funcionarán fuera de AWS para otros proveedores de hosting que utilicen Bitnami.

Yo diría que los 3 comandos que tenemos que tener más a mano cuando realizamos la instalación de una de sus más de 130 aplicaciones que tienen en catálogo son los siguientes:

Recuperar usuario y contraseña después de la primera instalación cat ./bitnami_credentials
Instalar certificado SSLsudo /opt/bitnami/bncert-tool
Eliminar el banner inferior derecho de Bitnami de nuestras instalacionessudo /opt/bitnami/apps/APPNAME/bnconfig.disabled –disable_banner 1

Donde APPNAME se tiene que sustituir por el directorio donde está instalada nuestra aplicación. Generalmente será WordPress, Magento, etc…

En algunas instalaciones puede ser «bnconfig» en vez de «bnconfig.disabled».

Cada uno de ellos puede requerir algunos pasos o preguntas pero en general su ejecución es bastante sencilla.

Hosted Zones en Route 53

Cuando registras dominios con AWS y quieres vincularlos a instancias de EC2 o Lightsail, tienes que crear «Hosted Zones» utilizando Route 53. Una Hosted Zone tiene diferentes «Record Sets» y hay que ser cuidadoso para crearlos bien, especialmente en lo referente a los prefijos «www.» u otros.

En mi caso, estos son los Record Sets que tengo creados:

Una mala configuración puede hacer que nuestra web funcione mal e incluso que deje de funcionar si instalamos un certificado SSL y redirigimos tráfico de «www.» al dominio simple.

No hace falta decir que la IP, en mi caso la 3.127.33.7, tiene que ser fija.

Migrar WordPress de Bluehost a AWS Lightsail

Como comentaba en mi último post, hace unos días terminé de migrar mi blog en WordPress de Bluehost a AWS Lightsail.

Aunque no es tan simple como un «siguiente-siguiente-siguiente», siguiendo algunos detalles clave, se puede completar en unas pocas horas. Estos son los pasos a seguir:

      • Crear una instancia en Lightsail, por ejemplo en Linux, y seleccionar la instalación de WordPress.
      • Una vez creada la instancia, crear una IP fija en vez de la IP dinámica que se asigna por defecto.
      • En Bluehost, instalar el plugin «All-in-One WP Migration«. Lo utilizaremos para realizar una copia de todos los posts, archivos, imágenes, configuraciones, plugins, etc.
      • Crear una copia del contenido de WordPress en Bluehost utilizando el plugin anterior. El archivo tenemos que guardarlo en nuestro ordenador.
      • Ir al WordPress que hemos instalado en Lightsail e instalar «All-in-One WP Migration».
      • Asegurar que hemos creado en el WP de Lightsail los usuarios que utilizaremos posteriormente.
      • Importar el archivo de copia que hemos guardado en nuestro ordenador anteriormente. Probablemente tengamos que descargarnos una extensión del plugin (gratuita) para poder importar archivos grandes.
      • Comprobar con la IP fija de la instancia de Lightsail que todo funciona correctamente, tanto a nivel de lectura como de administrador de WP.
      • Iniciar la migración del dominio desde Bluehost utilizando Route53. Este paso puede durar algunos días.
      • Mientras esperamos que Bluehost autorice el movimiento del dominio, crear las zonas DNS que queramos utilizar en Route53.
      • Una vez que ha finalizado el movimiento del dominio, tenemos que instalar un certificado de seguridad para habilitar HTTPS. Se puede hacer fácilmente a través de un script de Bitnami. Es gratuito.

Y ya está. Algunos de los pasos son algo complejos pero hay mucha información a través de Bitnami por lo que no es excesivamente complicado. Los dos pasos más delicados son la exportación e importación de datos de WP y la transferencia del dominio.

Ya estoy en AWS

Ya he terminado la migración de www.albertsampietro.com desde Bluehost a Amazon Web Services.

He estado en el hosting de Bluehost, con base en Utah, un total de 13 años y aunque no he estado del todo descontento con ellos, el hecho de que hayan incrementado el precio de sus servicios, su «discreta» usabilidad en algunas de sus funcionalidades (dificultad para actualizar a la última versión de PHP, gestión de dominios,…), algunos problemas de seguridad y la falta de claridad en el rendimiento de sus aplicaciones me han decidido a cambiarme a AWS.

En Amazon Web Services, utilizo principalmente Lightsail para crear instancias de cada una de mis webs y Route53 para la gestión de dominios y zonas DNS.

Lo más interesante de Lightsail, además del precio, es que es muy rápido instalar aplicaciones como WordPress o Magento gracias a su catálogo de scripts así como la forma en que monitoriza los costes y el rendimiento de cada una de las instancias. La cónsola de administración, en mi caso en Linux, a través de línea de comandos es muy útil para realizar tareas básicas de administración tales como recuperar usuarios perdidos, habilitar certificados para https, etc.

La migración de Bluehost a Lightsail no es trivial y requiere de varios pasos que explicaré en un post aparte.