Comment installer un certificat SSL sur un VPS

Base de connaissances

Comment installer un certificat SSL sur un VPS


Icons/System/eye-open Created with Sketch. 5690 vues 24.01.2025 Cloud / Serveurs privés virtuels

Objectif

La sécurisation de votre site web est essentielle pour protéger les données sensibles de vos utilisateurs et améliorer leur confiance. Grâce à un certificat SSL (Secure Sockets Layer), vous pouvez chiffrer les échanges entre vos visiteurs et votre site web, tout en renforçant sa crédibilité. Ce guide documente l'utilisation de Let's Encrypt, un service gratuit et automatisé.

Découvrez comment installer un certificat SSL sur un VPS OVHcloud.

OVHcloud met à votre disposition des services dont la configuration, la gestion et la responsabilité vous incombent. Il vous revient de ce fait d'en assurer le bon fonctionnement.

Nous mettons à votre disposition ce tutoriel afin de vous accompagner au mieux sur des tâches courantes. Néanmoins, nous vous recommandons de faire appel à un prestataire spécialisé et/ou de contacter l'éditeur du service si vous éprouvez des difficultés. En effet, nous ne serons pas en mesure de vous fournir une assistance. Plus d'informations dans la section Aller plus loin de ce tutoriel.

Prérequis

  • Disposer d'une offre VPS
  • Disposer d'un accès administrateur (sudo) via SSH à votre VPS
  • Disposer d'un site web fonctionnel accessible en HTTP

En pratique

Sommaire

Étape 1 - Connectez-vous à votre VPS OVHcloud

  1. Téléchargez un client SSH comme PuTTY ou utilisez le terminal intégré de votre système d'exploitation.
  2. Connectez-vous à votre VPS OVHcloud avec les informations de connexion fournies :
ssh root@<vps_ip>

Remplacez <vps_ip> par l'adresse IP de votre VPS OVHcloud.

Étape 2 - Installez Certbot

Certbot est un outil permettant de gérer automatiquement les certificats Let's Encrypt. Suivez les étapes ci-dessous pour installer Certbot selon votre distribution Linux.

sudo apt update
sudo apt install certbot
sudo yum install epel-release
sudo yum install certbot
sudo dnf install certbot

Assurez-vous que Certbot est correctement installé en exécutant la commande suivante :

certbot --version

Cela doit afficher la version de Certbot installée.

Étape 3 - Obtenez un certificat SSL avec Let's Encrypt

Si vous avez installé votre serveur web (Nginx ou Apache), nous vous recommandons d'utiliser les plugins Certbot pour automatiser la configuration SSL et activer les redirections HTTPS. Ces plugins simplifient l'installation en gérant directement les fichiers de configuration du serveur web.

Utilisation automatique avec les plugins Certbot Nginx ou Apache (recommandée)

Selon votre serveur web, utilisez les lignes de commandes correspondantes :

Installez le plugin Certbot Nginx :

sudo apt install python3-certbot-nginx -y

Générez le certificat SSL :

sudo certbot --nginx -d your_domain

Installez le plugin Certbot Apache :

sudo apt install python3-certbot-apache -y

Générez le certificat SSL :

sudo certbot --apache -d your_domain

Certbot configurera automatiquement le certificat SSL et la redirection HTTPS. Vérifiez que votre site web est accessible en HTTPS.

Utilisation en mode autonome

Si vous préférez configurer manuellement votre serveur, utilisez Certbot en mode autonome. Ce mode utilise un serveur temporaire intégré à Certbot pour valider votre nom de domaine et générer un certificat SSL.

Utilisez la commande suivante pour demander un certificat :

sudo certbot certonly --standalone -d your_domain

Remplacez your_domain par votre nom de domaine.

Cette méthode arrête temporairement tout service utilisant le port 80 (par exemple un autre serveur web).

Une fois le certificat généré, les fichiers sont disponibles dans /etc/letsencrypt/live/your_domain/ :

  • fullchain.pem : le certificat complet.
  • privkey.pem : la clé privée.

Étape 4 - Configurez votre serveur web

Si vous avez utilisé la solution automatique (avec les plugins Certbot) précédemment (Étape 3) et que votre site web est accessible en HTTPS, passez directement à l'étape 5.

Exemple pour Nginx

1. Ouvrez le fichier de configuration de votre site web (par exemple, /etc/nginx/sites-available/your_domain.conf).

2. Ajoutez les lignes suivantes pour activer le SSL :

server {
    listen 443 ssl;
    server_name your_domain;

    ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem;

    # Paramètres de sécurité supplémentaires
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    # Redirection HTTP vers HTTPS
    location / {
        try_files $uri $uri/ =404;
    }
}

3. Ajoutez une redirection automatique HTTP vers HTTPS :

server {
    listen 80;
    server_name your_domain;
    return 301 https://$host$request_uri;
}

4. Testez et redémarrez Nginx :

sudo nginx -t
sudo systemctl reload nginx

Vérifiez que votre site web est accessible en HTTPS.

Exemple pour Apache

1. Activez les modules SSL et les headers :

sudo a2enmod ssl
sudo a2enmod headers

2. Modifiez la configuration de votre site web (par exemple /etc/apache2/sites-available/your_domain.conf) pour inclure :

<VirtualHost *:80>
    ServerName your_domain
    DocumentRoot /var/www/your_domain

    Redirect permanent / https://your_domain/

    <Directory /var/www/your_domain>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/ssltest_error.log
    CustomLog ${APACHE_LOG_DIR}/ssltest_access.log combined
</VirtualHost>

<VirtualHost *:443>
    ServerName your_domain
    DocumentRoot /var/www/your_domain

    # Activer SSL
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/your_domain/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/your_domain/privkey.pem

    # Paramètres de sécurité supplémentaires
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5
    SSLHonorCipherOrder on

    <Directory /var/www/your_domain>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/ssltest_error.log
    CustomLog ${APACHE_LOG_DIR}/ssltest_access.log combined
</VirtualHost>

3. Testez et redémarrez Apache :

sudo apachectl configtest
sudo systemctl restart apache2

Vérifiez que votre site web est accessible en HTTPS.

Étape 5 - Activez le renouvellement automatique

Les certificats Let's Encrypt sont valides pendant 90 jours. Configurez un renouvellement automatique avec Certbot :

Testez le renouvellement automatique :

sudo certbot renew --dry-run

Certbot configure automatiquement une tâche cron ou un timer systemd pour gérer le renouvellement. Vérifiez son état avec :

sudo systemctl list-timers | grep certbot

Aller plus loin

Pour des prestations spécialisées (référencement, développement, etc), contactez les partenaires OVHcloud.

Échangez avec notre communauté d'utilisateurs.

Articles associés