Posted in

Instalar un certificado SSL Let’s encrypt en AWS Amazon Linux

Parte I

Para instalar el certificado Let’s Encrypt seguiremos los siguientes pasos:

* Previamente tenemos que haber instalado el paquete mod24_ssl

sudo yum install -y mod24_ssl

Nos conectamos mediante SSH a nuestra máquina e instalamos certbot (el cliente de Let’s encrypt necesario para instalar y renovar certificados)

sudo wget https://dl.eff.org/certbot-auto

sudo chmod a+x certbot-auto

Ejecutamos Certbot (recordamos cambiar YOUR_WEBSITE_HERE por nuestro dominio) Editado: añadida la v02 en la url, la v01 ya se ha dejado de usar

sudo ./certbot-auto --debug -v --server https://acme-v02.api.letsencrypt.org/directory certonly -d YOUR_WEBSITE_HERE

Al finalizar el proceso, en el cual nos pedirá entre otras cosas el email del administrador y la ruta a nuestra carpeta pública (en el caso de Laravel tener en cuenta que sería /var/www/html/public), certbot guardará en las siguientes rutas…

Certificate: /etc/letsencrypt/live/YOUR_WEBSITE_HERE/cert.pem
Private Key: /etc/letsencrypt/live/YOUR_WEBSITE_HERE/privkey.pem
Full Chain: /etc/letsencrypt/live/YOUR_WEBSITE_HERE/fullchain.pem

Editamos la configuración SSL y modificaremos las rutas anteriores en nuestra configuración.
Modificamos SSLCertificateFile a nuestra ruta del certificado.
Modificamos SSLCertificateKeyFile a nuestra ruta de la Private Key.
Modificamos SSLCertificateChainFile a nuestra ruta del Chain.

*** Probar si para multidominio funciona añadiendo esto ***

<VirtualHost *:443>
    ServerName www.domain1.com:443
    DocumentRoot "/var/www/html/domain1"
    SSLCertificateFile /etc/letsencrypt/live/domain1.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/domain1.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/domain1.com/chain.pem
</VirtualHost>
sudo nano /etc/httpd/conf.d/ssl.conf

Reiniciamos Apache

sudo service httpd restart

Parte II (configuramos la autorenovación del certificado)

Los certificados de Let’s Encrypt son válidos por 90 días, por lo que es mejor configurar los certificados para que se renueven automáticamente. Para lograr esto, solo necesitamos configurar un simple cron.

Editamos el cron

alias crontabedit='sudo EDITOR=nano crontab -e'
crontabedit

Agregamos la siguiente línea para ejecutar la renovación cada fin de semana (a las 2:30 am, respectivamente)

30 2 * * Sun /home/ec2-user/certbot-auto renew

Si queremos eliminar un determinado certificado por el dominio, lo haremos de la siguiente manera

sudo /home/ec2-user/certbot-auto delete --cert-name dominio.com

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *


The reCAPTCHA verification period has expired. Please reload the page.