Lighttpd et cgi

Bonjour à tous,
je suis un newbie sous linux j’ai franchis le pas grace à mon serveur (KUROBOX) auquel j’ai mis une image débian (powerpc),

mon probleme est que l’interface de gestion de la box est en cgi donc dans le repertoire var/www/cgi-bin/ mais j’ai regardé ma config pour lighttpd et je n’arrive pas a comprendre ce qui empeche la prise en charge des cgi.

voici mon /etc/lighttpd/lighttpd.conf

[code]# Debian lighttpd configuration file

############ Options you really have to take care of ####################

modules to load

mod_access, mod_accesslog and mod_alias are loaded by default

all other module should only be loaded if neccesary

- saves some time

- saves memory

server.modules = (
“mod_access”,
“mod_alias”,
“mod_fastcgi”,
“mod_cgi”,
“mod_accesslog”,

“mod_rewrite”,

“mod_redirect”,

“mod_status”,

“mod_evhost”,

“mod_compress”,

“mod_usertrack”,

“mod_rrdtool”,

“mod_webdav”,

“mod_expire”,

“mod_flv_streaming”,

“mod_evasive”

)

a static document-root, for virtual-hosting take look at the

server.virtual-* options

server.document-root = “/var/www/”

where to send error-messages to

server.errorlog = “/var/log/lighttpd/error.log”

files to check for if …/ is requested

index-file.names = ( “index.php”, “index.html”,
“index.htm”, “default.htm” )

Use the “Content-Type” extended attribute to obtain mime type if possible

mimetype.use-xattr = “enable”

accesslog module

accesslog.filename = “/var/log/lighttpd/access.log”

deny access the file-extensions

~ is for backupfiles from vi, emacs, joe, …

.inc is often used for code includes which should in general not be part

of the document-root

url.access-deny = ( “~”, “.inc” )

######### Options that are good to be but not neccesary to be changed #######

bind to port (default: 80)

server.port = 80

bind to localhost only (default: all interfaces)

server.bind = “localhost”

error-handler for status 404

#server.error-handler-404 = “/error-handler.html”
#server.error-handler-404 = “/error-handler.php”

to help the rc.scripts

server.pid-file = “/var/run/lighttpd.pid”

Format: .html

-> …/status-404.html for ‘File not found’

#server.errorfile-prefix = “/var/www/”

virtual directory listings

dir-listing.encoding = "utf-8"
server.dir-listing = “enable”

send unhandled HTTP-header headers to error-log

#debug.dump-unknown-headers = “enable”

only root can use these options

chroot() to directory (default: no chroot() )

#server.chroot = “/”

change uid to (default: don’t care)

#server.username = “www-data”

change uid to (default: don’t care)

evhost.path-pattern = “/home/storage/dev/www/%3/htdocs/”

expire module

expire.url = ( “/buggy/” => “access 2 hours”, “/asdhas/” => “access plus 1 seconds 2 minutes”)

rrdtool

rrdtool.binary = “/usr/bin/rrdtool”

rrdtool.db-name = “/var/www/lighttpd.rrd”

handle Debian Policy Manual, Section 11.5. urls

and by default allow them only from localhost

#$HTTP[“remoteip”] =~ “127.0.0.1” {

alias.url += (

“/doc/” => “/usr/share/doc/”,

“/images/” => “/usr/share/images/”

)

$HTTP[“url”] =~ “^/doc/|^/images/” {

dir-listing.activate = “enable”

}

#}

variable usage:

variable name without “.” is auto prefixed by “var.” and becomes “var.bar”

#bar = 1
#var.mystring = “foo”

integer add

#bar += 1

string concat, with integer cast as string, result: “www.foo1.com

#server.name = “www.” + mystring + var.bar + “.com”

array merge

#index-file.names = (foo + “.php”) + index-file.names
#index-file.names += (foo + “.php”)

external configuration files

mimetype mapping

include_shell “/usr/share/lighttpd/create-mime.assign.pl”

load enabled configuration files,

read /etc/lighttpd/conf-available/README first

include_shell “/usr/share/lighttpd/include-conf-enabled.pl”[/code]

voici mon /etc/lighttpd/conf-enabled/10-cgi.conf

[code]## CGI programs allow you to enhance the functionality of the server in a very

straight and simple way…

Documentation: /usr/share/doc/lighttpd-doc/cgi.txt

http://www.lighttpd.net/documentation/cgi.html

server.modules += ( “mod_cgi” )

alias.url += ( “/cgi-bin/” => “/usr/lib/cgi-bin/” )

#$HTTP[“host”] == “localhost” {

alias.url += ( “/cgi-bin/” => “/usr/lib/cgi-bin/” )

$HTTP[“url”] =~ “/cgi-bin/” {

cgi.assign = ( “” => “” )

}

#}

#$HTTP[“url”] =~ “/cgi-bin/” {

cgi.assign = ( “” => “” )

#}

cgi.assign = (
".pl" => “/usr/bin/perl”,
".php" => “/usr/bin/php-cgi”,
".py" => “/usr/bin/python”,
".cgi" => “”,
)[/code]

et voici mon fastcgi.conf

[code]## FastCGI programs have the same functionality as CGI programs,

but are considerably faster through lower interpreter startup

time and socketed communication

Documentation: /usr/share/doc/lighttpd-doc/fastcgi.txt.gz

http://www.lighttpd.net/documentation/fastcgi.html

server.modules += ( “mod_fastcgi” )

Start an FastCGI server for php4 (needs the php4-cgi package)

fastcgi.server = ( “.php” =>
((
“bin-path” => “/usr/bin/php5-cgi”,
“socket” => “/tmp/php-fastcgi.socket”,
“max-procs” => 2,
“idle-timeout” => 20,
“bin-environment” => (
“PHP_FCGI_CHILDREN” => “4”,
“PHP_FCGI_MAX_REQUESTS” => “10000”
),
“bin-copy-environment” => (
“PATH”, “SHELL”, “USER”
),
“broken-scriptfilename” => “enable”
))
)[/code]

merci d’avance :d

je ne connais pas lighttpd, est comme ce n’est pas installé, je n’ai pas le manuel, mais en regardant un peu j’ai vu des trucs du genre:

cgi.assign = ( ".pl" => "/usr/bin/perl", ".cgi" => "/usr/bin/perl" )j’ai vu la même chose avec l’appel à php.
sinon, ce lien là m’a l’air interressant:
trac.lighttpd.net/trac/wiki/Tuto … ttpdAndPHP
ça concerne le php, mais ça doit être transposable pour les .cgi