Si tras configurar el dominio en nuestra imagen de PrestaShop 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 PrestaShop que hemos creado y configurarlo tal y como se explica a continuación.
Primeros pasos
Lo primero que tenemos que hacer antes de la instalación del certificado, es configurar el dominio en PrestaShop. Para ello, tendremos que seguir los pasos que se indica en este otro tutorial Añadir dominio en la imagen de PrestaShop. Es importante, que cuando se añada el dominio en Prestashop, se haga en el apartado Dominio SSL:
Una vez guardemos los cambios, la web dejará de funcionar. Es entonces cuando tenemos que conectarnos por SSH al servidor y realizar los siguientes pasos.
Instalación manual del certificado SSL
Instalamos el siguiente paquete para tener certificados 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 ubuntu-1804-image;
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 reload nginx
Y finalmente, generamos el certificado con lo siguiente:
# certbot --authenticator webroot -w /var/www/html/prestashop/ --redirect --installer nginx -d midominio.es
Si habéis añadido www, deberéis de ejecutar este:
# certbot --authenticator webroot -w /var/www/html/prestashop/ --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/prestashop-nginx-ssl.sh
# chmod u+x prestashop-nginx-ssl.sh
Y para generar el certificado:
# ./prestashop-nginx-ssl.sh [domain] [e-mail]
Por ejemplo:
# ./prestashop-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.