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 de votre entreprise. La génération d’un CSR est une étape essentielle 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 le CSR automatiquement à l’aide de notre générateur de CSR.
- Suivre notre tutoriel étape par étape sur comment créer le 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éparer vos fichiers de certificat
Téléchargez et extrayez les fichiers du dossier ZIP 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) générée en même temps que votre CSR, dans un répertoire sécurisé sur votre serveur, par exemple /etc/ssl/. Rendez la clé privée lisible uniquement par root (chmod 600).
Recommandé (Apache 2.4.8 et versions ultérieures) : combinez votre certificat et le bundle CA en un seul fichier « full chain ». 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 avec votre certificat en premier, suivi des intermédiaires ordonnés depuis celui qui a signé votre certificat 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 votre certificat de domaine avec le bundle intermédiaire Sectigo. Utilisez toujours les noms de fichiers exacts fournis par votre CA.
Étape 2 : Activer 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 : Localiser le fichier de configuration Apache
Selon votre système d’exploitation et la 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 : Configurer le virtual host
Tout d’abord, sauvegardez votre fichier de configuration actuel. Ainsi, en cas de problème, 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 le virtual host HTTPS (port 443). Un virtual host complet et moderne ressemble à ceci :
<VirtualHost *:443>
ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example
SSLEngine on
# Apache 2.4.8+ : server certificate + intermediate chain in ONE file
SSLCertificateFile /etc/ssl/example_com_fullchain.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
# Recommended TLS hardening (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# Tell browsers to always use HTTPS (enable only after HTTPS works)
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 du document et les chemins de fichiers par vos propres valeurs. Voici ce que font les directives clés :
- SSLEngine on – active SSL/TLS pour ce virtual host.
- SSLCertificateFile – chemin vers votre fichier full-chain (certificat + intermédiaires) créé à l’étape 1. Sur Apache 2.4.8+, cette seule directive remplace la directive dépréciée SSLCertificateChainFile.
- SSLCertificateKeyFile – chemin vers votre clé privée, générée en même temps que le 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 via HTTPS. Nécessite mod_headers (activé à l’étape 2). Activez-le uniquement 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} correspond à /var/log/apache2 ; sur les systèmes basés sur RHEL, utilisez plutôt /var/log/httpd/.
Serveurs anciens : Si vous utilisez 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 dépréciée SSLCertificateChainFile /etc/ssl/example_com.ca-bundle sous SSLCertificateFile. Sur tout serveur moderne, l’approche full-chain 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 personnalisée avec le générateur de configuration SSL de Mozilla. L’agrafage OCSP nécessite également une directive SSLStaplingCache dans votre configuration globale Apache.
Étape 5 : Rediriger HTTP vers HTTPS
Pour vous assurer que les visiteurs accèdent toujours à la version sécurisée de votre site, ajoutez un second virtual host sur le port 80 qui redirige de façon permanente tout le trafic HTTP vers HTTPS :
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
Étape 6 : Tester votre configuration et redémarrer 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 le service à la place (sudo systemctl restart apache2 ou httpd). Sur les anciens systèmes 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 confirmer 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 remises 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 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, et seulement 47 jours d’ici 2029. Des cycles de vie plus courts impliquent des renouvellements plus fréquents, il vaut donc la peine de planifier votre processus de renouvellement (et son automatisation) à l’avance.
Questions fréquemment posées
SSL (Secure Sockets Layer), désormais remplacé par TLS (Transport Layer Security), est un protocole cryptographique qui chiffre les communications entre deux points de terminaison 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 SSL est configuré, vous verrez une sortie 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 votre certificat serveur. Depuis Apache 2.4.8, le même fichier peut également contenir les certificats intermédiaires, servant ainsi la chaîne complète. SSLCertificateChainFile était l’ancienne méthode pour fournir ces intermédiaires séparément, mais elle a été dépréciée 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


