introduction
Let's Encrypt est une autorité de certification (CA) qui émet des certificats SSL / TLS gratuits. Lighttpd est un serveur Web léger qui fonctionne avec de faibles ressources. Les certificats SSL Let's Encrypt peuvent être facilement installés sur un serveur Lighttpd à l'aide de Certbot, un logiciel client qui automatise la plupart du processus d'obtention des certificats.
Prérequistes
Ce didacticiel suppose que vous avez déjà créé une instance Vultr Cloud Compute avec Lighttpd installé sur Ubuntu 16.04 , que vous avez un nom de domaine pointant vers votre serveur et que vous vous êtes connecté en tant que root.
Première étape: installer Certbot
La première étape consiste à installer Certbot. Ajoutez le référentiel Certbot. Appuyez sur Enter
lorsque vous êtes invité à confirmer.
add-apt-repository ppa:certbot/certbot
Installez Certbot.
apt-get update
apt-get install certbot
Deuxième étape: obtenir un certificat SSL
Une fois Certbot installé, vous pouvez obtenir un certificat SSL. Exécutez la commande suivante, en la remplaçant example.com
par votre propre nom de domaine:
certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
Continuez à travers l'installateur interactif.
Étape 3: Configurer les fichiers de certificats à utiliser avec Lighttpd
Certbot placera les fichiers de certificat obtenus dans /etc/letsencrypt/live/example.com
. Vous devrez accorder à l'utilisateur Lighttpd l'accès à ce répertoire.
chown :www-data /etc/letsencrypt
chown :www-data /etc/letsencrypt/live
chmod g+x /etc/letsencrypt
chmod g+x /etc/letsencrypt/live
Lighttpd requiert que le certificat et la clé privée soient dans un seul fichier. Vous devrez combiner les deux fichiers. Exécutez la commande suivante, en la remplaçant example.com
par votre propre nom de domaine.
cat /etc/letsencrypt/live/example.com/privkey.pem /etc/letsencrypt/live/example.com/cert.pem > /etc/letsencrypt/live/example.com/merged.pem
Les fichiers privkey.pem
et cert.pem
seront combinés et enregistrés sous merged.pem
.
Une fois que vos fichiers de certificat sont prêts, vous pouvez continuer et configurer Lighttpd pour utiliser le certificat SSL. Ouvrez le fichier de configuration Lighttpd pour le modifier.
nano /etc/lighttpd/lighttpd.conf
Ajoutez le bloc suivant à la fin du fichier, en le remplaçant example.com
par votre propre nom de domaine,
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.ca-file = "/etc/letsencrypt/live/example.com/chain.pem"
ssl.pemfile = "/etc/letsencrypt/live/example.com/merged.pem"
}
Cinquième étape: forcer l'utilisation de SSL
Pour plus de sécurité, vous pouvez forcer votre serveur Lighttpd à router toutes les requêtes HTTP vers HTTPS. Ouvrez le lighttpd.conf
fichier pour le modifier.
nano /etc/lighttpd/lighttpd.conf
Ajoutez le bloc suivant à la fin du fichier,
$HTTP["scheme"] == "http" {
$HTTP["host"] =~ ".*" {
url.redirect = (".*" => "https://%0$0")
}
}
Vous devrez redémarrer le serveur Lighttpd pour que les modifications prennent effet.
systemctl restart lighttpd
Renouveler le certificat SSL
Let's Encrypt délivre des certificats SSL avec une validité de 90 jours. Vous devrez renouveler votre certificat avant son expiration pour éviter les erreurs de certificat. Vous pouvez renouveler le certificat avec Certbot.
certbot renew
Vous devrez combiner le certificat et la clé privée pour Lighttpd. Exécutez la commande suivante, en remplaçant example.com
par votre nom de domaine.
cat /etc/letsencrypt/live/example.com/privkey.pem /etc/letsencrypt/live/example.com/cert.pem > /etc/letsencrypt/live/example.com/merged.pem
Votre certificat sera renouvelé pour 90 jours supplémentaires.