W . A . X . O
ncc-1701
LINUX - UNIX




Lighttpd

LIGHTTPD : RESSOURCES

CONFIGURATION DE LIGHTTPD (1.4.13)

  • Sous Debian, le fichier de configuration se trouve dans /etc/lighttpd/lighttpd.conf
  • Les fichiers complémentaires se trouvent dans /etc/lighttpd/conf-available et /etc/lighttpd/conf-enabled
  • Sous NetBSD l'installation se fait à partir de /usr/pkg/etc/lighttpd
  • Sous NetBSD les fichiers de configuration se trouvent dans le répertoire /usr/pkg/etc/lighttpd
  • Ajouter l'instruction suivante à lighttpd.conf : server.tag = "WSX"

PHP AVEC LIGHTTPD

  • Installer le package "php5-cgi"
  • Activer le module "CGI"
    cd /etc/lighttpd/conf-enabled
    sudo ln -s ../conf-available/10-cgi.conf ./

  • Redémarrer Lighttpd et PHP devrait être accepté.

VHOSTS AVEC LIGHTTPD

  • Deux méthodes existent pour utiliser des vhosts avec Lighttpd
  • 1 - La méthode conditionnelle : voir ci-dessous
  • 2 - Le module "simple-vhost" : pas traitée ici.


    Vhosts avec la méthode conditionnelle

  • La condition du vhost est écrite sur la ligne :
    "$HTTP["host"] =~ "(^|\.)unix-revolution\.info" {"
    où "$HTTP["host"] est la variable du domaine qui est interrogé et sur laquelle porte la condition "(^|\.)unix-revolution\.info".
  • Toute la puissance de cette méthode réside dans le fait de pouvoir utiliser des expressions régulières dans la configuration de Lighttpd.
    $ pwd
    /etc/lighttpd/conf-available
    $ cat 99-unix-revolution.conf
    $HTTP["host"] =~ "(^|\.)unix-revolution\.info" {
    server.document-root = "/home/unix-revolution/www"
    server.errorlog = "/var/log/lighttpd/unix-revolution-error.log"
    accesslog.filename = "/var/log/lighttpd/unix-revolution-access.log"
    }
    
  • Placer les configurations dans "conf-available" et faire un lien symbolique dans "conf-enable"

    ~$ cd /etc/lighttpd/conf-enable
    ~$ ln -s /etc/lighttpd/conf-available/99-xx.conf 99-xx.conf
    
  • Variables disponibles pour la configuration des conditions

Authentification htpasswd avec Lighttpd

  • Installer le package "apache2-utils" pour la commande htpasswd
  • Créer un fichier htpasswd avec un utilisateur
    sudo htpasswd -c list.users utilisateur
    
  • Activer le module d'authentification

    cd /etc/lighttpd/conf-enabled
    sudo ln -s ../conf-available/10-auth.conf ./
    
  • Configuration du fichier 10-auth.conf : il faut charger le module "auth".

    server.modules                += ( "mod_auth" )
    
  • Il convient ensuite de configurer les vhost avec vos besoins d'authentification.

  • Plusieurs méthodes d'authentification existent : LDAP, HTPASSWD, HTDIGEST, PLAIN TEXT.
  • Exemple d'authentification HTPASSWD
    auth.backend                 = "htpasswd"
    auth.backend.htpasswd.userfile  = "/var/www/list.users"
    auth.require    = ( "/repertoire-a-proteger/" =>
                       (
                        "method" => "basic",
                        "realm" => "Zone secure",
                        "require" => "valid-user"
                       )
                      )
    

SSL AVEC LIGHTTPD (1.4.13)

  • Créer avec OpenSSL votre certificat (xxx.crt et x.crt) et votre clef (xxx.pem) (Création de certificat OpenSSL sous NetBSD)
  • Configurer Lighttpd pour utiliser ce certificat. La configuration suivante a été effectuée sous NetBSD, mais il suffit d'adapter les répertoires pour un autre UnixLike (Linux ou Unix).