Cómo instalar Apache con Let’s Encrypt SSL en Ubuntu 20.04 LTS
En este tutorial, le mostraremos cómo instalar Apache con Let’s Encrypt SSL en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, Let’s Encrypt es una autoridad de certificación que proporciona certificados SSL gratuitos para sitios web. Todos los certificados SSL proporcionados por Let’s Encrypt se pueden usar con fines de producción/comerciales sin ningún costo ni tarifa. Esta guía le informará sobre la instalación del servidor web Apache, la instalación de Certbot, la generación de un certificado SSL con Certbot y la creación de una configuración SSL adicional para obtener la A+ de los laboratorios SSL de prueba SSL.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y se supone que está ejecutando en la cuenta raíz, si no, es posible que deba agregar ‘ sudo
‘ a los comandos para obtener privilegios de raíz. Le mostraré la instalación paso a paso de Apache con SSL gratis en Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.
Instale Apache con Let’s Encrypt SSL en Ubuntu 20.04 LTS Focal Fossa
Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando los siguientes apt
comandos en la terminal.
sudo apt update sudo apt upgrade
Paso 2. Instalar Apache en Ubuntu 20.04.
De forma predeterminada, Apache está disponible en el repositorio base de Ubuntu 20.04. Ahora instalamos el servidor web Apache en el sistema Ubuntu ejecutando el siguiente comando a continuación:
sudo apt install apache2 apache2-utils
Antes de iniciar las configuraciones, asegúrese de que los servicios de Apache se estén ejecutando en su sistema. Ejecute el siguiente comando para verificar el estado de los servicios de apache:
sudo systemctl status apache2 sudo systemctl start apache2 sudo systemctl enable apache2
Paso 3. Configure el cortafuegos.
Permita el acceso al puerto 80 en el firewall ejecutando el siguiente comando:
sudo ufw allow 80 sudo ufw allow 443 sudo ufw enable
Paso 4. Configure el host virtual de Apache.
Primero, cree un directorio raíz para almacenar los archivos de su sitio web:
sudo mkdir -p /var/www/html/your-domain.com/
Luego, cambie la propiedad y el grupo del directorio:
sudo chown -R www-data:www-data /var/www/html/your-domain.com/
Vamos a crear un servidor virtual Apache para servir la versión HTTP de su sitio web:
sudo nano /etc/apache2/sites-available/your-domain.com.conf
Agregue la siguiente línea:
<VirtualHost *:80> ServerName your-domain.com ServerAlias www.your-domain.com ServerAdmin admin@your-domain.com DocumentRoot /var/www/html/your-domain.com ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined <Directory /var/www/html/your-domain.com> Options FollowSymlinks AllowOverride All Require all granted </Directory> </VirtualHost>
Guarde y cierre, luego reinicie el servidor web Apache para que se realicen los cambios:
sudo a2ensite your-domain.com.conf sudo a2enmod ssl rewrite sudo systemctl restart apache2
Paso 5. Proteja Apache con el certificado gratuito Let’s Encrypt SSL.
Antes de instalar Certbot, habilitamos el repositorio del universo en su sistema:
sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update
A continuación, instale Certbot para Apache en su sistema Ubuntu:
sudo apt install certbot python3-certbot-apache
Finalmente, use el comando Certbot para crear un certificado Let’s Encrypt y configure Apache para usar el certificado:
sudo certbot --apache
Producción:
------------------------------------------------------------------------------- Congratulations! You have successfully enabled https://your-domain.com and https://www.your-domain.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=your-domain.com https://www.ssllabs.com/ssltest/analyze.html?d=www.your-domain.com ------------------------------------------------------------------------------- IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/computerfreaks.top/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/your-domain.com/privkey.pem Your cert will expire on 2021-10-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Paso 5. Renovación automática de Certbot SSL.
Los certificados de Let’s Encrypt tienen una validez de 90 días y debe asegurarse de que se renueven a tiempo. El proceso de renovación ahora está automatizado y gracias al systemd
servicio proporcionado por el cliente Certbot. Para probar que este proceso de renovación está funcionando correctamente, puede ejecutar:
sudo certbot renew --dry-run
Producción:
Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/your-domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Account registered. Simulating renewal of an existing certificate for your-domain.com and www.your-domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations, all simulated renewals succeeded: /etc/letsencrypt/live/your-domain.com/fullchain.pem (success) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Paso 6. Prueba SSL.
Ahora puede ir a ssllabs.com/ssltest/ y ejecutar una prueba de SSL en su dominio:
Felicidades! Ha instalado Apache con éxito con un certificado SSL gratuito . Gracias por usar este tutorial para instalar el servidor w