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.