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
當IE brower URL:http://172.21.46.138:1234/index.cgi 時,lighttpd會根據cgi.conf所設定的副檔名來執行程式(以此為例,真正的執行檔為「/tmp/rootfs/www/cgi/ssi」, 而index.cgi這個file實際上可能不存在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'
但這不是我想要的結果:
所以我做了點小修改:
- 將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" )
cgi
|-- ssi -> ../
`-- ssi.exe
測試一下
http://172.21.46.138:1234/cgi/ssi/index.asp
可以work了!
沒有留言:
張貼留言