Il arrive parfois que l'on souhaite mettre en place une version sécurisé d'un site web. Si un certificat auto signé suffit, voici un process rapide, simple et pas cher :

Génération d'une clé privé et d'un certificat en une ligne :

RANDFILE=/dev/random openssl req $@ -new -x509 -days 365 -nodes \ 
-out /etc/apache2/ssl/servername.cert \ 
-keyout /etc/apache2/ssl/servername.key

On obtient donc deux fichiers :

  • servername.cert, le certificat du serveur
  • servername.key, la clé privé du serveur

bien sûr, on limite l'accès à notre clé privé :

chmod 600 servername.key 

puis on modifie la configuration de notre virtualhost de la façon suivante :

NameVirtualHost *:443

<VirtualHost *:443>

        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/servername.cert
        SSLCertificateKeyFile  /etc/apache2/ssl/servername.pem

On demande à apache de relire sa configuration

/etc/init.d/apache2 reload

Vous voilà passez en HTTPS