lighttpd + etch + openssl
Pour paramétrer un accès SSL avec lighttpd sous debian Etch, se connecter avec root (avec “sudo” ou “su -”) et commencer par installer lighttpd et openssl:
apt-get install lighttpd openssl
Vérifier que Lighttpd supporte bien le SSL:
lighttpd -v lighttpd-1.4.13 (ssl) - a light and fast webserver Build-Date: Jul 22 2008 12:20:22
Si vous possédez pas encore de certificat, c’est le moment! commencer par générer la clé privée “ssl.key” dans “/etc/lighttpd/openssl”. Attention, ne perdez pas ce fichier et ne le publiez pas!
mkdir -p /etc/lighttpd/openssl/ && cd !$ openssl genrsa -des3 -out ssl.key 1024
Puis la demande de certificat transitoire grâce à cette même clé:
openssl req -new -key ssl.key -out ssl.csr
Cette demande de certificat doit être transmise à votre autorité de certification préférée (par exemple thawte) qui vous renverra un certificat en bon et du forme en échange de menue monnaie. Enregistrer ce fichier sous “/etc/lighttpd/openssl/ssl.crt”.
Enfin créer à partir de votre clé privée “ssl.key” et du certificat tout frais “ssl.crt” le fichier “ssl.pem” dont à besoin Lighttpd:
cat ssl.key ssl.crt > ssl.pem
Protéger les fichiers en vérifiant les droits (en lecture seule pour lighttpd uniquement):
chown -R www-data:www-data /etc/lighttpd/openssl chmod 0700 /etc/lighttpd/openssl chmod 0400 /etc/lighttpd/openssl/*
Transférer TOUS les accès sur le http (port 80) vers le https (port 443) en ajoutant/modifiant dans le fichier “/etc/lighttpd/lighttpd.conf”:
$SERVER["socket"] == ":80" { $HTTP["host"] =~ "(.*)" { url.redirect = ( "^/(.*)" => "https://%1/$1" ) } }
Et y activer la prise en charge du protocole SSL en ajoutant/modifiant:
$SERVER["socket"] == ":443" { ssl.engine = "enable" ssl.pemfile = "/etc/lighttpd/openssl/ssl.pem" }
Relancer le serveur web…
invoke-rc.d lighttpd restart
…et à vous les accès sécurisés ![]()