Basado en Linux Debian 10

Certificado Let´s Encrypt en Apache

YouTube

Proyecto P4Hoy en día es esencial tener un certificado de seguridad SSL en nuestra web. Además de la seguridad que nos ofrece cifrando la conexión entre el servidor y el navegador los buscadores como Google lo tienen en cuenta a la hora de posicionar nuestro sitio web. Con Let´s encrypt podemos tener un certificado gratuito compatible con casi de todo. Si tienes un servidor con Linux Debian y no tienes panel de control el montar este tipo de certificados es algo muy sencillo, tan solo hay que saber cómo funciona y ponerlo en práctica.

¿La web es más confiable por tener un certificado SSL?

Una de las cosas en las que la gente se fija a la hora de confiar en una web es si tiene el candadito verde y eso está bien puesto que es un síntoma de que el webmaster se ha molestado en hacerla aun más segura y de que la conexión estará cifrada entre el servidor y el navegador pero …

Que tenga el candadito verde no quiere decir que el sitio sea un sitio serio y no vaya a ser un fraude ¿Porqué?

Porque cualquiera puede hacer que su web tenga este candadito verde ya sea de forma gratuita o pagando y si alguien quiere montar una web fraudulenta puede hacerlo incluso con el cifrado SSL así que mucho cuidado.

En este artículo vamos a dejar nuestra web montada con el servidor web Apache con un certificado de seguridad y lo haremos de la siguiente manera.

Para empezar nos identificamos con el super usuario ROOT

su

Continuamos instalando el paquete de Certbot para Apache

apt-get install python-certbot-apache

Veremos lo siguiente …

Certificado Let´s Encrypt en Apache

Pulsamos la tecla Y + Enter para instalarlo.

Seguidamente vamos a parar el servidor web Apache

systemctl stop apache2

Ahora nos vamos al directorio recomendado por la documentación de certbot

cd /usr/local/bin/

Nos descargamos certbot

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

Le damos permisos …

chmod 0755 certbot-auto

Lo ejecutamos y crearemos el certificado para nuestra web …

./certbot-auto certonly -n --agree-tos -m tu@mail.com --standalone -d tusitio.com

letsencrypt

Ahora ya tenemos el certificado creado. Hay que tener en cuenta que si el dominio para el que necesitamos el certificado no está aún alojado en nuestro servidor no funcionará puesto que la IP de tu registro A de las DNS del dominio deben apuntar hacia esta máquina donde estamos creando el certificado.

Una vez dicho esto continuamos …

Ahora vamos al directorio Apache donde está el sitio a agregar el certificado …

cd /etc/apache2/sites-available/

Seguidamente editamos el fichero del dominio …

vi /etc/apache2/sites-available/tusitio.conf

Ahora agregamos debajo del VirtualHost ya existente lo siguiente, eliminamos el carácter # de delante de cada linea y modificamos tusitio.com por el nombre de tu dominio …

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

Guardamos los cambios pulsando la tecla ESC + :wq! y salimos del editor.

Modulo SSL para Apache

Ahora activamos el modulo SSL de Apache con …

a2enmod ssl

Finalmente volver a arrancar Apache …

systemctl start apache2

Y con esto concluimos la instalación del Certificado Let´s Encrypt en Apache y ya podemos cargar nuestra web con el HTTPS por delante sin problemas.

Caducidad de los certificados Let´s Encrypt

Ojo! Los certificados de Let´s Encrypt son gratuitos pero caducan a los 90 días desde su creación. En el siguiente artículo automatizaremos la renovación de nuestros certificados para que no tengamos que hacerlo manualmente.