Instalar Ghost en clouding.io + dominio + SSL

Juan Otálora
Juan Otálora
Scrum Master y estudiante de Ingeniería Informática en la UM
Share on whatsapp
Share on twitter
Share on linkedin

🕐 4 min

Share on whatsapp
Share on twitter
Share on linkedin

🕐 4 min

Para los que no lo conozcáis, Ghost es un CMS basado en Node que nos permite gestionar y publicar contenido en nuestra página o blog. Al igual que WordPress, nos permite añadir plugins (en Ghost se llaman integraciones) e instalar nuevos temas, tanto gratis como de pago. Vamos a ver paso a paso como se instala este gestor de contenido en un servidor cloud como clouding.io, asignarle un dominio e instalar un certificado SSL para que la página web sea segura.

Crear cuenta en clouding.io con Ghost

Lo primero que tendremos que hacer es crearnos una cuenta en un servicio cloud, en este caso he decidido elegir clouding.io por su buen precio, sus servidores situados en España y porque tiene la herramienta para instalar Ghost con un click. Si os registráis con este enlace, podréis obtener 5€ gratis de saldo, lo que equivale aproximadamente a 1 mes y medio de uso.

Una vez registrados, nos pedirán que validemos nuestro correo electrónico, nuestro número de teléfono y nuestra tarjeta de crédito. Esto último dice que lo hacen para evitar spam de múltiples cuentas, pero es totalmente seguro. Al principio os cobrarán 1€ que os lo devolverán inmediatamente.

Una vez creada nuestra cuenta, vamos a crear nuestro servidor Ubuntu con Ghost instalado. Dentro del panel de administración, en la pestaña de servidores, hacemos click en el botón de añadir servidor. Aquí seleccionamos las siguientes especificaciones para que os salga lo más barato posible (unos 3.63€ al mes con IVA incluido):

  • Seleccionar origen de disco -> APPS -> Ghost
  • 2 GB de RAM por vCore
  • 0,5 vCores

Una vez seleccionados estas características, hacemos click en el botón de «Enviar» para que se procese la solicitud. Deberemos esperar unos minutos a que todo se configure. Una vez esté todo listo, ya podremos acceder a Ghost desde la dirección pública que nos proporciona clouding.io, pero claramente esto lo vamos a cambiar para que podamos acceder desde nuestro dominio.

Configurar un dominio en clouding.io

Lo primero que tendremos que hacer es volver al panel de administración de clouding y movernos desde la barra superior a la opción llamada «DNS«. Una vez aquí, añadiremos el dominio que queramos con la opción de añadir (+) y configuraremos los nameservers de clouding en la plataforma en la que hayamos adquirido este dominio. Si no sabéis como hacerlo, podéis poneros en contacto con el servicio al cliente de vuestro proveedor de dominios para que lo haga por vosotros.

Ahora mismo las DNS ya apunta a clouding cuando nos referimos a nuestro dominio, pero todavía no se puede alcanzar nuestro servidor porque no hemos configurado el registro de DNS. Justo al lado del nombre del dominio hay un lápiz, hacemos click sobre él.

Ahora, tendremos que agregar 2 registros de tipo A, que son los que se utilizan para relacionar un dominio con una cierta dirección pública. Por un lado, pondremos la opción de nuestro dominio comenzando por www. y por otro lado pondremos nuestro dominio sin ningún subdominio que lo preceda. En el campo de Apunta a la IP, pondremos la IP pública que nos ha dado clouding a la hora de crear nuestro servidor.

Bien, tan solo tendremos que esperar a que los DNS se refresquen para que nuestra web ya pueda estar disponible desde nuestro dominio, pero antes vamos a terminar de configurarla instalándole un certificado SSL de Let’s Encrypt.

Instalar un certificado SSL en clouding.io

Para este paso necesitaremos acceder a nuestro servidor por SSH utilizando la llave que nos ha creado Clouding. Esta llave la podemos obtener desde la página del servidor que hemos creado:

Una vez descargada la llave y copiada la contraseña del usuario root (ver la imagen de arriba para localizarla), ya podemos conectarnos mediante SSH. Abrimos una terminal en la carpeta donde hemos descargado la llave y escribimos el siguiente comando:

ssh -i [ARCHIVO-LLAVE].pem root@[DIRECCION-IP]

Esto nos pedirá una contraseña, que será la que hemos copiado en la página de servidor. Y ya estaría, ya estamos conectados mediante SSH a nuestro servidor, ahora vamos a instalar el certificado. Para empezar, nos vamos a mover a la carpeta donde está instalado Ghost:

cd /var/www/ghost

Una vez en la carpeta, vamos a cambiar el nombre del dominio por el nuevo:

su ghostinst -c 'ghost config url https://[DOMINIO]'

Vamos a reiniciar Ghost para que se apliquen los cambios:

su ghostinst -c 'ghost restart'

Ahora vamos a instalar CertBot para poder instalar y modificar los certificados:

add-apt-repository ppa:certbot/certbot -y
apt install python-certbot-nginx -y

Ahora es el turno de modificar a mano el fichero de configuración de nginx. Deberemos cambiar donde pone server_name Ghost; por nuestro dominio server_name [dominio]; Para hacerlo, usaremos el editor de textos nano:

nano /etc/nginx/sites-enabled/default

Para guardar los cambios pulsaremos Ctrl + X y guardaremos los cambios pulsando en Y. Ahora, reiniciaremos nginx:

systemctl restart nginx

Por último, ya por fin, instalamos el certificado:

certbot --authenticator webroot -w /var/www/html/ --redirect --installer nginx -d [DOMINIO]

Durante el proceso, nos pedirá un correo electrónico para mandar las advertencias de cuándo hay que renovar el certificado, por lo que aseguraros de poner un mail que uséis a menudo.

Para facilitarnos la vida, clouding ha creado un script que nos permite hacer todo esto que hemos hecho antes de forma automática. Nada más tendremos que descargarlo en la carpeta donde estamos:

wget https://gitlab.com/clouding.io-tech.support/certbot-ssl-images/raw/master/ghost-nginx-ssl.sh

Cambiarle los permisos:

chmod u+x ghost-nginx-ssl.sh

Y ya podremos usarlo para generar certificados:

./ghost-nginx-ssl.sh [DOMINIO] [EMAIL]

¿Qué hacer si los DNS no se refrescan en clouding.io?

Hay dos soluciones, o tener paciencia o cambiar la dirección DNS que usar tu ordenador por otra como la de Google (8.8.8.8) o la de Cloudfare (1.1.1.1).

🔥 Otro artículo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *