¿Qué es Let's Encrypt?
Let’s Encrypt es una nueva autoridad de certificación que proporciona certificados seguros absolutamente gratuitos para ayudar a que Internet sea 100% HTTPS en Internet.
DreamHost ha integrado la compatibilidad con Let's Encrypt en tu panel para servicios alojados, pero si deseas configurar certificados de renovación automática para los dominios que alojas en una instancia de DreamCompute, deberás realizar un poco de instalación manual. Pero la buena noticia es que no tardará mucho y una vez que termines la configuración, no tendrás que preocuparte nunca más por renovar un certificado.
Obtener los paquetes
Empieza por iniciar sesión en tu instancia de DreamCompute. Estas instrucciones son para Ubuntu y los comandos pueden cambiar dependiendo de la distribución de Linux que estés ejecutando. Instala el paquete certbot
así:
[user@instance]$ sudo apt install certbot python3-certbot-apache -y
Obtén tu primer certificado
Antes de hacer esto, deberás asegurarte de que tu dominio esté apuntando a la dirección IP de tu instancia de DreamCompute y que tu instancia esté configurada para responder a las solicitudes de tu nombre de dominio. Esto es necesario porque 'Let's Encrypt' realiza comprobaciones para asegurarse de que tú controlas los nombres de dominio para los que solicitas certificados. Si aún no lo has hecho, consulta el artículo a continuación para obtener ayuda:
También debes asegurarte de tener Apache ya configurado correctamente para responder a las solicitudes de example.com.
Una vez que tu sitio esté configurado y respondiendo a la página Apache predeterminada, procede con el pedido del certificado así:
[user@instance]$ sudo certbot --apache -d example.com
Esto te pedirá cierta información, incluida tu dirección de correo. La última pregunta que se te hace es si deseas redirigir todo el tráfico a la versión https de la URL de tu sitio. Se recomienda que elijas hacer esto. Escribe el número '2' para elegir esta opción. Por ejemplo:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/example.com.conf to ssl vhost in /etc/apache2/sites-available/example.com-le-ssl.conf
Esto finalizará tu nuevo certificado. Ni siquiera deberías necesitar reiniciar tu instancia o modificar un archivo de configuración, ya que el plugin de Apache para certbot fue diseñado para manejar esto por ti.
Agregar un subdominio a un certificado existente
Si después de ejecutar ese script te das cuenta de que también necesitas un certificado para un subdominio relacionado, puedes ejecutar el comando certbot nuevamente con parámetros adicionales.
[user@instance]$ sudo certbot --apache -d example.com -d sub.example.com
Renovación Automática
Puedes hacer que tu sistema renueve automáticamente todos los certificados por ti usando un pequeño script de shell que se ve así:
#!/bin/bash certbot renew
Si guardas ese script en el directorio /usr/local/bin como algo así como update_certs, puedes programar el script para que se ejecute una vez a la semana con un cron job así:
30 0 * * 0 /usr/local/bin/update_certs
Ahora, tu sistema intenta renovar todos tus certificados una vez por semana. Si no hay certificados en peligro de caducar pronto, no pasa nada malo. Pero si alguno hubiera expirado de otra manera, se renueva automáticamente.