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


