[ TED ] 一个简单的thttpd应用

来源:互联网 发布:mysql 导出存储过程 编辑:程序博客网 时间:2024/06/05 08:22

这里是在ramfs中使用thttpd的一个简单流程,作为备忘。

1)利用buildroot构建ramfs,make menuconfig 在network中勾选thttpd,保存sudo make

2)配置登录密码,将做好的rootfs.tar解压到chroot /home/myroot下,chroot . bin/sh 用htpasswd生成密码文件

       htpasswd -c .htpasswd  username

       .thpasswd是密码文件 username是用户名这里就用admin

3)为了尽量节省flash空间,修改buildroot-2013.05/package/thttpd/thttpd.mk把除thttpd以外的命令全部去掉

4) 建立index.html和cgi脚本放在/etc/thttpd目录下

5)通过脚本在启动时候构建工作环境

#!/bin/sh#create data foldermkdir -m 755 /var/wwwmkdir -m 777 /var/www/datamkdir -m 755 /var/www/logsecho "dir=/var/www/data" > /var/www/thttpd_configecho 'cgipat=**.cgi' >> /var/www/thttpd_configecho "logfile=/var/www/logs/thttpd_log" >> /var/www/thttpd_configecho "pidfile=/var/run/thttpd.pid" >> /var/www/thttpd_configcp /etc/thttpd/data/index.html /var/www/data/chmod 644 /var/www/data/index.htmlcp /etc/thttpd/data/Handler.cgi  /var/www/data/chmod 755 /var/www/data/Handler.cgicp /etc/thttpd/data/.htpasswd /var/www/data/chmod 644 /var/www/data/.htpasswdecho "Launch the thttpd"/usr/sbin/thttpd -C /var/www/thttpd_config

这里我们没有通过调用默认的/etc/init.d/S90thttpd启动脚本也没有使用/thttpd_wrapper脚本方式使得thttpd始终保持运行 完全是因为特殊需要

通常应用是应当加上这些启动脚本的。

6)thttpd默认就是web接入是chroot的,可以始终保证web用户接触的文件仅限于/var/www/data下,因此不必担心安全问题。但是这里需要注意的就是权限问题,首先是html文件和cgi脚本,只能允许web用户读取和执行权限644和755。但是因为这里有个需要就是cgi脚本要生成一个特殊文件放在/var/www/data下所以我们要给data目录以写权限777。


今天差不多就到这吧

0 0
原创粉丝点击