Cómo usar Let’s Encrypt con Apache en Ubuntu Server

Los certificados SSL son muy confusos para configurar en Linux, por lo que muchas personas evitan configurar HTTPS en sus sitios web. Afortunadamente, el servicio Let’s Encrypt está intentando cambiar esto haciendo que la configuración de SSL en Linux sea un proceso simple que casi cualquier persona puede entender. Puede usar Let’s Encrypt con Apache en Ubuntu Server para configurar fácilmente certificados SSL.

Let’s Encrypt es gratis para siempre en Linux. No tendrás que pagar nada para usarlo. El único problema es que los certificados no duran para siempre. En cambio, requiere que los usuarios actualicen y renueven su certificado SSL cada 90 días.

El software Let’s Encrypt tiene soporte para los dos principales motores web en la plataforma Linux (Apache y Nginx). En este tutorial, veremos cómo obtener y configurar un certificado SSL Let’s Encrypt para usar Let’s Encrypt con Apache en Ubuntu Server.

Nota: Let’s Encrypt es compatible con todos los sistemas operativos Linux. Si no usa el servidor Ubuntu, haga clic aquí y aprenda cómo configurarlo en un sistema operativo de servidor alternativo.

Obtener Certbot

Let’s Encrypt es un proceso mayoritariamente automático en Linux gracias a la herramienta Certbot. Con él, podrá obtener la certificación SSL rápidamente en su servidor Ubuntu.

Certbot no viene con el servidor Ubuntu. Entonces, para usarlo, debe activar un repositorio de software de terceros (PPA) e instalarlo de esa manera. Sin embargo, antes de intentar agregar el nuevo PPA, tenga en cuenta que no todas las versiones del servidor Ubuntu tienen soporte PPA listo para usar. Para acceder a los PPA en Ubuntu, debe instalar software-properties-common.

sudo apt install software-properties-common

Luego, cuando el paquete “software-properties-common” esté en funcionamiento, ingrese el siguiente comando para habilitar el repositorio de Certbot en Ubuntu.

sudo add-apt-repository ppa:certbot/certbot

Después de ejecutar el comando add-apt-repository, el PPA debería estar funcionando. A continuación, actualice las fuentes de software del servidor Ubuntu con el comando de actualización, de modo que el Certbot PPA sea accesible.

sudo apt update

Con las fuentes de software de Ubuntu actualizadas, instale el paquete Certbot usando Apt.

sudo apt install python-certbot-apache

Habilitar el tráfico HTTPS

Let’s Encrypt permite a los usuarios configurar rápidamente un certificado SSL en Linux para que los usuarios no tengan que lidiar con hacer todo manualmente. Una de las cosas que se deben hacer para utilizar este servicio es habilitar el tráfico HTTPS para Apache 2 en el servidor.

Para habilitar el tráfico HTTPS en el servidor web Apache, asegúrese de que el Firewall de Ubuntu esté en funcionamiento. Luego, use los comandos UFW a continuación para permitir el tráfico HTTPS.

Nota: ¿El firewall no se está ejecutando? Haga sudo ufw enable, luego reinicie.

sudo ufw allow 'Apache Full'

Si el comando UFW tiene éxito, se debe activar HTTPS. Puede comprobar el estado del cortafuegos para asegurarse de que funciona ejecutando el comando ufw status.

sudo ufw status

Generar certificado SSL

El servidor de Ubuntu está configurado para usar SSL y Certbot está instalado. En este punto, podemos utilizar el programa Certbot para generar un certificado SSL nuevo para el servidor web Apache.

Para generar un nuevo certificado SSL con Certbot, ejecute certbot con el conmutador de línea de comandos de apache. Tenga en cuenta que este certificado solo funcionará si el dominio especificado en el comando coincide con el archivo de configuración de su sitio web en / etc / apache2 / sites-available /.

Nota: asegúrese de cambiar mywebsite.com y www.mywebsite.com en el comando Certbot por el nombre de dominio de su sitio.

sudo certbot --apache -d mywebsite.com -d www.mywebsite.com

Suponiendo que el comando Certbot sea exitoso, verá un mensaje de texto que le preguntará acerca de su configuración de Apache. Lea el mensaje y seleccione la opción que mejor se adapte a sus necesidades. Cuando haya pasado del mensaje, su certificado SSL estará listo para funcionar.

Renovación de su certificado SSL

Los certificados SSL de Let’s Encrypt caducan después de 90 días, por lo que si planea usarlos para su sitio web, se requiere una renovación. Afortunadamente, el programa Certbot viene con un trabajo Cron automático que lo hace por usted.

El script de renovación automática Cron se encuentra en /etc/cron.d/ en su servidor, y puede verlo haciendo

Renovación manual

Gracias al script de renovación automática de Let’s Encrypt, su servidor Apache siempre debería tener un certificado SSL. Sin embargo, a veces pueden surgir problemas, por lo que es una buena idea saber cómo renovar un certificado SSL manualmente.

Para renovar su certificado SSL con Apache en el servidor Ubuntu, abra una ventana de terminal, SSH y siga los pasos a continuación.

Paso 1: Ejecute el comando de renovación de certbot con el comando de ejecución en seco. Hacer esto le permitirá realizar una renovación de la práctica, lo que le permitirá aislar los problemas y garantizar que el proceso funcione.

sudo certbot renew --dry-run

Paso 2: Suponiendo que el «ensayo» salió bien, es seguro ejecutar el comando de renovación de Certbot de verdad. En la terminal, ejecute certbot renew, pero sin el interruptor de «funcionamiento en seco».

sudo certbot renew

Si el comando de renovación funciona correctamente, su certificado SSL volverá a estar activo.