Ajout du support https sur un serveur Apache
Si comme moi vous hébergez un blog sur votre serveur, le besoin d’avoir une connexion sécurisée https se fait vite ressentir, que ce soit pour accéder à la partie administration de votre site ou pour la manipulation de vos bases de données avec phpMyAdmin par exemple. Je vous propose donc ici un petit tutoriel avec le serveur Apache2 qui explique comment rendre accessible en https un site web (ici libre-experience.org).
Installation des paquets nécessaires et activation du module SSL
Le pré-requis est qu’Apache soit installé. Il faut ensuite ajouter les paquets suivants :
apt-get install openssl ssl-cert
Ensuite il faut activer le module ssl :a2enmod ssl
Génération des certificats SSL
Création de la clé
cd /etc
openssl genrsa -out private/libre-experience.org.key 2048
Génération du Certificate Signing Requests (CSR)
Il s’agit de la demande de signature d’un certificat par une autorité de certification. Le certificat signé sera ensuite retourné. Le champ important est Common name (CN) dans lequel on pourra mettre par exemple :
- www.libre-experience.org : certificat pour le site https://www.libre-experience.org
- *.libre-experience.org : extension à tous les sous-domaines xyz.libre-experience.org
- *.libre-experience.org/CN=libre-experience.org : on ajoute en plus libre-experience.org (ainsi https://libre-experience.org sera reconnue)
openssl req -new -key private/libre-experience.org.key -out libre-experience.org.csr
Signature du certificat
Pour signer le certificat, deux possibilités s’offrent à nous :
- Auto-signature du certificat : c’est la solution la plus simple mais aussi la moins bonne car ne fournissant aucune garantie…
openssl x509 -req -days 3650 -in libre-experience.org.csr -signkey private/libre-experience.org.key -out certs/libre-experience.org.crt
- Signature (gratuite) par l’autorité CACert :
- Dans le menu sélectionner : “Server certificates / new”
- Copier le contenu de la demande de certificat générée précédemment (ici libre-experience.org.csr).
- Copier le résultat obtenu dans le fichier certs/libre-experience.org.crt
Installation
Dans le fichier de configuration du site (par exemple /etc/apache2/sites-available/libre-experience.site ajouter :<VirtualHost 88.191.151.123:443>
DocumentRoot /var/www/libre-experience
ServerName www.mirelsol.org
# Add ssl protocol
SSLEngine On
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/ssl/certs/mirelsol.org.crt
SSLCertificateKeyFile /etc/ssl/private/mirelsol.org.key
</VirtualHost>
Recharger Apache :/etc/init.d/apache2 reload