Ce guide explique comment installer un certificat SSL sur un serveur Debian avec Apache.
Comment générer une CSR pour un serveur Debian ?
Avant l’installation, votre première tâche est de générer un code CSR (Certificate Signing Request). Il s’agit de la procédure standard lors d’une demande de certificat SSL. La CSR contient les informations pertinentes sur votre domaine et votre organisation, que l’autorité de certification doit vérifier avant de vous délivrer le certificat.
Vous avez deux options :
- Générer la CSR automatiquement à l’aide de notre générateur de CSR.
- Suivre notre tutoriel étape par étape sur comment créer la CSR sur Debian.
Copiez l’intégralité du contenu de la CSR et soumettez-le à l’autorité de certification lors de votre commande. Selon le type de validation, vous devriez recevoir votre certificat SSL en quelques minutes ou, pour les certificats à validation plus poussée, en quelques jours. Une fois que la CA l’a délivré, poursuivez avec l’installation ci-dessous.
Étape 1 : téléchargez votre certificat et votre clé privée sur le serveur
Placez les fichiers dans les emplacements standard de Debian. Conservez la clé privée dans /etc/ssl/private/ avec des permissions strictes, et combinez le certificat et le(s) intermédiaire(s) en un seul fichier de chaîne complète dans /etc/ssl/certs/ :
# Private key (set strict permissions)
sudo install -m 600 yourdomain.key /etc/ssl/private/yourdomain.key
# Concatenate the server certificate + intermediate(s) into one full-chain file
cat yourdomain.crt intermediate1.crt intermediate2.crt | sudo tee /etc/ssl/certs/yourdomain-fullchain.pem >/dev/null
Si votre CA a livré la chaîne sous la forme d’un fichier ca-bundle unique au lieu d’intermédiaires séparés, utilisez ce fichier à la place de intermediate1.crt intermediate2.crt ci-dessus.
Sur Apache 2.4.8 et versions ultérieures, ce fichier de chaîne complète unique est tout ce dont vous avez besoin pour SSLCertificateFile. L’ancienne directive SSLCertificateChainFile est dépréciée et n’est plus requise.
Étape 2 : activez le module SSL
Activez le module SSL d’Apache (ainsi que le module headers, utilisé pour HSTS à l’étape 3) :
sudo a2enmod ssl
sudo a2enmod headers
Étape 3 : créez votre VirtualHost HTTPS
Créez un nouveau fichier de configuration de site dans /etc/apache2/sites-available/ :
sudo nano /etc/apache2/sites-available/yourdomain-ssl.conf
Collez le VirtualHost sur le port 443 suivant et ajustez les chemins et noms de domaine selon votre configuration :
<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/yourdomain
SSLEngine on
SSLCertificateFile /etc/ssl/certs/yourdomain-fullchain.pem
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key
# Recommended TLS hardening (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# HSTS: uncomment the line below only AFTER you confirm HTTPS works on the
# domain and every subdomain (includeSubDomains applies to all of them).
# Reversing HSTS in visitors' browsers is slow, so enable it deliberately.
# Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
# Optional: enable HTTP/2
# Protocols h2 http/1.1
<Directory /var/www/yourdomain>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/yourdomain-ssl-error.log
CustomLog ${APACHE_LOG_DIR}/yourdomain-ssl-access.log combined
</VirtualHost>
- SSLCertificateFile, votre fichier de chaîne complète (certificat + intermédiaires). Sur Apache 2.4.8+, il remplace la directive dépréciée SSLCertificateChainFile.
- SSLCertificateKeyFile, la clé privée que vous avez créée avec la CSR.
Étape 4 : forcez une redirection de HTTP vers HTTPS
Pour que les visiteurs accèdent toujours à la version sécurisée, créez un VirtualHost séparé sur le port 80 qui redirige tout le trafic HTTP vers HTTPS :
sudo nano /etc/apache2/sites-available/yourdomain-redirect.conf
Puis collez ce qui suit :
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>
Étape 5 : activez vos configurations de site
Activez le nouveau site HTTPS (et la redirection, si vous l’avez créée). Les fichiers dans sites-enabled/ ne sont que des liens symboliques vers sites-available/ :
sudo a2ensite yourdomain-ssl
# If you created the redirect
sudo a2ensite yourdomain-redirect
Étape 6 : testez la configuration
Testez toujours la configuration avant de recharger, car une erreur de syntaxe peut mettre le site hors ligne :
sudo apache2ctl configtest
Vous devriez voir Syntax OK. Si vous obtenez une erreur, revoyez les étapes précédentes avant de continuer.
Étape 7 : rechargez le serveur Apache
Appliquez les modifications en rechargeant Apache. Un rechargement active la nouvelle configuration sans interrompre les connexions existantes :
sudo systemctl reload apache2
Vous avez configuré avec succès votre certificat SSL sur votre serveur Debian. Vous pouvez toujours vérifier l’état de votre installation SSL avec notre SSL Checker.
Où acheter un certificat SSL pour un serveur Debian ?
Le meilleur endroit pour acheter un certificat SSL pour Debian est SSL Dragon. Nous proposons des prix compétitifs, des réductions régulières et d’excellentes offres sur toute notre gamme de produits SSL. Nous avons soigneusement sélectionné les meilleures marques SSL du marché pour offrir à votre site un chiffrement solide. Tous nos certificats SSL sont compatibles avec Debian.
Questions fréquemment posées
Par convention, les certificats se trouvent dans /etc/ssl/certs/ et les clés privées dans /etc/ssl/private/ (assurez-vous que la clé ne soit lisible que par root). Ce sont des emplacements par défaut ; vous pouvez utiliser d’autres emplacements tant que votre VirtualHost y fait référence.
Connectez-vous à votre site avec OpenSSL et lisez le certificat qu’il fournit :echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Si un certificat est installé, cela affiche son émetteur et ses dates de validité. Vous pouvez également lister les hôtes virtuels actifs d’Apache avec sudo apache2ctl -S, ou simplement ouvrir votre site dans un navigateur et vérifier le cadenas.
Les fichiers de configuration de site se trouvent dans /etc/apache2/sites-available/ (par exemple yourdomain-ssl.conf), et les sites activés sont liés symboliquement dans /etc/apache2/sites-enabled/. Activez un site avec sudo a2ensite yourdomain-ssl.
Oui. Sans certificat SSL, les navigateurs signalent votre site comme « Non sécurisé » et le trafic entre vos utilisateurs et votre serveur n’est pas chiffré. Un certificat SSL chiffre cette connexion et est pratiquement obligatoire pour tout site web en production.
En résumé
Installer un certificat SSL sur Debian avec Apache consiste à téléverser vos fichiers, activer mod_ssl, configurer le VirtualHost HTTPS avec votre certificat de chaîne complète, ajouter une redirection HTTP→HTTPS, tester avec sudo apache2ctl configtest, et recharger Apache. Besoin d’un certificat au préalable ? Consultez nos certificats SSL.
Economisez 10% sur les certificats SSL en commandant aujourd’hui!
Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10

