Si tras configurar el dominio en nuestra imagen de Ghost quieres configurar tu blog como un sitio seguro con un certificado SSL, lo que debes de hacer es seguir los pasos que te contamos a continuación.
Lo que haremos será instalar Certbot para instalar un certificado gratuito de Let’s Encrypt. Para realizar estos pasos será necesario que nos conectemos por SSH al servidor de Ghost que hemos creado y configurarlo tal y como se explica a continuación.
AVISO
Para ejecutar comandos de Ghost-CLI se debe de hacer con el usuario ghostinst que es el que se usa para realizar la instalación de Ghost, por lo que los comandos se deben de ejecutar tal y como se explica en este tutorial.
Instalación manual del certificado SSL
Primero de todo configuramos nuestro dominio bajo HTTPS y para ello nos movemos hasta la ruta de la instalación:
# cd /var/www/ghost/
Luego cambiamos el nombre del dominio:
# su ghostinst -c 'ghost config url https://midominio.es'
Y reiniciamos Ghost:
# su ghostinst -c 'ghost restart'
Y luego instalamos los siguientes paquetes para generar el certificado SSL con CertBot:
# apt install certbot python3-certbot-nginx
Luego deberemos de modificar el fichero de configuración de Nginx que se encuentra en /etc/nginx/sites-enabled/default y lo editamos
# nano /etc/nginx/sites-enabled/default
Tenemos que cambiar esto:
server_name Ghost;
Por esto (añadir con www es opcional, no es necesario):
server_name midominio.es www.midominio.es;
Guardamos y reiniciamos el servicio Nginx:
# systemctl restart nginx
Y finalmente, generamos el certificado con lo siguiente:
# certbot --authenticator webroot -w /var/www/html/ --redirect --installer nginx -d midominio.es
Si habéis añadido www, deberéis de ejecutar:
# certbot --authenticator webroot -w /var/www/html/ --redirect --installer nginx -d midominio.es -d www.midominio.es
Instalación automática del certificado SSL
Para automatizar todo el proceso, hemos creado un script para ejecutar la instalación con un solo comando. Este script se debe de utilizar de la siguiente forma:
# wget https://gitlab.com/clouding.io-tech.support/certbot-ssl-images/raw/master/ghost-nginx-ssl.sh
# chmod u+x ghost-nginx-ssl.sh
Y para generar el certificado:
# ./ghost-nginx-ssl.sh [domain] [e-mail]
Por ejemplo:
# ./ghost-nginx-ssl.sh clouding.io no-reply@clouding.io
El e-mail debe ser un e-mail que esté operativo y el dominio debe de apuntar al servidor.