Dans le cas développé ici, le certificat sera auto-signé.

Les commandes sont exécutées comme root sur une Debian installée sur un Mac Mini (G4).

Activer le module SSL :

a2enmod ssl

Recharger la configuration d'Apache :

/etc/init.d/apache2 force-reload

Installation d'Openssl :

apt-get install openssl

Génération du certificat :

sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key

Répondre aux questions :

Country Name (2 letter code) [AU]:BE
State or Province Name (full name) [Some-State]:Belgique
Locality Name (eg, city) []:Bruxelles
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Ma société
Organizational Unit Name (eg, section) []:Ma cellule
Common Name (eg, YOUR name) []:Mon nom
Email Address []:mon@mail.be

Sécuriser la clé :

chmod 440 /etc/apache2/server.key

Ajouter le port 443 à la configuration d'Apache :

vi /etc/apache2/ports.conf

Ce qui donne :

Listen 80
Listen 443

Editer la configuration d'Apache (si rien n'a été changé, le fichier est le suivant) :

vi /etc/apache2/sites-available/default

Ce qui donne :

NameVirtualHost ip_serveur:80
<VirtualHost ip_serveur:80>
    ServerName macmini.be
    ...
</VirtualHost>
NameVirtualHost ip_serveur:443
<VirtualHost ip_serveur:443>
    ServerName macmini_ssl.be
    ...
    SSLEngine on
    SSLCertificateFile /etc/apache2/server.crt
    SSLCertificateKeyFile /etc/apache2/server.key
</VirtualHost>

Recharger la configuration d'Apache :

/etc/init.d/apache2 force-reload

Vos sites sont maintenant accessibles en http et https.