GNU/Linux >> Tutoriels Linux >  >> Debian

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

Let's Encrypt est une autorité de certification qui fournit des certificats SSL gratuits pour les sites Web. Il a été lancé en 2014 dans le but que tous les sites Web soient sécurisés et HTTP.

En plus d'offrir des certificats SSL, il aide également à la mise en œuvre et au renouvellement automatique des certificats. Let's Encrypt est la plus grande autorité de certification au monde, utilisée par plus de 250 millions de sites Web.

Lors de la rédaction de cet article, Let's Encrypt prend en charge l'installation automatique de certificats sur Apache, Nginx, Plex et Haproxy.

Ici, nous verrons comment installer Let's Encrypt SSL Certificate dans Apache sur Debian 11.

Prérequis

Installer le serveur Web Apache

Je vous recommande d'installer le serveur Web Apache sur votre système avant de poursuivre.

LIRE : Comment installer la pile LAMP sur Debian 11

OU

Utilisez le apt commande pour installer le serveur Web Apache.

sudo apt updatesudo apt install -y apache2

Activer les modules

Utilisez la commande ci-dessous pour activer SSL et réécrire les modules.

réécriture sudo a2enmod ssl

Créer un hôte virtuel

Tout d'abord, nous devrons créer un hôte virtuel Apache pour servir la version HTTP de votre site Web.

sudo nano /etc/apache2/sites-available/www.itzgeek.net.conf

Utilisez la configuration ci-dessous pour votre site Web. N'oubliez pas de modifier les valeurs en fonction de vos besoins. Si vous n'utilisez pas le sous-domaine www, vous pouvez supprimer le ServerAlias .

 Nom du serveur itzgeek.net Alias ​​du serveur www.itzgeek.net ServerAdmin [email protected] DocumentRoot /var/www/html/www.itzgeek.net ErrorLog ${APACHE_LOG_DIR}/www.itzgeek.net_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek.net_access.log combiné /var/www/html/www.itzgeek.net> Options FollowSymlinks AllowOverride All Exiger que tous soient accordés 

Une fois que vous avez créé le fichier de configuration de l'hôte virtuel, activez le site.

sudo a2ensite www.itzgeek.net

Ensuite, créez un répertoire racine pour contenir les fichiers de votre site Web.

sudo mkdir -p /var/www/html/www.itzgeek.net/

Ensuite, modifiez la propriété et le groupe du répertoire.

sudo chown -R www-data:www-data /var/www/html/www.itzgeek.net/

Enfin, placez le fichier HTML de test à la racine du document du site Web.

echo "Ceci est un site de test @ www.itzgeek.net" | tee sudo /var/www/html/www.itzgeek.net/index.html

Redémarrez le service Apache pour relire les configurations.

sudo systemctl recharger apache2

Créer / Mettre à jour l'enregistrement DNS

Pour générer un certificat SSL Let's Encrypt, vous devrez faire pointer votre domaine vers l'IP de votre serveur. Rendez-vous donc chez votre registraire de domaine et créez un enregistrement A/CNAME pour votre domaine. Par exemple, l'image ci-dessous montre l'enregistrement A/CNAME pour le domaine www.itzgeek.net.

REMARQUE :Après avoir apporté des modifications à l'enregistrement DNS, vous devrez attendre quelques minutes à quelques heures en fonction de la durée de vie que vous avez définie pour l'enregistrement DNS.

Installer le certificat SSL Let's Encrypt dans Apache

Installer Certbot

Le client Certbot ACME gère la délivrance et l'installation du certificat sans temps d'arrêt. Il est disponible sous forme de package instantané pour le système d'exploitation Debian. Alors, commencez par installer le package Snapd.

sudo apt updatesudo apt install -y snapd

Ensuite, mettez à jour le snapd vers la dernière version.

noyau d'installation de snap sudo ; sudo snap refresh core

Enfin, installez le client Certbot à l'aide de la commande snap et liez-le afin de pouvoir appeler la commande certbot de n'importe où, quel que soit le répertoire de travail actuel.

sudo snap install --classic certbotsudo ln -s /snap/bin/certbot /usr/bin/certbot

Installer le certificat Let's Encrypt

Utilisez la commande certbot pour créer un certificat Let's Encrypt et configurer Apache pour utiliser le certificat.

sudo certbot --apache

Vous devrez suivre l'invite interactive et installer le certificat. Puisque j'ai créé un hôte virtuel pour itzgeek.net et www.itzgeek.net, je devrai également installer des certificats SSL pour les deux domaines. Ensuite, je redirigerai tout le trafic vers www.itzgeek.net via des règles de réécriture.

