Lighttpd: sites availables et sites enabled

Un rapide tuto pour reproduire le fonctionnement des dossiers « sites-available » et « sites-enabled » d’Apache sous Lighttpd.
Cela fait des années maintenant que j’utilise cette technique sans jamais l’avoir couchée par écrit.

On commence par créer les dossiers…

mkdir /etc/lighttpd/sites-available
mkdir /etc/lighttpd/sites-enabled 

On ajoute la ligne suivante à la fin du fichier de configuration « /etc/lighttpd/lighttpd.conf » :

Sous Debian 9:

include_shell conf_dir + "/include-sites-enabled.pl"

Sous Ubuntu 16.04:

include_shell "/usr/share/lighttpd/include-sites-enabled.pl"

On se place dans le dossier équivalent au contenu de la variable « conf_dir » sous Debian, ou dans le dossier « /usr/share/lighttpd » sous Ubuntu.
On crée le script « include-sites-enabled.pl » avec le contenu suivant…

#!/usr/bin/perl -wl

use strict;
use File::Glob ':glob';

my $confdir = shift || "/etc/lighttpd/";
my $enabled = "sites-enabled/*.conf";

chdir($confdir);
my @files = bsd_glob($enabled);

for my $file (@files)
{
        print "include \"$file\"";
}

On teste la configuration…

lighttpd -t -f /etc/lighttpd/lighttpd.conf

… qui doit donner comme résultât « Syntax Ok » avant de pouvoir redémarrer le serveur avec…

service lighttpd restart

Comment ajouter un vhost et l’activer ?

Créez dans le dossier « /etc/lighttpd/sites-available » votre fichier de vhost avec comme extension « .conf ».
Depuis le dossier « /etc/lightppd/sites-enabled » créez un alias vers votre fichier.
Exemple…

ln -s ../sites-available/mon_vhost.conf

Il ne reste plus qu’à tester la configuration avant de redémarrer le serveur…

lighttpd -t -f /etc/lighttpd/lighttpd.conf
service lighttpd restart

Les commentaires sont désactivés.