GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer Let's Encrypt SSL avec Apache sur Debian 11

Comment installer Let's Encrypt SSL avec Apache sur Debian 11. Vous apprendrez également à configurer l'hôte virtuel avec Apache et à sécuriser votre configuration avec la redirection HTTPS.

Cette configuration est testée sur Google Cloud, elle fonctionnera donc sur tous les services d'hébergement cloud comme AWS, Azure ou tout VPS ou tout serveur dédié exécutant Debian 11.

Prérequis

  • Accès root à votre serveur ou à un utilisateur sudo.
  • Domaine pointé vers l'IP de votre serveur pour installer Let'sEncrypt SSL

Étape 1 :Initialisation de la configuration

Commencez par mettre à jour les packages vers la dernière version disponible à l'aide de la commande suivante.

sudo apt update
sudo apt upgrade

Installez le paquet wget.

sudo apt install wget

Une fois que vous avez mis à jour la configuration, vous pouvez démarrer la configuration.

Étape 2 :Installer Apache

Installez Apache à l'aide de la commande suivante.

sudo apt install apache2

Cela installera apache2 et toutes les dépendances requises.

Étape 3 :Configurer le pare-feu

Vous pouvez désormais configurer un pare-feu non compliqué (UFW) avec Apache pour autoriser l'accès public sur les ports Web par défaut pour HTTP et HTTPS

sudo ufw app list

Vous verrez toutes les applications répertoriées.

Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
  • Apache :Ce profil ouvre le port 80 (trafic Web normal et non chiffré)
  • Apache complet :Ce profil ouvre les deux ports 80 (trafic Web normal et non chiffré) et le port 443 (trafic crypté TLS/SSL)
  • Apache sécurisé :Ce profil ouvre uniquement le port 443 (trafic crypté TLS/SSL)
  • OpenSSH :Ce profil ouvre le port 22 pour l'accès SSH.

Si vous n'utilisez pas SSL, vous devez activer uniquement le profil Apache.

Nous allons maintenant activer Apache Full.

sudo uff allow OpenSSH
sudo ufw allow 'Apache Full'

Avec cette commande, vous pouvez afficher l'état d'UFW.

sudo ufw status

Vous verrez la sortie comme suit.

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

Étape :4 Vérifier l'installation d'Apache

Une fois Apache installé, il démarre automatiquement et est déjà opérationnel.

Chaque processus dans Apache est géré avec le systemctl commande. Vérifiez l'état d'Apache avec la commande suivante.

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.

Nous avons maintenant Apache installé et configuré le pare-feu.

Étape 5 :Configurer Apache

Désactivez la configuration Apache par défaut.

sudo a2dissite 000-default

Créez des répertoires de sites Web.

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

Configurez les autorisations correctes.

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

Créez une nouvelle configuration d'hôte virtuel.

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

Collez les configurations suivantes dans le nouveau fichier.

<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>

Activez la nouvelle configuration.

sudo a2ensite domainname.conf

Étape 6 :Installez Let's Encrypt SSL

HTTPS est un protocole de communication sécurisée entre un serveur (instance) et un client (navigateur Web). Grâce à l'introduction de Let's Encrypt, qui fournit des certificats SSL gratuits, HTTPS est adopté par tout le monde et donne également confiance à votre public.

Ici, nous allons installer Certbot pour installer Let'sEncrypt SSL en utilisant Snap.

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

Installez l'outil Certbot.

sudo snap install --classic certbot

Configurez Certbot pour qu'il soit exécutable en tant que commande.

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

Nous avons maintenant installé Certbot pour installer Let's Encrypt pour Debian 11.

Exécutez la commande suivante pour installer vos certificats.

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

Sélectionnez l'option appropriée et appuyez sur Enter

Cette commande installera Free SSL, configurera la redirection vers HTTPS et redémarrera le serveur Apache.

Étape 7 :Renouvellement du certificat SSL

Les certificats fournis par Let's Encrypt sont valides pendant 90 jours seulement, vous devez donc les renouveler souvent. Testons donc la fonctionnalité de renouvellement à l'aide de la commande suivante.

sudo certbot renew --dry-run

Cette commande testera l'expiration du certificat et configurera la fonction de renouvellement automatique.

Étape : 8 :Tester la configuration

Une fois que vous avez effectué les étapes nécessaires, vous pouvez créer un nouveau fichier HTML de test dans votre répertoire Web.

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

Collez le code ci-dessous dans le fichier.

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

Enregistrez le fichier.

Maintenant, allez-y et vérifiez votre nom de domaine dans le navigateur (domainname.com ).

Vous verrez que votre domaine a été redirigé vers HTTPS et verrez la sortie HTML.

Boostez votre carrière d'administrateur Linux avec une formation complète et obtenez l'emploi de vos rêves.

Conclusion

Vous savez maintenant comment installer Let's Encrypt Free SSL with Apache sur Debian 11.

Merci pour votre temps. Si vous rencontrez un problème ou des commentaires, veuillez laisser un commentaire ci-dessous.


Linux
  1. Comment installer Apache sur Debian 9

  2. Sécurisez Apache avec Lets Encrypt sur Debian 10

  3. Comment installer Let's Encrypt avec Apache sur CentOS 7

  4. Comment installer Let's Encrypt sur Ubuntu 20.04 avec Apache

  5. Comment installer Let's Encrypt SSL avec Apache sur Debian 11

Comment installer Let's Encrypt SSL avec Nginx sur CentOS 7

Comment installer Let's Encrypt SSL sur Ubuntu avec Apache

Comment installer Apache avec Let's Encrypt SSL sur Ubuntu 20.04 LTS

Comment installer Apache avec Python Mod_wsgi sur Debian 10

Comment sécuriser Apache avec Let's Encrypt sur CentOS 8

Comment installer Apache sur Debian 10