Apache en mode SSL sous CentOS
Générer le certificat
Vérifiez, au préalable, sur votre serveur la présence du paquet OpenSSL : rpm -qa openssl. En cas d’absence, procédez à son installation : yum install openssl.
En une commande, sous Linux, vous générez une demande de signature de certificat (CSR) et vous signez le certificat avec OpenSSL : openssl req -new -x509 -nodes -out localhost.crt -keyout localhost.key.
Déplacez alors les deux fichiers générés respectivement dans les répertoires /etc/pki/tls/certs pour le fichier crt et /etc/pki/tls/private pour le fichier key. Vous pouvez aussi les déplacer dans le(s) répertoire(s) de votre choix.
Configuration d’Apache
Installez le module ssl : yum install mod_ssl.
J’ai enlevé du fichier /etc/httpd/conf.d/ssl.conf tout ce qui est relatif au Virtual Hosting…
LoadModule ssl_module modules/mod_ssl.so
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
Je crée ensuite un fichier /etc/httpd/conf.d/virtualhost-ssl.conf dans lequel je reprends toute la configuration de mes virtual hosts configurés sur le port 80, en y ajoutant tout ce qui est relatif au SSL.
Le fichier /etc/httpd/conf.d/virtualhost-ssl.conf
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin monemail@mondomaine.com
DocumentRoot /var/www
ServerName www.dsfc.net
ServerAlias dsfc.net *.dsfc.net
<Directory />
Order Deny,Allow
Allow from all
</Directory>
ErrorLog logs/dsfc-error_log
CustomLog logs/dsfc-access_log combined env=!local
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
</VirtualHost>
Autres ressources