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