Bonjour,

je cherche à faire avec lighttpd ce qu'il est possible de faire avec apache2 :
définir un répertoire pour les scripts CGI sous le répertoire userdir.

j'ai activé mod_userdir dans /etc/lighttpd.conf, mais je ne trouve pas comment indiquer qu'un répertoire donné contient des scripts.

il y a ceci sur la doc :
To get the old cgi-bin behavior of apache:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    #Note: make sure that mod_alias is loaded if you use this:
    alias.url += ( "/cgi-bin" => server_root + "/cgi-bin" )
    $HTTP["url"] =~ "^/cgi-bin" {
        cgi.assign = ( "" => "" )
    }
mais cela semble s'appliquer au site "principal", et non aux sites des utilisateurs.

et ça retourne une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
[...] lighttpd-angel[1168]: Undefined config variable: var.server_root
[...] lighttpd-angel[1168]: 2017-11-21 07:29:33: (configfile.c.1128) source: /etc/lighttpd/conf.d/cgi.conf line: 24 pos: 48 parser failed somehow near here: +
[...] lighttpd-angel[1168]: 2017-11-21 07:29:33: (configfile.c.1128) source: /etc/lighttpd/lighttpd.conf line: 28 pos: 1 parser failed somehow near here: (EOL)
[..] lighttpd-angel[1168]: lighttpd-angel.c.148: child (pid=1169) exited normally with exitcode: 255
que puis-je vous dire de plus ?

EDIT: j'ai continué à gratter avec des mots différents, et j'ai fini par tomber sur ce code, qui fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$HTTP["url"] =~ "^(/~[^/]+)?/cgi-bin/" {
    cgi.assign = ("" => "")
}