OpenWrt配置lighttpd与bash-CGI

0. 确保没有安装过Luci

官方trunk版默认都没有的。

1. 安装相应的包

1
2
3
4
opkg update
opkg install bash
opkg install lighttpd
opkg install lighttpd-mod-cgi

2.编辑配置文件

1
vi /etc/lighttpd/lighttpd.conf

在末尾添加添加cgi.assign = ( ".sh" => "/bin/bash" )

再找到server.modules,添加"mod_cgi",

若无额外配置,include_shell "cat /etc/lighttpd/conf.d/*.conf"这一行可能需要注释掉。

3.重启lighttpd

1
2
/etc/init.d/lighttpd stop
/etc/init.d/lighttpd start

然后即可在/www/中添加.sh后缀的脚本来测试了

1
cat >> /www/test.sh
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
echo "Content-type: text/html"
echo
echo "<html>"
echo "<head><title>CGI Test</title></head>"
echo "<body>"
echo "<h1>Test</h1>"
echo "<p>2333333</p>"
echo "</body>"
echo "</html>"

改一下权限:

1
chmod 755 /www/test.sh

测试访问192.168.1.1/test.sh

成功显示:

注:

为什么没法用常见的LALMP……纯粹是因为路由器空间太小我也不想外挂U盘了而已…