GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Let's Encrypt SSL con Apache en Debian 11

Cómo instalar Let's Encrypt SSL con Apache en Debian 11. También aprenderá a configurar un servidor virtual con Apache y proteger su configuración con la redirección HTTPS.

Esta configuración se prueba en la nube de Google, por lo que funcionará en todos los servicios de alojamiento en la nube como AWS, Azure o cualquier VPS o cualquier servidor dedicado que ejecute Debian 11.

Requisitos

  • Acceso raíz a su servidor o un usuario sudo.
  • El dominio apuntó a la IP de su servidor para instalar Let'sEncrypt SSL

Paso 1:Inicialización de la configuración

Comience por actualizar los paquetes a la última versión disponible con el siguiente comando.

sudo apt update
sudo apt upgrade

Instale el paquete wget.

sudo apt install wget

Una vez que haya actualizado la configuración, puede iniciar la configuración.

Paso 2:Instalar Apache

Instale Apache usando el siguiente comando.

sudo apt install apache2

Esto instalará apache2 y todas las dependencias requeridas.

Paso 3:configurar el cortafuegos

Ahora puede configurar un cortafuegos sin complicaciones (UFW) con Apache para permitir el acceso público a los puertos web predeterminados para HTTP y HTTPS

sudo ufw app list

Verá todas las aplicaciones enumeradas.

Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
  • Apache :Este perfil abre el puerto 80 (tráfico web normal, sin cifrar)
  • Apache completo :Este perfil abre ambos puertos 80 (tráfico web normal, sin cifrar) y puerto 443 (tráfico cifrado con TLS/SSL)
  • Apache seguro :Este perfil abre solo el puerto 443 (tráfico cifrado con TLS/SSL)
  • Abrir SSH :Este perfil abre el puerto 22 para acceso SSH.

Si no va a utilizar SSL, debe habilitar solo el perfil de Apache.

Ahora habilitaremos Apache Full.

sudo uff allow OpenSSH
sudo ufw allow 'Apache Full'

Con este comando puede ver el estado de UFW.

sudo ufw status

Verá el resultado de la siguiente manera.

Output
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)

Paso:4 Comprobar la instalación de Apache

Una vez que Apache está instalado, se inicia automáticamente y ya está en funcionamiento.

Cada proceso en Apache se gestiona con el systemctl dominio. Verifique el estado de Apache con el siguiente comando.

sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Drop-In: /lib/systemd/system/apache2.service.d
            └─apache2-systemd.conf
    Active: active (running) since Tue 2022-02-02 10:29:51 UTC; 5min ago
  Main PID: 10617 (apache2)
     Tasks: 55 (limit: 667)
    CGroup: /system.slice/apache2.service
            ├─10617 /usr/sbin/apache2 -k start
            ├─10619 /usr/sbin/apache2 -k start
            └─10620 /usr/sbin/apache2 -k start
 Feb 02 10:29:51 apache systemd[1]: Starting The Apache HTTP Server…
 Feb 02 10:29:51 apache systemd[1]: Started The Apache HTTP Server.

Ahora tenemos Apache instalado y configurado Firewall.

Paso 5:Configurar Apache

Deshabilite la configuración predeterminada de Apache.

sudo a2dissite 000-default

Crear directorios de sitios web.

sudo mkdir -p /var/www/html/domainname/public

Configure los permisos correctos.

sudo chmod -R 755 /var/www/html/domainname
sudo chown -R www-data:www-data /var/www/html/domainname

Cree una nueva configuración de host virtual.

sudo nano /etc/apache2/sites-available/domainname.conf

Pegue las siguientes configuraciones en el nuevo archivo.

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName domainname.com
     ServerAlias www.domainname.com

     DocumentRoot /var/www/html/domainname/public

     <Directory /var/www/html/domainname/public>
         Options Indexes FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
 </VirtualHost>

Habilite la nueva configuración.

sudo a2ensite domainname.conf

Paso 6:Instalar Let's Encrypt SSL

HTTPS es un protocolo para la comunicación segura entre un servidor (instancia) y un cliente (navegador web). Debido a la introducción de Let's Encrypt, que proporciona certificados SSL gratuitos, todos adoptan HTTPS y también brindan confianza a sus audiencias.

Aquí instalaremos Certbot para instalar Let'sEncrypt SSL usando Snap.

sudo apt update
sudo apt install snapd -y
sudo snap install core
sudo snap refresh core

Instale la herramienta Certbot.

sudo snap install --classic certbot

Configure Certbot para que sea ejecutable como un comando.

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Ahora hemos instalado Certbot para instalar Let's Encrypt para Debian 11.

Ejecute el siguiente comando para instalar sus certificados.

sudo certbot --apache --agree-tos --redirect -m [email protected] -d domainname.com -d www.domainname.com

Seleccione la opción apropiada y presione Enter

Este comando instalará Free SSL, configurará la redirección a HTTPS y reiniciará el servidor Apache.

Paso 7:Renovación del certificado SSL

Los certificados proporcionados por Let's Encrypt son válidos solo por 90 días, por lo que debe renovarlos con frecuencia. Entonces, probemos la función de renovación usando el siguiente comando.

sudo certbot renew --dry-run

Este comando probará la caducidad del certificado y configurará la función de renovación automática.

Paso:8:Pruebe la configuración

Una vez que haya realizado los pasos necesarios, puede crear un nuevo archivo HTML de prueba en su directorio web.

sudo nano /var/www/html/domainname/public/index.html

Pegue el siguiente código dentro del archivo.

<!DOCTYPE html>
<html>
    <body>
        <h1>Test page with HTTPS</h1>
   </body>
</html>

Guarde el archivo.

Ahora continúe y verifique su nombre de dominio en el navegador (domainname.com ).

Verá que su dominio fue redirigido a HTTPS y verá la salida HTML.

Potencie su carrera de administración de Linux con un curso de capacitación completo y obtenga el trabajo de sus sueños.

Conclusión

Ahora ha aprendido a instalar Let's Encrypt Free SSL con Apache en Debian 11.

Gracias por tu tiempo. Si tiene algún problema o comentario, deje un comentario a continuación.


Linux
  1. Cómo instalar Apache en Debian 9

  2. Asegure Apache con Lets Encrypt en Debian 10

  3. Cómo instalar Let's Encrypt con Apache en CentOS 7

  4. Cómo instalar Let's Encrypt en Ubuntu 20.04 con Apache

  5. Cómo instalar Let's Encrypt SSL con Apache en Debian 11

Cómo instalar Let's Encrypt SSL con Nginx en CentOS 7

Cómo instalar Let's Encrypt SSL en Ubuntu con Apache

Cómo instalar Apache con Let's Encrypt SSL en Ubuntu 20.04 LTS

Cómo instalar Apache con Python Mod_wsgi en Debian 10

Cómo proteger Apache con Let's Encrypt en CentOS 8

Cómo instalar Apache en Debian 10