|
| 1 | +--- |
| 2 | +title: 'Comment installer un certificat SSL sur un VPS OVHcloud' |
| 3 | +excerpt: 'Découvrez comment installer un certificat SSL sur un VPS OVHcloud' |
| 4 | +updated: 2025-01-15 |
| 5 | +--- |
| 6 | + |
| 7 | +## Objectif |
| 8 | + |
| 9 | +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 (**S**ecure **S**ockets **L**ayer), vous pouvez chiffrer les échanges entre vos visiteurs et votre site web, tout en renforçant sa crédibilité. OVHcloud propose plusieurs solutions pour installer un certificat SSL sur votre VPS, notamment l'utilisation de **Let's Encrypt**, un service gratuit et automatisé, ainsi que l'option **SSL Gateway**, une solution simple et performante. |
| 10 | + |
| 11 | +**Découvrez comment installer un certificat SSL sur un VPS OVHcloud.** |
| 12 | + |
| 13 | +> [!warning] |
| 14 | +> |
| 15 | +> 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. |
| 16 | +> |
| 17 | +> 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é](https://partner.ovhcloud.com/fr/directory/) 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](#gofurther) de ce tutoriel. |
| 18 | +> |
| 19 | +
|
| 20 | +## Prérequis |
| 21 | + |
| 22 | +- Disposer d'une offre [VPS](https://www.ovhcloud.com/fr/vps/) |
| 23 | +- Disposer d'un accès administrateur (sudo) via SSH à votre VPS |
| 24 | +- Disposer d'un site web fonctionnel accéssible en http |
| 25 | + |
| 26 | +## En pratique |
| 27 | + |
| 28 | +### Sommaire |
| 29 | + |
| 30 | +- [Étape 1 - Connectez-vous à votre VPS OVHcloud](#step1) |
| 31 | +- [Étape 2 - Installez Certbot](#step2) |
| 32 | +- [Étape 3 - Obtenez un certificat SSL avec Let's Encrypt](#step3) |
| 33 | +- [Étape 4 - Configurez votre serveur web](#step4) |
| 34 | +- [Étape 5 - Activez le renouvellement automatique](#step5) |
| 35 | +- [SSL Gateway OVHcloud](#ssl-gateway) |
| 36 | + |
| 37 | +### Étape 1 - Connectez-vous à votre VPS OVHcloud <a name="step1"></a> |
| 38 | + |
| 39 | +1. Téléchargez un client SSH comme [PuTTY](https://www.putty.org/) ou utilisez le terminal intégré de votre système d'exploitation. |
| 40 | + |
| 41 | +2. Connectez-vous à votre VPS OVHcloud avec les informations de connexion fournies : |
| 42 | + |
| 43 | +```bash |
| 44 | +ssh root@<vps_ip> |
| 45 | +``` |
| 46 | +Remplacez `<vps_ip>` par l'adresse IP de votre VPS OVHcloud. |
| 47 | + |
| 48 | +### Étape 2 - Installez Certbot <a name="step2"></a> |
| 49 | + |
| 50 | +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. |
| 51 | + |
| 52 | +> [!tabs] |
| 53 | +> **Ubuntu/Debian** |
| 54 | +>> ```bash |
| 55 | +>> sudo apt update |
| 56 | +>> sudo apt install certbot |
| 57 | +>> ``` |
| 58 | +>> |
| 59 | +> **CentOS** |
| 60 | +>> ```bash |
| 61 | +>> sudo yum install epel-release |
| 62 | +>> sudo yum install certbot |
| 63 | +>> ``` |
| 64 | +>> |
| 65 | +> **Fedora** |
| 66 | +>> ```bash |
| 67 | +>> sudo dnf install certbot |
| 68 | +>> ``` |
| 69 | +
|
| 70 | +Assurez-vous que Certbot est correctement installé en exécutant la commande : |
| 71 | +
|
| 72 | +```bash |
| 73 | +certbot --version |
| 74 | +``` |
| 75 | +Cela doit afficher la version de Certbot installée. |
| 76 | + |
| 77 | +### Étape 3 - Obtenez un certificat SSL avec Let's Encrypt <a name="step3"></a> |
| 78 | + |
| 79 | +> [!primary] |
| 80 | +> |
| 81 | +> 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. |
| 82 | +
|
| 83 | +#### Utilisation automatique avec les plugins Certbot Nginx ou Apache (recommandée) |
| 84 | + |
| 85 | +Selon votre serveur web, utilisez les lignes de commandes correspondantes : |
| 86 | + |
| 87 | +> [!tabs] |
| 88 | +> **Nginx** |
| 89 | +>> Installez le plugin Certbot Nginx : |
| 90 | +>> ```bash |
| 91 | +>> sudo apt install python3-certbot-nginx -y |
| 92 | +>> ``` |
| 93 | +>> |
| 94 | +>> Générez le certificat SSL : |
| 95 | +>> ```bash |
| 96 | +>> sudo certbot --nginx -d your_domain |
| 97 | +>> ``` |
| 98 | +>> |
| 99 | +> **Apache** |
| 100 | +>> Installez le plugin Certbot Apache : |
| 101 | +>> ```bash |
| 102 | +>> sudo apt install python3-certbot-apache -y |
| 103 | +>> ``` |
| 104 | +>> |
| 105 | +>> Générez le certificat SSL : |
| 106 | +>> ```bash |
| 107 | +>> sudo certbot --apache -d your_domain |
| 108 | +>> ``` |
| 109 | +
|
| 110 | +Certbot configurera automatiquement le certificat SSL et la redirection HTTPS. Vérifiez que votre site web est accéssible en `https`. |
| 111 | +
|
| 112 | +#### Utilisation en mode autonome |
| 113 | +
|
| 114 | +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. |
| 115 | +
|
| 116 | +Utilisez la commande suivante pour demander un certificat : |
| 117 | +
|
| 118 | +```bash |
| 119 | +sudo certbot certonly --standalone -d your_domain |
| 120 | +``` |
| 121 | +
|
| 122 | +Remplacez `your_domain` par votre nom de domaine. |
| 123 | + |
| 124 | +> [!warning] |
| 125 | +> Cette méthode arrête temporairement tout service utilisant le port 80 (par exemple un autre serveur web). |
| 126 | +
|
| 127 | +Une fois le certificat généré, les fichiers sont disponibles dans `/etc/letsencrypt/live/your_domain/` : |
| 128 | + |
| 129 | +- `fullchain.pem` : le certificat complet. |
| 130 | +- `privkey.pem` : la clé privée. |
| 131 | + |
| 132 | +### Étape 4 - Configurez votre serveur web <a name="step4"></a> |
| 133 | + |
| 134 | +> [!primary] |
| 135 | +> Si vous avez utilisé la solution automatique (avec les plugins Certbot) précédemment ([Étape 3](#step3)), et que votre site web est accéssible en `https`, passez à l'[étape 5](step5). |
| 136 | +
|
| 137 | +#### Exemple pour Nginx |
| 138 | + |
| 139 | +1. Ouvrez le fichier de configuration de votre site web (par exemple, `/etc/nginx/sites-available/your_domain.conf`). |
| 140 | + |
| 141 | +2. Ajoutez les lignes suivantes pour activer le SSL : |
| 142 | + |
| 143 | +```nginx |
| 144 | +server { |
| 145 | + listen 443 ssl; |
| 146 | + server_name your_domain; |
| 147 | +
|
| 148 | + ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem; |
| 149 | + ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem; |
| 150 | +
|
| 151 | + # Paramètres de sécurité supplémentaires |
| 152 | + ssl_protocols TLSv1.2 TLSv1.3; |
| 153 | + ssl_ciphers HIGH:!aNULL:!MD5; |
| 154 | +
|
| 155 | + # Redirection HTTP vers HTTPS |
| 156 | + location / { |
| 157 | + try_files $uri $uri/ =404; |
| 158 | + } |
| 159 | +} |
| 160 | +``` |
| 161 | + |
| 162 | +3. Ajoutez une redirection automatique HTTP vers HTTPS : |
| 163 | + |
| 164 | +```nginx |
| 165 | +server { |
| 166 | + listen 80; |
| 167 | + server_name your_domain; |
| 168 | + return 301 https://$host$request_uri; |
| 169 | +} |
| 170 | +``` |
| 171 | + |
| 172 | +4. Testez et redémarrez Nginx : |
| 173 | + |
| 174 | +```bash |
| 175 | +sudo nginx -t |
| 176 | +sudo systemctl reload nginx |
| 177 | +``` |
| 178 | + |
| 179 | +Vérifiez que votre site web est accéssible en `https`. |
| 180 | + |
| 181 | +#### Exemple pour Apache |
| 182 | + |
| 183 | +1. Activez les modules SSL et headers : |
| 184 | + |
| 185 | +```bash |
| 186 | +sudo a2enmod ssl |
| 187 | +sudo a2enmod headers |
| 188 | +``` |
| 189 | + |
| 190 | +2. Modifiez la configuration de votre site web (par exemple `/etc/apache2/sites-available/your_domain.conf`) pour inclure : |
| 191 | + |
| 192 | +```apache |
| 193 | +<VirtualHost *:80> |
| 194 | + ServerName your_domain |
| 195 | + DocumentRoot /var/www/your_domain |
| 196 | +
|
| 197 | + Redirect permanent / https://your_domain/ |
| 198 | +
|
| 199 | + <Directory /var/www/your_domain> |
| 200 | + AllowOverride All |
| 201 | + Require all granted |
| 202 | + </Directory> |
| 203 | +
|
| 204 | + ErrorLog ${APACHE_LOG_DIR}/ssltest_error.log |
| 205 | + CustomLog ${APACHE_LOG_DIR}/ssltest_access.log combined |
| 206 | +</VirtualHost> |
| 207 | +
|
| 208 | +<VirtualHost *:443> |
| 209 | + ServerName your_domain |
| 210 | + DocumentRoot /var/www/your_domain |
| 211 | +
|
| 212 | + # Activer SSL |
| 213 | + SSLEngine on |
| 214 | + SSLCertificateFile /etc/letsencrypt/live/your_domain/fullchain.pem |
| 215 | + SSLCertificateKeyFile /etc/letsencrypt/live/your_domain/privkey.pem |
| 216 | +
|
| 217 | + # Paramètres de sécurité supplémentaires |
| 218 | + SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 |
| 219 | + SSLCipherSuite HIGH:!aNULL:!MD5 |
| 220 | + SSLHonorCipherOrder on |
| 221 | +
|
| 222 | + <Directory /var/www/your_domain> |
| 223 | + AllowOverride All |
| 224 | + Require all granted |
| 225 | + </Directory> |
| 226 | +
|
| 227 | + ErrorLog ${APACHE_LOG_DIR}/ssltest_error.log |
| 228 | + CustomLog ${APACHE_LOG_DIR}/ssltest_access.log combined |
| 229 | +</VirtualHost> |
| 230 | +``` |
| 231 | + |
| 232 | +4. Testez et redémarrez Apache : |
| 233 | + |
| 234 | +```bash |
| 235 | +sudo apachectl configtest |
| 236 | +sudo systemctl restart apache2 |
| 237 | +``` |
| 238 | + |
| 239 | +Vérifiez que votre site web est accéssible en `https`. |
| 240 | + |
| 241 | +### Étape 5 - Activez le renouvellement automatique <a name="step5"></a> |
| 242 | + |
| 243 | +Les certificats Let's Encrypt sont valides pendant 90 jours. Configurez un renouvellement automatique avec Certbot : |
| 244 | + |
| 245 | +Testez le renouvellement automatique : |
| 246 | + |
| 247 | +```bash |
| 248 | +sudo certbot renew --dry-run |
| 249 | +``` |
| 250 | + |
| 251 | +Certbot configure automatiquement une tâche `cron` ou un timer systemd pour gérer le renouvellement. Vérifiez son état avec : |
| 252 | + |
| 253 | +```bash |
| 254 | +sudo systemctl list-timers | grep certbot |
| 255 | +``` |
| 256 | + |
| 257 | +### SSL Gateway OVHcloud <a name="ssl-gateway"></a> |
| 258 | + |
| 259 | +La SSL Gateway d'OVHcloud automatise la gestion des certificats SSL, y compris leur configuration et leur renouvellement. Elle offre également une protection Anti-DDoS pour garantir la disponibilité et la sécurité des sites web. |
| 260 | + |
| 261 | +1. Accédez à la page [SSL Gateway OVHcloud](https://www.ovhcloud.com/fr/security/ssl-gateway/). |
| 262 | +2. Choisissez l'offre qui correspond à vos besoins et cliquez sur **Commander maintenant**. |
| 263 | +3. Associez votre domaine à la SSL Gateway via l'interface OVHcloud. |
| 264 | +4. Modifiez vos enregistrements DNS pour pointer vers l'adresse IP de la SSL Gateway. |
| 265 | +5. Testez votre site web pour vérifier qu'il est bien accéssible en HTTPS. |
| 266 | + |
| 267 | +## Aller plus loin <a name="go-further"></a> |
| 268 | + |
| 269 | +Pour des prestations spécialisées (référencement, développement, etc), contactez les [partenaires OVHcloud](https://partner.ovhcloud.com/fr/directory/). |
| 270 | + |
| 271 | +Échangez avec notre [communauté d'utilisateurs](/links/community). |
0 commit comments