Pour celles et ceux qui veulent faire ça rapide

Configuration utilisée :

  • Debian 7.9
  • Apache 2.2.22
  • LetsEncrypt à jour du 04/12/2015

Je suppute que :

  • vous ayez déjà téléchargé LetsEncrypt depuis le repo Github
  • vous ayez un fichier de conf de vHost par domaine déjà existant.
  • vous n’êtes pas un gros pinpin

Soit.

Allons-y Christian !!

1 – Copier le vHost actuel et le modifier

cd /etc/apache2/sites-available/
cp monsite.fr monsite.fr-SSL
vim monsite.fr-SSL

2 – Modification du vHost en prévision de ce que va nous sortir LetsEncrypt

  • Le port d’écoute pour https c’est 443 je ne vous apprend rien donc on change le port d’écoute
  • On doit activer l’engin de la mort SSLEngine
  • Et on doit mettre tout ça dans un fichier de log distinct

Grosso merdo vous devriez obtenir un fichier dans ce genre là :

NameVirtualHost *:443
<VirtualHost *:443>
        DocumentRoot /var/monsite.fr
        ServerName www.monsite.fr

        CustomLog /var/log/apache2/monsite.fr-SSL.log combined
        ErrorLog /var/log/apache2/monsite.fr-SSL_error.log

        SSLEngine On
        SSLCertificateKeyFile /etc/letsencrypt/live/www.monsite.fr/privkey.pem
        SSLCertificateFile /etc/letsencrypt/live/www.monsite.fr/cert.pem
        SSLCertificateChainFile /etc/letsencrypt/live/www.monsite.fr/chain.pem
        SSLCompression off
        SSLProtocol All -SSLv2 -SSLv3
        SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
        #SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"

        <Directory "/var/monsite.fr">
                allow from all
                Options +Indexes
        </Directory>
</VirtualHost>

Le gros bloc de CipherSuite ce sont les recommandations de SSL-Labs, rapport a HeartBleed etc.

Vous noterez le bloc qui défini les clés utilisées :

SSLCertificateKeyFile /etc/letsencrypt/live/www.monsite.fr/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/www.monsite.fr/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.monsite.fr/chain.pem

J’ai tout simplement anticipé pour la suite, étant donnée que ce sont les chemins utilisés par Let’sEncrypt pour sortir les clés.

3 – Génération des clés avec LetsEncrypt

Générons maintenant les clés en automatique, c’est tout simple

cd /opt/letsencrypt/
./letsencrypt-auto certonly --webroot -w /var/monsite.fr/ -d www.monsite.fr

Hop Hop il se débrouille pour générer les clés tout le toutim et tadaaaaaa

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/www.monsite.fr/fullchain.pem. Your
   cert will expire on 2016-03-03. To obtain a new version of the
   certificate in the future, simply run Let's Encrypt again.
 - If like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

On active ce vHost, on regarder si la configuration est correcte, on redémarre Apache2 pour vérifier tout ça et on test voir si le navigateur nous chie pas dans les bottes

a2ensite monsite.fr-SSL
apache2ctl configtest
service apache2 reload

Chez moi ça s’est déroulé sans encombre pour mes différents domaines/sites