lighttpd porting reference: http://www.newbieswiki.com/index.php?title=%E5%A6%82%E4%BD%95%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91lighttpd CC="mips-linux-gcc -I/tmp/rootfs/lighttpd/include -L/tmp/rootfs/lighttpd/lib" LD="mips-linux-ld -L/tmp/rootfs/lighttpd/lib" ./configure --target=mips-linux --host=mips-linux --without-zlib --prefix=/tmp/rootfs/lighttpd --without-bzip2 --disable-ipv6 --with-pcre=/tmp/rootfs/lighttpd/lib/ ----------------------------------------------------- 設定 lighttpd.conf document root 修改lighttpd.conf var.server_root = "/tmp/rootfs/www" server.port = 1234 var.conf_dir = "/tmp/rootfs/etc/lighttpd" cgi module. 修改modules.conf include "conf.d/cgi.conf" 修改conf.d/cgi.conf cgi.assign = ( ".pl" => "/usr/bin/perl", ".cgi" => "/tmp/rootfs/www/cgi/ssi", ".rb" => "/usr/bin/ruby", ".erb" => "/usr/bin/eruby", ".py" => "/usr/bin/python" ) 在target board edit 「/tmp/rootfs/www/cgi/ssi」如下,and chmod +x. #!/bin/sh echo -ne "Content-Type: text/plain\n\n"; echo -ne "Hi there! This is a sample perl program!!!\n"; set 測試 url: http://172.21.46.138:1234/index.cgi CONTENT_LENGTH='0' DOCUMENT_ROOT='/tmp/rootfs/www' GATEWAY_INTERFACE='CGI/1.1' HTTP_ACCEPT='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_CHARSET='UTF-8,*' HTTP_ACCEPT_ENCODING='gzip,deflate' HTTP_ACCEPT_LANGUAGE='zh-tw,en-us;q=0.7,en;q=0.3' HTTP_CACHE_CONTROL='max-age=0' HTTP_CONNECTION='keep-alive' HTTP_HOST='172.21.46.138:1234' HTTP_KEEP_ALIVE='115' HTTP_USER_AGENT='Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 GTB7.1 (.NET CLR 3.5.30729)' IFS=' ' LD_LIBRARY_PATH='/tmp/rootfs/lighttpd/lib' PATH='/usr/local/bin:/usr/bin:/sbin:/bin' PPID='797' PS1='\w \$ ' PS2='> ' PS4='+ ' PWD='/tmp/rootfs/www' REDIRECT_STATUS='200' REMOTE_ADDR='172.21.33.212' REMOTE_PORT='2161' REQUEST_METHOD='GET' REQUEST_URI='/index.cgi' SCRIPT_FILENAME='/tmp/rootfs/www/index.cgi' SCRIPT_NAME='/index.cgi' SERVER_ADDR='0.0.0.0' SERVER_NAME='172.21.46.138' SERVER_PORT='1234' SERVER_PROTOCOL='HTTP/1.1' SERVER_SOFTWARE='lighttpd/1.4.28' 當IE brower URL:http://172.21.46.138:1234/index.cgi 時,lighttpd會根據cgi.conf所設定的副檔名來執行程式(以此為例,真正的執行檔為「/tmp/rootfs/www/cgi/ssi」, 而index.cgi這個file實際上可能不存在 但這不是我想要的結果: 所以我做了點小修改: 將www/cgi/ssi link到www 再將原來的ssi rename為ssi.exe 小改一下cgi.conf cgi.assign = ( ".pl" => "/usr/bin/perl", ".cgi" => "/tmp/rootfs/www/cgi/ssi.exe", ".asp" => "/tmp/rootfs/www/cgi/ssi.exe", ".rb" => "/usr/bin/ruby", ".erb" => "/usr/bin/eruby", ".py" => "/usr/bin/python" ) peter@team-server:www$ tree cgi cgi |-- ssi -> ../ `-- ssi.exe 測試一下 http://172.21.46.138:1234/cgi/ssi/index.asp 可以work了!