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

 

 

CentOS / , , , ,