Activer HTTPS (TLS) sur Apache 2 sous Debian et Ubuntu

Comment activer HTTPS sur Apache 2 sous Debian et Ubuntu ? Les outils fournis par ces distributions font l’essentiel du travail.

Test rapide avec un certificat autosigné

Le paquet ssl-cert, installé avec Apache, génère un certificat autosigné (/etc/ssl/certs/ssl-cert-snakeoil.pem et sa clé /etc/ssl/private/ssl-cert-snakeoil.key). Le site default-ssl fourni l’utilise déjà :

apt install apache2 ssl-cert
a2enmod ssl
a2ensite default-ssl
apachectl configtest
systemctl reload apache2

Listen 443 figure déjà dans /etc/apache2/ports.conf dès que le module SSL est actif. Le navigateur affichera un avertissement, normal pour un certificat autosigné. Pour régénérer ce certificat (après un changement de nom d’hôte, par exemple) :

make-ssl-cert generate-default-snakeoil --force-overwrite

Un VirtualHost HTTPS pour votre site

vi /etc/apache2/sites-available/monsite-ssl.conf
<VirtualHost *:443>
    ServerName www.exemple.fr
    ServerAdmin webmaster@exemple.fr
    DocumentRoot /var/www/monsite

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

    <Directory /var/www/monsite>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>
a2ensite monsite-ssl
apachectl configtest
systemctl reload apache2

Un certificat reconnu : Let’s Encrypt

Pour un site public, obtenez un certificat gratuit auprès de Let’s Encrypt avec certbot, qui modifie aussi la configuration Apache :

apt install certbot python3-certbot-apache
certbot --apache -d www.exemple.fr
certbot renew --dry-run

La dernière commande vérifie que le renouvellement automatique fonctionnera.

Commentaires

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.