Cómo instalar Apache con Let’s Encrypt en Ubuntu 22.04 LTS
En este tutorial, le mostraremos cómo instalar Apache con Let’s Encrypt en Ubuntu 22.04 en Ubuntu 22.04 LTS. Para aquellos de ustedes que no lo sabían, Let’s Encrypt es una autoridad certificadora sin fines de lucro que proporciona certificados para que sus sitios web puedan usar conexiones seguras. Certbot es una herramienta de software de código abierto para integrar y administrar certificados Let’s Encrypt en la web para habilitar un protocolo HTTPS seguro. Administrará automáticamente el certificado de Let’s Encrypt por usted.
Este artículo asume que tiene al menos un conocimiento básico 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 Let’s Encrypt en Ubuntu 22.04 en Ubuntu 22.04 (Jammy Jellyfish). Puede seguir las mismas instrucciones para Ubuntu 22.04 y cualquier otra distribución basada en Debian como Linux Mint, Elementary OS, Pop!_OS y más.
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos: Ubuntu 22.04, 20.04 y cualquier otra distribución basada en Debian como Linux Mint.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra la Terminal si está en una computadora de escritorio).
- A o acceso al . Sin embargo, recomendamos actuar como un , ya que puede dañar su sistema si no tiene cuidado al actuar como la raíz.
non-root sudo user
root user
non-root sudo user
Instale Apache con Let’s Encrypt en Ubuntu 22.04 LTS Jammy Jellyfish
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. Instalación del servidor Apache HTTP en Ubuntu 22.04.
De forma predeterminada, Apache está disponible en el repositorio base de Ubuntu 22.04. Ahora ejecute el siguiente comando a continuación para instalar la última versión de Apache en su sistema Ubuntu:
sudo apt install apache2
Después de una instalación exitosa, habilite Apache (para que se inicie automáticamente al arrancar el sistema), inicie y verifique el estado con los siguientes comandos:
sudo systemctl enable apache2 sudo systemctl start apache2 sudo systemctl status apache2
Puede confirmar la versión de Apache2 con el siguiente comando:
apache2 -v
Paso 3. Configure el cortafuegos.
Ahora configuramos un Firewall sin complicaciones (UFW) con Apache para permitir el acceso público en los puertos web predeterminados para HTTP y HTTPS:
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full' sudo ufw enable
Paso 4. Acceso al servidor web Apache.
Una vez que se haya instalado correctamente, abra un navegador web en su sistema y escriba la IP del servidor en la barra de direcciones. Obtendrá la página predeterminada del servidor Apache:
Paso 5. Cree Apache Virtualhost.
Primero, cree un directorio raíz para guardar los archivos de su sitio web:
sudo mkdir -p /var/www/html/domain.com/
Luego, cambie la propiedad y el grupo del directorio:
sudo chown -R www-data:www-data /var/www/html/domain.com/
Después de eso, creamos un servidor virtual Apache para servir la versión HTTP del sitio web:
sudo nano /etc/apache2/sites-available/www.domain.com.conf
Agregue el siguiente archivo:
<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com ServerAdmin admin@domain.com DocumentRoot /var/www/html/www.domain.com ErrorLog ${APACHE_LOG_DIR}/www.domain.com_error.log CustomLog ${APACHE_LOG_DIR}/www.domain.com_access.log combined <Directory /var/www/html/www.domain.com> Options FollowSymlinks AllowOverride All Require all granted </Directory> </VirtualHost>
Guarde y cierre el archivo, luego reinicie el servidor web Apache para que se realicen los cambios:
sudo a2ensite www.domain.com.conf sudo a2enmod ssl rewrite sudo systemctl restart apache2
Paso 6. Asegure Apache con Let’s Encrypt en Ubuntu 22.04.
En primer lugar, debe instalar Certbot para obtener un certificado SSL con Let’s Encrypt:
sudo apt install certbot python3-certbot-apache
A continuación, obtenga su certificado SSL con Let’s Encrypt siguiendo estos pasos:
sudo certbot --apache
Deberá seguir las indicaciones interactivas e instalar el certificado. Como tengo dos dominios, instalaré certificados SSL para ambos dominios:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): admin@domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N Account registered. Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: domain.com 2: www.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1,2 Requesting a certificate for domain.com and www.domain.com Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/domain.com/fullchain.pem Key is saved at: /etc/letsencrypt/live/domain.com/privkey.pem This certificate expires on 2022-12-10. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for domain.com to /etc/apache2/sites-available/www.domain.com-le-ssl.conf Successfully deployed certificate for www.domain.com to /etc/apache2/sites-available/www.domain.com-le-ssl.conf Congratulations! You have successfully enabled HTTPS on https://domain.com and https://www.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 7. Renovación automática de SSL.
Los certificados de Let’s Encrypt tienen 90 días de validez, siendo muy recomendable renovar los certificados antes de que caduquen. Puede probar la renovación automática de sus certificados ejecutando este comando:
sudo certbot renew --dry-run
Producción:
Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/domain.com.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Account registered. Simulating renewal of an existing certificate for domain.com and www.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations, all simulated renewals succeeded: /etc/letsencrypt/live/domain.com/fullchain.pem (success) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Paso 8. Prueba SSL.
Una vez que haya completado con éxito Apache seguro con Let’s Encrypt SSL, vaya a ssllabs.com/ssltest/ y ejecute una prueba de SSL en su dominio:
¡Felicidades! Ha configurado correctamente Apache con Let’s Encrypt en Ubuntu 22.04. Gracias por usar este tutorial para instalar Apache con Let’s Encrypt TLS/SSL en el sistema Ubuntu 22.04 LTS Jammy Jellyfish. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de Apache .