Retour sur : Guides sur la technologie

Comment installer un certificat SSL avec certbot sur Ubuntu et Apache

Les certificats SSL sont un élément essentiel de tout site web ou application web, et sont vitaux pour protéger la vie privée et la sécurité de vos utilisateurs. Ils chiffrent les données envoyées entre un serveur web et un navigateur, sécurisant les données contre l'interception, et vérifiant l'identité du site web pour s'assurer qu'il est légitime. Heureusement, vous pouvez facilement installer un certificat Let's Encrypt gratuitement sur votre serveur grâce à leur script certbot. Avant de commencer, assurez-vous que votre DNS est correctement configuré. Dans notre cas, nous allons configurer ceci pour les domaines suivants :

  • https://example.ca

  • https://www.example.ca

Le script Certbot fonctionne avec le gestionnaire de bundles snapd. Ce gestionnaire de bundles est déjà pré-installé avec Ubuntu 18.04 et versions ultérieures. Si vous n'êtes pas sûr qu'il le soit, il est toujours bon de vérifier : D'abord, assurons-nous que notre gestionnaire de paquets est à jour.

sudo apt update

Maintenant, nous vérifions si snapd est déjà installé et l'installons s'il ne l'a pas déjà été.

sudo apt install snapd

Après l'installation de snapd, nous le mettons à jour vers la dernière version et le redémarrons.

sudo snap install core sudo snap refresh core

Maintenant, nous pouvons installer certbot.

sudo snap install --classic certbot

Préparez la commande certbot, afin qu'elle puisse être exécutée depuis la ligne de commande.

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

Enfin, nous exécutons la commande certbot pour démarrer le script et suivons les instructions à l'écran.

sudo certbot --apache

Lors de la première activation de Certbot, il vous sera demandé d'enregistrer une adresse email avec cette installation. Ils utilisent cet email pour envoyer des messages urgents concernant votre certificat.

sudo certbot --apache Saving debug log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): admin@example.ca

Il vous sera demandé de lire les Conditions Générales d'Utilisation et de les accepter pour continuer.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: y

La prochaine invite concerne les emails promotionnels, et c'est à vous de voir.

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

Enfin, nous voulons activer les deux noms, donc nous allons simplement appuyer sur ENTER.

Which names would you like to activate HTTPS for? We recommend selecting either all domains, or all domains in a VirtualHost/server block. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: example.ca 2: www.example.ca - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel):

Voilà, s'il n'y a pas d'erreur de connexion et que votre DNS pointe vers le bon serveur pour les domaines. L'activation du certificat SSL devrait se dérouler comme prévu.

Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/example.ca/fullchain.pem Key is saved at: /etc/letsencrypt/live/example.ca/privkey.pem This certificate expires on 2023-03-12. 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 example.ca to /etc/apache2/sites-available/000-default-le-ssl.conf Successfully deployed certificate for www.example.ca to /etc/apache2/sites-available/000-default-le-ssl.conf Congratulations! You have successfully enabled HTTPS on https://example.ca and https://www.example.ca - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Une redirection de HTTP vers HTTPS est également ajoutée dans les fichiers de configuration Apache pour le serveur web. Vous pouvez maintenant visiter votre site web pour confirmer que tout fonctionne et est sécurisé.

Commençons aujourd'hui