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>
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
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
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.