Dans ce guide, vous apprendrez comment installer un certificat SSL sur Apache, étape par étape. Les instructions s’appliquent à Apache 2.4, la version stable actuelle.
Table des matières
- Comment générer un code CSR sur Apache ?
- Installer un certificat SSL sur Apache
- Tester votre installation SSL
- Où acheter un certificat SSL pour Apache ?
Comment générer un code CSR sur Apache ?
La demande de signature de certificat, ou simplement CSR, est un petit fichier texte contenant des informations sur la propriété de votre domaine et/ou votre entreprise. La génération d’une CSR fait partie intégrante du processus d’achat SSL, et toutes les autorités de certification commerciales exigent que les demandeurs de certificat SSL complètent cette étape.
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 Apache.
Installer un certificat SSL sur Apache
Une fois que l’autorité de certification a signé et vous a envoyé le certificat SSL, vous pouvez l’installer en toute sécurité sur votre serveur Apache. Suivez les étapes ci-dessous.
Étape 1 : Préparez vos fichiers de certificat
Téléchargez et extrayez les fichiers du dossier ZIP que vous avez reçu de votre autorité de certification. Vous y trouverez généralement :
- Le fichier .crt – votre certificat SSL principal.
- Le fichier .ca-bundle – les certificats intermédiaires (et racine) qui forment la chaîne de confiance. Cette chaîne est nécessaire pour que les navigateurs et les applications puissent vérifier votre certificat. Sans elle, certains clients peuvent signaler votre site comme non sécurisé.
Téléversez ces fichiers, ainsi que la clé privée (.key) que vous avez générée en même temps que votre CSR, dans un répertoire sécurisé de votre serveur, par exemple /etc/ssl/. Gardez la clé privée accessible en lecture uniquement par root (chmod 600).
Recommandé (Apache 2.4.8 et versions ultérieures) : combinez votre certificat et le pack CA en un seul fichier de « chaîne complète ». Depuis Apache 2.4.8, la directive SSLCertificateFile charge les certificats intermédiaires directement depuis ce fichier, ce qui explique pourquoi l’ancienne directive SSLCertificateChainFile n’est plus nécessaire :
cat your_domain.crt your_domain.ca-bundle > your_domain_fullchain.crt
Si votre CA a fourni les certificats intermédiaires sous forme de fichiers séparés, concaténez-les d’abord avec votre certificat, puis les intermédiaires classés du certificat qui a signé le vôtre jusqu’à la racine (le certificat racine lui-même est facultatif) :
cat your_domain.crt intermediate.crt root.crt > your_domain_fullchain.crt
Par exemple, lors de l’installation d’un certificat Sectigo PositiveSSL, vous devrez concaténer le certificat de votre domaine avec le pack intermédiaire Sectigo. Utilisez toujours les noms de fichiers exacts fournis par votre CA.
Étape 2 : Activez le module SSL (mod_ssl)
Avant de configurer HTTPS, assurez-vous que le module SSL d’Apache est activé.
Sur Debian/Ubuntu, activez mod_ssl (et mod_headers, dont vous aurez besoin pour l’en-tête HSTS à l’étape 4) :
sudo a2enmod ssl
sudo a2enmod headers
Sur RHEL/CentOS/AlmaLinux/Rocky Linux, installez le paquet du module SSL (le module se charge automatiquement une fois installé) :
sudo dnf install mod_ssl
Étape 3 : Localisez le fichier de configuration Apache
Selon votre système d’exploitation et votre version d’Apache, la configuration peut se trouver dans différents fichiers. Recherchez httpd.conf, apache2.conf, ou un fichier de configuration SSL/site dédié, dans l’un des emplacements suivants :
- Debian/Ubuntu : configuration principale /etc/apache2/apache2.conf ; configurations par site dans /etc/apache2/sites-available/.
- RHEL/CentOS/AlmaLinux/Rocky : configuration principale /etc/httpd/conf/httpd.conf ; configuration SSL /etc/httpd/conf.d/ssl.conf.
Remarque : Si votre serveur Apache fonctionne sous Ubuntu, vous pouvez également suivre nos instructions d’installation SSL dédiées pour Ubuntu.
Étape 4 : Configurez l’hôte virtuel
Tout d’abord, sauvegardez votre fichier de configuration actuel. Ainsi, si quelque chose ne va pas, vous pourrez rapidement annuler vos modifications :
sudo cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.backup
Ouvrez maintenant le fichier de configuration et configurez l’hôte virtuel HTTPS (port 443). Un hôte virtuel complet et moderne ressemble à ceci :
<VirtualHost *:443>
ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example
SSLEngine on
# Apache 2.4.8+ : certificat serveur + chaîne intermédiaire dans UN SEUL fichier
SSLCertificateFile /etc/ssl/example_com_fullchain.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
# Renforcement TLS recommandé (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# Indique aux navigateurs d'utiliser toujours HTTPS. Retirez le # au début pour activer HSTS,
# mais uniquement après avoir confirmé que HTTPS fonctionne correctement :
# Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
Remplacez example.com, la racine des documents, et les chemins de fichiers par vos propres valeurs. Voici ce que font les directives clés :
- SSLEngine on – active SSL/TLS pour cet hôte virtuel.
- SSLCertificateFile – chemin vers votre fichier de chaîne complète (certificat + intermédiaires) créé à l’étape 1. Sur Apache 2.4.8+, cette directive unique remplace la directive obsolète SSLCertificateChainFile.
- SSLCertificateKeyFile – chemin vers votre clé privée, générée en même temps que la CSR.
- SSLProtocol -all +TLSv1.2 +TLSv1.3 – désactive les anciens protocoles SSL/TLS non sécurisés et n’autorise que TLS 1.2 et TLS 1.3.
- Strict-Transport-Security (HSTS) – indique aux navigateurs de se connecter uniquement en HTTPS. Nécessite mod_headers (activé à l’étape 2). Ne l’activez qu’après avoir confirmé que HTTPS fonctionne correctement.
Assurez-vous qu’aucune de ces lignes ne commence par un # (ce qui les mettrait en commentaire). Sur Debian/Ubuntu, ${APACHE_LOG_DIR} pointe vers /var/log/apache2 ; sur les systèmes basés sur RHEL, utilisez plutôt /var/log/httpd/.
Serveurs anciens : Si vous êtes bloqué sur une version d’Apache antérieure à 2.4.8, conservez le certificat et la chaîne dans des fichiers séparés et ajoutez la directive obsolète SSLCertificateChainFile /etc/ssl/example_com.ca-bundle sous SSLCertificateFile. Sur tout serveur moderne, l’approche par chaîne complète ci-dessus est préférable.
Renforcement avancé (facultatif) : pour une suite de chiffrement plus robuste et l’agrafage OCSP, générez une configuration sur mesure avec le générateur de configuration SSL de Mozilla. L’agrafage OCSP nécessite également une directive SSLStaplingCache dans votre configuration Apache globale.
Activez le site : Sur Debian/Ubuntu, un hôte virtuel placé dans /etc/apache2/sites-available/ n’est pas chargé tant que vous ne l’activez pas. Si vous avez enregistré cette configuration dans un nouveau fichier (par exemple example-ssl.conf), activez-le avec :
sudo a2ensite example-ssl.conf
Vous pouvez également modifier le fichier default-ssl.conf fourni, mais celui-ci doit lui aussi être activé avec a2ensite default-ssl. Sur RHEL/CentOS/AlmaLinux/Rocky, les fichiers situés dans /etc/httpd/conf.d/ se chargent automatiquement — mais notez que ssl.conf contient déjà par défaut un bloc <VirtualHost _default_:443> avec un certificat auto-signé ; modifiez donc ce bloc ou ajoutez votre hôte virtuel dans un fichier séparé tel que /etc/httpd/conf.d/yourdomain.conf pour éviter d’avoir deux hôtes sur le port 443 qui se chevauchent.
Étape 5 : Redirigez HTTP vers HTTPS
Pour vous assurer que les visiteurs accèdent toujours à la version sécurisée de votre site, ajoutez un second hôte virtuel sur le port 80 qui redirige de manière permanente tout le trafic HTTP vers HTTPS :
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
Étape 6 : Testez votre configuration et redémarrez Apache
Testez toujours votre configuration avant de redémarrer. Une erreur de syntaxe peut mettre votre site hors ligne, alors exécutez :
sudo apachectl configtest
Si tout est correct, vous verrez :
Syntax OK
Appliquez maintenant les modifications en rechargeant Apache (un rechargement active la nouvelle configuration sans interrompre les connexions existantes) :
sudo systemctl reload apache2 # Debian/Ubuntu
sudo systemctl reload httpd # RHEL/CentOS/AlmaLinux/Rocky
Si un rechargement ne suffit pas, redémarrez plutôt le service (sudo systemctl restart apache2 ou httpd). Sur les systèmes plus anciens sans systemd, utilisez sudo apachectl graceful.
Si l’installation a réussi, félicitations ! Votre site web est désormais sécurisé avec SSL/TLS.
Tester votre installation SSL
Après avoir installé votre certificat SSL sur Apache, vérifiez que tout fonctionne comme prévu. Une analyse instantanée révélera toute erreur ou vulnérabilité susceptible d’affecter les performances de votre certificat. Utilisez notre outil SSL Checker pour vérifier l’état de votre installation.
Vous pouvez également vérifier le certificat et sa chaîne directement depuis la ligne de commande :
openssl s_client -connect www.example.com:443 -servername www.example.com
Où acheter un certificat SSL pour Apache ?
Le meilleur endroit pour obtenir un certificat SSL pour Apache est SSL Dragon. Nous proposons des prix et des réductions imbattables sur l’ensemble de notre gamme de produits SSL, et nous avons soigneusement sélectionné les meilleures marques SSL du marché pour équiper votre site web d’une protection à toute épreuve. Tous nos certificats SSL sont compatibles avec Apache. Obtenez un certificat SSL dès maintenant !
Gardez à l’esprit que la durée de vie des certificats SSL/TLS se réduit : la validité maximale passe à 200 jours en mars 2026, 100 jours en 2027, puis à seulement 47 jours d’ici 2029. Des cycles de vie plus courts signifient des renouvellements plus fréquents, il est donc judicieux de planifier votre processus de renouvellement (et son automatisation) à l’avance.
Questions fréquemment posées
SSL (Secure Sockets Layer), aujourd’hui remplacé par TLS (Transport Layer Security), est un protocole cryptographique qui chiffre la communication entre deux points terminaux d’un réseau, par exemple un serveur web tel qu’Apache et le navigateur d’un utilisateur.
Sur les distributions Debian et Ubuntu, recherchez la directive de protocole SSL dans la configuration :grep -ir SSLProtocol /etc/apache2/
Si le SSL est configuré, vous verrez un résultat similaire à :/etc/apache2/mods-available/ssl.conf:SSLProtocol +TLSv1.2 +TLSv1.3
Vous pouvez également confirmer que le module SSL est chargé dans le serveur en cours d’exécution :apachectl -M | grep ssl
Le fichier de configuration peut se trouver à différents emplacements selon votre système d’exploitation et votre configuration. Sur Debian/Ubuntu, vérifiez /etc/apache2/apache2.conf et les fichiers par site dans /etc/apache2/sites-available/. Sur RHEL/CentOS/AlmaLinux/Rocky, vérifiez /etc/httpd/conf/httpd.conf et /etc/httpd/conf.d/ssl.conf.
SSLCertificateFile pointe vers le certificat de votre serveur. Depuis Apache 2.4.8, ce même fichier peut également contenir les certificats intermédiaires, il fournit donc la chaîne complète. SSLCertificateChainFile était l’ancienne méthode pour fournir ces intermédiaires séparément, mais elle est obsolète depuis Apache 2.4.8. Sur tout serveur moderne, placez le certificat et les intermédiaires dans un seul fichier et référencez-le uniquement avec SSLCertificateFile.
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


