====== Configurer Apache pour utiliser votre certificat SSL Gandi ======
Si vous quittez Gandi AI pour installer un certificat SSL pour un de vos sites web, des prérequis sont à effectuer, je vous invite à consulter [[http://wiki.gandi.net/fr/hosting/using-linux/tutorials/gandiai#quitter-gandi-ai-pour-installer-un-virtualhost-securise-par-ssl-sur-apache2|la documentation suivante]] pour ce faire avant de continuer ce tutoriel.
===== 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) :
Listen 443
NameVirtualHost VOTRE_ADRESSE_IP:443
===== 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 :
[[fr:ssl:intermediate|Obtenir le certificat intermédiaire Gandi]]
===== Activer un domaine sur Apache SSL =====
L'installation d'un Certificat demande un **accès aux droits root**. Vous ne pourrez donc pas installer celui-ci sur un serveur GandiAI sans relâcher les droits.
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
N'oubliez pas de remplacer toutes les occurrences de **domain.tld** par votre propre domaine. Le nom du fichier représenté par **GandiXXXSSLCA.pem** varie selon le type de certificat, pensez-donc à utiliser le correspondant au fichier téléchargé à l'étape précédente.
Si vous cherchez votre fichier.key, ce fichier a été généré par vous-même au tout début en même temps que votre CSR (fichier.csr) et se trouve à côté. (monDomaine.csr monDomaine.key)
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
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
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 :
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
puis activez le site SSL et redémarrez apache:
a2ensite 000-domain.tld-ssl.conf
/etc/init.d/apache2 restart
Si votre serveur contient un firewall, n'oubliez pas d'ouvrir le port HTTPS de celui-ci (port 443).
===== 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.