Nous avons besoin de créer un nouveau répertoire dans lequel nous allons stocker la clé serveur et le certificat.
Créons un répertoire "ssl" sous /etc/
Puis un répertoire du nom de domaine, ex. "mon_serveur.fr" sous /etc/ssl/

sudo mkdir /etc/ssl
sudo mkdir /etc/ssl/mon_serveur.fr

Créez un certificat auto-signé "SSL"

Lorsque qu'on crée un nouveau certificat, nous pouvons spécifier combien de temps le certificat reste valide en mettant par exemple 365... Le certificat expire après un an... Ce qui semble logique ;-)

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/mon_serveur.fr/mon_serveur.key -out /etc/ssl/mon_serveur.fr/mon_serveur.crt

Avec cette commande, nous allons à la fois créer un certificat SSL auto-signé ainsi que la clé sous le nouveau répertoire (/etc/ssl/mon_serveur.fr/).

Cette commande vous demandera un certain nombre de renseignements à remplir...

La ligne la plus importante est "Common Name (e.g. server FQDN or YOUR name) []:". Entrez votre nom de domaine officiel ici ou, si vous n'en avez pas encore, l'adresse IP de votre site.

Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:IdF
Locality Name (eg, city) []:Paris
Organization Name (eg, company) [Internet Widgits Pty Ltd]:mon_serveur
Organizational Unit Name (eg, section) []:mon_serveur
Common Name (e.g. server FQDN or YOUR name) []:mon_serveur.fr
Email Address []:votre_adresse@fai.fr

Maintenant, nous avons tous les éléments nécessaires pour terminer la prochaine étape est de mettre en place le serveur virtuel pour afficher le nouveau certificat.

Ouvrez le fichier de configuration de SSL:

sudo nano /etc/apache2/sites-available/default-ssl

Sur "ServerAdmin" mettez cotre mail
En dessous, rajouter la ligne:
"ServerName votre-serveur.fr:443"
comme exemple ci-dessous

ServerAdmin votre_adresse@fai.fr
ServerName mon_serveur.fr:443

Rechercher les lignes ci-dessous et adaptez-les à votre configuration, dans notre exemple:

SSLEngine on
SSLCertificateFile /etc/ssl/mon_serveur.fr/mon_serveur.crt
SSLCertificateKeyFile /etc/ssl/mon_serveur.fr/mon_serveur.key

Sauvez et quittez.
Activez le nouveau site virtuel "Virtual host"

sudo a2ensite default-ssl

Redémarrez le serveur:

sudo /etc/init.d/apache2 restart

ou

sudo service apache2 restart

Dans votre navigateur, tapez "https://votre-adresse" et vous serez en mesure de voir le nouveau certificat.

En cas de problème, on peut tester avec la commande suivante

curl -kv https://votreserveur.fr