Certificado Let´s Encrypt en Apache

Para comenzar vamos a necesitar:

sudo apt-get install apache2 openssl

Instalamos Certbot:

sudo apt-get install python-certbot-apache

Paramos Apache:

sudo /etc/init.d/apache2 stop

Instalamos certbot-auto:

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

Le damos permisos:

chmod a+x ./certbot-auto

Lo ejecutamos:

./certbot-auto certonly –webroot

Accedemos al directorio Apache donde esta tu sitio:

cd /etc/apache2/sites-available/

Ahora editamos el fichero del dominio:

sudo nano /etc/apache2/sites-available/tusitio.conf

Agregamos debajo del VirtualHost ya existente:

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName tusitio.com
DocumentRoot /var/www/html/tusitio
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/tusitio/error.log
LogLevel warn
CustomLog /var/log/apache2/tusitio/access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/tusitio.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/tusitio.com/privkey.pem

<IfModule mod_headers.c>
Header always set Strict-Transport-Security «max-age=31536000; includeSubDomains»
</IfModule>

</VirtualHost>
</IfModule>

Guardamos el fichero y inciamos apache:

sudo /etc/init.d/apache2 start

Vamos activar la renovación automatica:

sudo ./certbot-auto renew

Se lo decimos a Cron:

sudo crontab -e

Agregamos la siguiente linea:

30 1 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log