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

Vus : 3927
Publié par Marco : 47