Passer au contenu principal
Toutes les collectionsVPSPremiers pas
Comment installer un certificat SSL sur un VPS à l'aide de Certbot
Comment installer un certificat SSL sur un VPS à l'aide de Certbot

Installer un certificat SSL sur votre VPS avec Certbot en utilisant Python

Mis à jour il y a plus d'un an

Si votre système d'exploitation VPS n'a pas de panneau de contrôle ou s'il n'intègre pas d'option SSL gratuite, vous pouvez générer et installer un SSL Let's Encrypt gratuit avec Certbot. Suivez simplement ces étapes :

Étape 1 - Préparer le VPS

Avant d'installer le certificat SSL, assurez-vous que votre VPS :

  • A un serveur Web en cours d' exécution (par exemple, Apache, NGINX, etc.)

  • Le site Web hébergé sur votre VPS est configuré pour être ouvert en entrant le nom de domaine dans la barre d'adresse et non pas l'adresse IP

  • Le DNS du domaine est entièrement propagé et pointe vers vos serveurs de noms enfants VPS. L'installation d'un SSL avec Certbot alors que le domaine est encore en propagation créera un certificat auto-signé, ce qui peut provoquer des erreurs lors de l'accès à votre site Web

Étape 2 - Installer les dépendances

Certbot recommande d'utiliser snapd pour l'installation. Comme snapd n'est pas pris en charge sur les VPS de Hostinger basés sur Linux, vous pouvez utiliser Python en l'installant d'abord sur votre serveur.

Pour démarrer le processus, connectez-vous à votre VPS en utilisant SSH. Ensuite, installez les dépendances requises (Python 3.6+, venv et Augeas) en fonction de votre système d'exploitation :

Pour les distributions basées sur APT (telles que Debian ou Ubuntu), exécutez ce qui suit :

sudo apt update
sudo apt install python3 python3-venv libaugeas0

Pour les distributions basées sur RPM (Fedora, CentOS), utilisez cette commande :

sudo dnf install python3 augeas-libs

REMARQUES :

  • Pour les anciennes distributions qui ne prennent pas en charge dnf, utilisez plutôt yum

  • Certaines distributions basées sur RHEL utilisent python3x au lieu de python3 (par exemple python38). Veuillez vous référer à la documentation de votre distribution Linux 😊

  • Si vous rencontrez des problèmes lors de l'installation de Cryptographie, vous devrez peut-être installer des dépendances supplémentaires. Consultez cet article pour plus d'informations : Construire Cryptographie sur Linux

Étape 3 - Installer Certbot

Pour éviter tout conflit avec les versions précédentes, supprimez tous les packages Certbot déjà installés avant d'installer la version la plus récente. Vous pouvez utiliser votre gestionnaire de paquets (apt, dnf, yum, etc.) pour cela.

Une fois prêt, exécutez ce qui suit pour configurer un environnement virtuel Python :

sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip

Pour installer Certbot, exécutez cette commande sur Apache :

sudo /opt/certbot/bin/pip install certbot certbot-apache

Ou celle-ci pour NGINX :

sudo /opt/certbot/bin/pip install certbot certbot-nginx

Ensuite, créez un lien symbolique pour que Certbot puisse être exécuté depuis n'importe quel chemin :

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

Installez et activez SSL pour vos sites Web et demandez à Certbot de faire toutes les configurations en exécutant la commande suivante pour Apache :

sudo certbot --apache

Et celle-ci our NGINX :

sudo certbot --nginx

REMARQUE :

  • Pour obtenir uniquement les certificats et configurer le SSL manuellement, ajoutez certonly après certbot et avant --apache ou --nginx.

Le SSL étant actif pendant 90 jours, il est recommandé de mettre en place un renouvellement automatique. Vous pouvez le faire en exécutant cette commande :

echo "0 0,12 * * * root /opt/certbot/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

Ça y est, vous pouvez maintenant visiter votre site Web sur une fenêtre de navigation privée pour vérifier que SSL est correctement installé et fonctionne 😊

Ressources supplémentaires :

Avez-vous trouvé la réponse à votre question ?