Enregistrement du journal de débogage dans /var/log/letsencrypt/letsencrypt.logEntrez l'adresse e-mail (utilisée pour les renouvellements urgents et les avis de sécurité) (Entrez 'c' pour annuler) :[email protected] < - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Veuillez lire les conditions d'utilisation à l'adresse https:// letencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Vous devez accepter afin de vous inscrire auprès du serveur ACME. Êtes-vous d'accord ? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Oui)oui/( N)o :O << Accepter les conditions d'utilisation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Seriez-vous prêt, une fois votre premier certificat obtenu émis avec succès, pour partager votre adresse e-mail avec l'Electronic Frontier Foundation, un partenaire fondateur du projet Let's Encrypt et l'organisation à but non lucratif qui développe Certbot ? Nous aimerions vous envoyer un e-mail sur notre travail de cryptage du Web, les actualités de l'EFF, les campagnes et les moyens de soutenir la liberté numérique.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(O)oui/(N)o :N < Compte enregistré.Pour quels noms souhaitez-vous activer HTTPS ?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:itzgeek.net2:www.itzgeek.net- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Sélectionnez les chiffres appropriés séparés par des virgules et/ou des espaces, ou laissez la saisie vide pour sélectionner toutes les options affichées (Entrez 'c' pour annuler) :1,2 < Demande d'un certificat pour itzgeek.net et www.itzgeek.netCertificat reçu avec succès. privkey.pemCe certificat expire le 2022-01-21.Ces fichiers seront mis à jour lors du renouvellement du certificat.Certbot a mis en place une tâche planifiée pour renouveler automatiquement ce certificat en arrière-plan.Déploiement du certificatCertificat déployé avec succès pour itzgeek.net vers /etc/ apache2/sites-available/www.itzgeek.net-le-ssl.confCertificat déployé avec succès pour www.itzgeek.net vers /etc/apache2/sites-available/www.itzgeek.net-le-ssl.confFélicitations ! Vous avez activé avec succès HTTPS sur https://itzgeek.net et https://www.itzgeek.net- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Si vous aimez Certbot, veuillez envisager de soutenir notre travail en :* faisant un don à ISRG / Let's Encrypt :https://letsencrypt.org/donate * faisant un don à EFF :https:/ /eff.org/donate-le- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

Une fois que vous avez activé HTTPS pour votre domaine, le client Certbot placera les règles de réécriture nécessaires pour rediriger le trafic de HTTP vers le site HTTPS.

Dans mon cas, il a placé deux règles pour les redirections ci-dessous.

  1. http://itzgeek.net>> https://itzgeek.net
  2. http://www.itzgeek.net>> https://www.itzgeek.net

Comme vous pouvez le voir, la première redirection n'est pas atteinte vers la version www HTTPS du domaine. Ainsi, vous devrez peut-être suivre la section ci-dessous pour le configurer.

Redirection des requêtes HTTP non-www vers www HTTPS avec Apache

Vous souhaiterez peut-être configurer le serveur Web Apache pour rediriger le trafic du site HTTP non www vers le site HTTPS WWW, c'est-à-dire http://itzgeek.net>> https://www.itzgeek.net .

Modifiez le fichier d'hôte virtuel Let's Encrypt SSL (pas votre fichier d'hôte virtuel d'origine).

sudo nano /etc/apache2/sites-available/www.itzgeek.net-le-ssl.conf

Ajoutez les règles ci-dessous avant le </VirtualHost> . Modifiez le nom de domaine selon vos besoins.

 # Redirection HTTP NON-WWW vers WWW HTTPS RewriteEngine sur RewriteCond %{SERVER_NAME} =itzgeek.net Réécrire la règle ^ https://www.itzgeek.net %{REQUEST_URI} [END,NE,R=permanent]1,L]

Ensuite, redémarrez le service Apache.

sudo systemctl redémarrer apache2

Vérifier le certificat Let's Encrypt

Vous pouvez vérifier le certificat Let's Encrypt en visitant votre site Web.

http://votre-http-site-web

OU

https://votre-https-site-web

Vous devriez obtenir la version HTTPS de votre site maintenant.

Tester le certificat SSL

Testez votre certificat SSL Let's Encrypt pour tout problème et ses cotes de sécurité en accédant à l'URL ci-dessous.

https://www.ssllabs.com/ssltest/analyze.html?d=www.itzgeek.net

Renouveler le certificat Let's Encrypt

Comme vous le savez, les certificats Let's Encrypt ont une validité de 90 jours, et vous devez vous assurer qu'ils sont renouvelés à temps. Le processus de renouvellement est désormais automatisé et grâce au service systemd fourni par le client Certbot. Vous n'avez donc pas à les renouveler manuellement.

Cependant, il est recommandé de tester les renouvellements de certificats en simulant le renouvellement automatique des certificats SSL en exécutant la commande ci-dessous.

sudo certbot renouveler --dry-run

Sortie :

Enregistrement du journal de débogage dans /var/log/letsencrypt/letsencrypt.log- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Traitement de /etc/letsencrypt/renewal/itzgeek.net.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Compte enregistré.Simulation du renouvellement d'un certificat existant pour itzgeek.net et www.itzgeek.net- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Félicitations, tous les renouvellements simulés ont réussi :/etc/letsencrypt/live/itzgeek.net/fullchain.pem (success)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Si la sortie confirme que le renouvellement du test a réussi, le renouvellement automatique se déroulera comme prévu.

Conclusion

C'est tout. J'espère que vous avez appris à installer le certificat SSL Let's Encrypt dans Apache sur Debian 11.


Debian
  1. Comment installer Apache sur Debian 9

  2. Comment installer Apache Cassandra sur Debian 9

  3. Comment installer Apache Maven sur Debian 10

  4. Comment installer Apache Maven sur Debian 11

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

Comment installer Apache Tomcat sur Debian 11

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

Comment installer Let's Encrypt SSL dans Nginx sur Debian 11

Comment installer et configurer Apache avec Let's Encrypt TLS/SSL sur Debian 11 Bullseye

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

Comment installer Let's Encrypt SSL sur Ubuntu avec Apache