Accueil > Base de connaissances > Installation d'un certificat SSL > Installation d'un certificat avec Apache httpd

Installation d'un certificat avec Apache httpd

Nous traiterons ici de Apache httpd en version >=2.0

Pré-requis

Avant de pouvoir utiliser un certificat X509 avec Apache, le mode SSL doit être activé dans la configuration du serveur.
Ceci se traduit par (au minimum) la présence de la ligne suivante dans le fichier de configuration principal (httpd.conf ou apache2.conf) ou un fichier annexe inclus :

    LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so

Veuillez vous référer à la documentation de votre système ou au site Apache pour plus d'informations sur cette partie.

Mise en place des fichiers

Nous supposerons que la racine de la configuration du serveur apache se trouve dans « /etc/apache2 ».

Créer tout d'abord un dossier destiné à contenir les différents fichiers :

    # mkdir /etc/apache2/ssl

Placer dans ce répertoire le fichier contenant la clef privée, le fichier contenant le certificat ainsi que le fichier contenant les certificats des autorités ayant émis le certificat. Le nom des fichiers suit le modèle suivant :

  • pour la clef privée : monsite.dom-key.pem ;
  • pour le certificat : monsite.dom-cert.pem ;
  • pour les autorités : nom-CA-root.pem.

La clef privée doit être protégée des accès non autorisés sinon c'est la sécurité du site Web et de ses utilisateurs qui risque d'être compromise. Il est donc nécessaire de bien fixer les permissions sur ce fichier :

    # chown root: /etc/apache2/ssl/*
    # chmod 644 /etc/apache2/ssl/*
    # chmod 600 /etc/apache2/ssl/monsite.dom-key.pem

Configuration du VirtualHost

Il faut maintenant faire référence au certificat au sein de la configuration du site. Voici un exemple de VirtualHost :

<VirtualHost *:443>
    ServerAdmin webmaster@monsite.dom
    DocumentRoot /var/www/monsite.dom
    ServerName www.monsite.dom
    ServerAlias monsite.dom

    # Activation du mode SSL pour ce site
    SSLEngine on
    # Emplacement du fichier contenant le certificat X509 
    SSLCertificateFile /etc/apache2/ssl/monsite.dom-cert.pem
    # Emplacement du fichier contenant la clef privée
    SSLCertificateKeyFile /etc/apache2/ssl/monsite.dom-key.pem
    # Emplacement du fichier contenant le(s) certificat(s) de(s) autorité(s) de certification
    SSLCertificateChainFile /etc/apache2/ssl/nom-CA-root.pem
    # Spécifications des protocoles autorisés
    SSLProtocol all -SSLv2
    
    ErrorLog /var/log/apache2/monsite.dom-ssl-error.log
    CustomLog /var/log/apache2/monsite.dom-ssl-access.log combined
</VirtualHost>

Le serveur Apache doit écouter sur le port 443 pour que cette configuration fonctionne.
Il faut donc vérifier au préalable que le fichier de configuration contient la directive suivante :

    Listen 443

Plus d'informations

Le site du serveur httpd Apache.
La documentation de mod_ssl pour Apache 2.2.
-----------------------------------
Si vous avez des questions supplémentaires, n'hesitez à nous contacter, nous sommes là pour vous aider et vous conseiller.

Powered by WHMCompleteSolution