Dans ce tutoriel, nous allons vous montrer comment installer le client Let's Encrypt sur votre VPS CentOS 7 et émettre un certificat SSL pour votre domaine.
L'amélioration de la sécurité de votre site Web grâce au cryptage SSL peut accroître la confiance de vos visiteurs dans votre site Web. Dans le passé, la configuration du cryptage SSL sur un site Web était une tâche compliquée. Cependant, Let's Encrypt est une autorité de certification (CA) gratuite et open source qui permet d'obtenir et d'installer des certificats via des commandes simples et automatisées. Grâce à eux, la mise en place du cryptage et l'augmentation de la sécurité de votre site sont beaucoup plus faciles. Let's Encrypt fournit un certificat SSL valide pour votre domaine sans aucun frais et peut également être utilisé à des fins de production/commerciales.
Commençons par l'installation - c'est une installation simple, et cela ne prendra pas longtemps du tout.
Prérequis
- Pour les besoins de ce didacticiel, nous utiliserons un VPS CentOS 7.
- Un accès root SSH complet ou un utilisateur avec des privilèges sudo est également requis.
- Un nom de domaine valide pointant vers l'adresse IP de votre serveur. Dans ce tutoriel, nous utiliserons
domain.com
.
Étape 1 :Connectez-vous via SSH et mettez à jour le système d'exploitation
Connectez-vous à votre serveur via SSH en tant qu'utilisateur root à l'aide de la commande suivante :
ssh root@IP_ADDRESS -p PORT_NUMBER
N'oubliez pas de remplacer "IP_ADDRESS" et "PORT_NUMBER" par l'adresse IP et le numéro de port SSH respectifs de votre serveur.
Avant de commencer l'installation, vous devrez mettre à jour vos packages de système d'exploitation vers leurs dernières versions. C'est facile à faire et cela ne prendra pas plus de quelques minutes.
Vous pouvez le faire en exécutant la commande suivante :
yum update
Une fois les mises à jour terminées, nous pouvons passer à l'étape suivante.
Étape 2 :Installer la pile LAMP
Nous devons installer la pile LAMP sur le serveur. Il se compose de Linux (que nous avons déjà), Apache, MySQL et PHP. Nous pouvons l'installer en exécutant la commande suivante :
yum install httpd mariadb-server php php-cli php-common
Une fois tous les packages installés, démarrez les services Apache et MariaDB :
systemctl start httpd systemctl start mariadb
Permettez-leur de démarrer au démarrage du serveur avec la commande suivante :
systemctl enable httpd systemctl enable mariadb
Étape 3 :Configurer Apache
Nous devons créer un nouveau fichier de configuration Apache. Nous pouvons le créer avec la commande suivante :
nano /etc/httpd/conf.d/domain.com.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html" DirectoryIndex index.html ServerName domain.com ErrorLog "/var/log/httpd/domain.com.error_log" CustomLog "/var/log/httpd/domain.com.access_log" common </VirtualHost>
Enregistrez et fermez le fichier.
Ensuite, créez un index.html
fichier à des fins de test avec la commande suivante :
nano /var/www/html/index.html
Ajoutez les lignes suivantes :
<html> Test - Welcome to The Apache Web Server. </html>
Enregistrez le fichier et changez le propriétaire du fichier "/var/www/html/index.html" pour l'utilisateur Apache afin qu'Apache puisse lire le fichier :
chown -R apache:apache /var/www/html/index.html
N'oubliez pas de modifier domain.com
avec votre nom de domaine réel.
Maintenant qu'Apache est installé, nous pouvons continuer et installer certbot
.
Étape 4 :Installer Certbot
Nous devons installer Certbot et activer le mod_ssl
Module Apache sur le serveur. Certbot est un outil simple et facile à utiliser qui simplifie la gestion des serveurs en automatisant l'obtention de certificats et en configurant les services Web pour les utiliser.
Par défaut, le package Certbot n'est pas disponible dans le référentiel du système d'exploitation par défaut de CentOS 7. Nous devons activer le référentiel EPEL, puis installer Certbot.
Pour ajouter le référentiel EPEL, exécutez la commande suivante :
yum install epel-release
Une fois activé, installez tous les packages requis avec la commande suivante :
yum install certbot python2-certbot-apache mod_ssl
Une fois installé, nous pouvons passer à l'étape suivante.
Étape 5 :Obtenir et installer SSL pour votre domaine
Maintenant que Certbot est installé, vous pouvez l'utiliser pour obtenir et installer un certificat SSL pour votre domaine.
Exécutez simplement la commande suivante pour obtenir et installer un certificat SSL pour votre domaine :
certbot --apache -d domain.com
Nous pouvons également installer un seul certificat pour plusieurs domaines et sous-domaines hébergés sur le serveur avec le drapeau "-d", par exemple :
certbot --apache -d domain.com -d www.domain.com -d domain2.com -d test.domain2.com
Il nous sera demandé de fournir une adresse e-mail et d'accepter les conditions d'utilisation.
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing 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 Starting new HTTPS connection (1): supporters.eff.org Obtaining a new certificate Performing the following challenges: http-01 challenge for domain.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/httpd/conf.d/domain.com-le-ssl.conf Deploying Certificate to VirtualHost /etc/httpd/conf.d/domain.com-le-ssl.conf
Tapez Y et appuyez sur [Entrée], et vous devriez voir le résultat suivant :
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Ici, vous devez choisir une option pour continuer. Si vous choisissez l'option 1, il ne téléchargera qu'un certificat SSL et vous devrez configurer Apache manuellement pour utiliser le certificat SSL. Si vous choisissez l'option 2, il téléchargera et configurera automatiquement Apache pour utiliser le certificat SSL. Dans ce cas, choisissez l'option 2 et appuyez sur [Entrée]. Lorsque l'installation est terminée avec succès, vous verrez un message semblable à celui-ci :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://domain.com
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/domain.com-0001/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/domain.com-0001/privkey.pem Your cert will expire on 2019-10-22. 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
Les fichiers de certificat générés sont disponibles dans le /etc/letsencrypt/live/domain.com
annuaire. Vous pouvez vérifier le certificat SSL nouvellement créé avec la commande suivante :
ls /etc/letsencrypt/live/domain.com/
Vous devriez voir le résultat suivant :
cert.pem chain.pem fullchain.pem privkey.pem
Étape 6 :Vérifiez votre certificat SSL
Ouvrez votre navigateur Web et saisissez l'URL https://domain.com
. Pour vérifier le certificat SSL dans Chrome, cliquez sur l'icône du cadenas dans la barre d'adresse de https://domain.com et dans la fenêtre contextuelle, cliquez sur "Valide" sous l'invite "Certificat".
Étape 7 :Configurer le renouvellement automatique
Par défaut, les certificats Let's Encrypt sont valides pendant 90 jours, il est donc recommandé de renouveler le certificat avant son expiration. Idéalement, il serait préférable d'automatiser le processus de renouvellement pour vérifier et renouveler périodiquement le certificat.
Nous pouvons tester le processus de renouvellement manuellement avec la commande suivante.
certbot renew --dry-run
La commande ci-dessus vérifiera automatiquement les certificats actuellement installés et tentera de les renouveler s'ils sont à moins de 30 jours de la date d'expiration.
Nous pouvons également ajouter un cronjob pour exécuter automatiquement la commande ci-dessus deux fois par jour.
Pour cela, éditez la crontab avec la commande suivante :
crontab -e
Ajoutez la ligne suivante :
* */12 * * * root /usr/bin/certbot renew >/dev/null 2>&1
Enregistrez et fermez le fichier.
Toutes nos félicitations! Nous avons installé et configuré avec succès Let's Encrypt with Apache sur un VPS CentOS 7.
Bien sûr, vous n'êtes pas obligé d'installer Let's Encrypt sur CentOS 7 si vous utilisez l'un de nos plans d'hébergement VPS gérés, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts d'installer Let's Encrypt sur votre VPS CentOS 7 pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS . Si vous avez aimé cet article sur comment installer Let's Encrypt sur CentOS 7 , ou si vous l'avez trouvé utile, partagez-le avec vos amis sur les réseaux sociaux à l'aide des boutons de partage, ou laissez simplement une réponse ci-dessous. Merci.