Table des matières
Configurer Apache pour utiliser votre certificat SSL Gandi
Installation d'Apache 2
Dans un premier temps, vous devez installer l'application du serveur.
aptitude install apache2
Vous devrez ensuite activer le module ssl (nous redémarrerons Apache plus tard) :
a2enmod ssl
Puis enfin faire en sorte que Apache écoute sur le port HTTPS. Dans le fichier /etc/apache2/ports.conf, ajoutez (ou complétez) :
<IfModule mod_ssl.c> Listen 443 NameVirtualHost VOTRE_ADRESSE_IP:443 </IfModule>
Obtenir le certificat intermédiaire Gandi
Il est nécessaire, afin que votre certificat soit reconnu comme émis par une autorité de certification approuvée, de récupérer les certificats intermédiaires fournis par Gandi : Obtenir le certificat intermédiaire Gandi
Activer un domaine sur Apache SSL
Installez vos clefs/certificats et éventuellement certificats intermédiaires (pour former une chaine) dans, par exemple, /etc/ssl:
cp cert-domain.tld.crt /etc/ssl/certs/domain.tld.crt cp monserveur.key /etc/ssl/private/domain.tld.key cp GandiXXXSSLCA.pem /etc/ssl/certs/GandiXXXSSLCA.pem
Effectuer le rehash de la structure ssl :
c_rehash /etc/ssl/certs
Pour ajouter un domaine sur votre apache sécurisé, créez un site dédié:
vi /etc/apache2/sites-available/000-domain.tld-ssl.conf
et ajoutez le virtualhost de votre domaine de la manière suivante :
NameVirtualHost *:443 <VirtualHost VOTRE_ADRESSE_IP:443> ServerName www.domain.tld ServerAlias domain.tld DocumentRoot /var/www/www.domain.tld/ CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/domain.tld.crt SSLCertificateKeyFile /etc/ssl/private/domain.tld.key SSLCertificateChainFile /etc/ssl/certs/GandiXXXSSLCA.pem SSLVerifyClient None </VirtualHost>
Attention pour GnuTls faites comme ceci :
Ouvrez domain.tld.crt et GandiXXXSSLCA.pem, copiez tout le contenu du fichier GandiXXXSSLCA.pem après —–END CERTIFICATE—– dans le fichier domain.tld.crt
Sauvegardez le fichier domain.tld.crt et configurez votre vhost comme ceci :
<VirtualHost VOTRE_ADRESSE_IP:443> ServerName www.domain.tld ServerAlias domain.tld DocumentRoot /var/www/www.domain.tld/ CustomLog /var/log/apache2/secure_access.log combined GnuTLSEnable on GnuTLSPriorities NORMAL GnuTLSCertificateFile /etc/ssl/certs/domain.tld.crt GnuTLSKeyFile /etc/ssl/private/domain.tld.key </VirtualHost>
puis activez le site SSL et redémarrez apache:
a2ensite 000-domain.tld-ssl.conf /etc/init.d/apache2 restart
Vérifier votre chaine SSL
En utilisant la commande openssl suivante avec votre adresse IP (ou votre hostname) et le port associé du service (443 dans le cas d'apache2 en SSL):
openssl s_client -connect ip.ip.ip.ip:port
Ou en utilisant le site http://www.digicert.com/help/ pour avoir une visualisation plus graphique.