[ TED ] 一个简单的thttpd应用

这里是在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 folder
mkdir -m 755 /var/www
mkdir -m 777 /var/www/data
mkdir -m 755 /var/www/logs
echo "dir=/var/www/data" > /var/www/thttpd_config
echo 'cgipat=**.cgi' >> /var/www/thttpd_config
echo "logfile=/var/www/logs/thttpd_log" >> /var/www/thttpd_config
echo "pidfile=/var/run/thttpd.pid" >> /var/www/thttpd_config
cp /etc/thttpd/data/index.html /var/www/data/
chmod 644 /var/www/data/index.html
cp /etc/thttpd/data/Handler.cgi  /var/www/data/
chmod 755 /var/www/data/Handler.cgi
cp /etc/thttpd/data/.htpasswd /var/www/data/
chmod 644 /var/www/data/.htpasswd
echo "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。


今天差不多就到这吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值