1.下载并解压
下载地址为:http://www.acme.com/software/thttpd/ 最新的为2.25b
解压:
# tar -xvzf thttpd-2.25b.tar.gz
2. 编译thttpd
# cd thttpd-2.25b
# ./configure
# make
3. 安装与配置
3.1 进入 thttpd-2.25b目录下,拷贝thttpd二进制可执行文件到目标根文件系统/usr/sbin/目录中
# cp -dpR thttpd /mnt/initrd/usr/sbin/.
3.2 进入 thttpd-2.25b目录下,拷贝thttpd配置文件,配置文件内容参看4
# cp contrib/redhat-rpm/thttpd.conf /mnt/initrd/etc/.
3.3在目标系统的根文件系统中为thttpd创建一个httpd服务的根目录/var/www
#mkdir -p /mnt/initrd/var/www #放置HTML文件的根目录
#mkdir -p /mnt/initrd/var/www/cgi-bin #添加支持cgi支持后,cgi脚本存放目录,如未支持cgi可不创建
3.4 我是动态编译所以查看一下需要的动态库,并把这些所需的库复制到目标系统的相应位置
# ldd thttpd
libcrypt.so.1 => /lib/libcrypt.so.1 (0x4001e000)
libc.so.6 => /lib/libc.so.6 (0x4004b000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
虽然这里只列出了需要libcrypt、libc 和 ld-linux.so.2 这3个动态库,但是想要运行thttpd还需要libnss_files 动态库,
具体原因请看:http://www.jollen.org/blog/2006/10/library_dependency_1.html
4、增加对CGI的支持
默认配置下,thttpd不可以运行GCI(特别是动态编译的CGI程序)要想使用CGI支持功能,必须更改thttpd.conf的配置:
# This section overrides defaults
dir=/var/www
#chroot
#屏蔽chroot是为了运行动态编译的CGI
user=root# default = nobody
logfile=/var/log/thttpd.log
pidfile=/var/run/thttpd.pid
# This section _documents_ defaults in effect
port=80
#port参数用于更改端口号(可不改,若还运行了别的WEB服务器,则需用不同端口)
# nosymlink# default = !chroot
#symlinks
# novhost
cgipat=/cgi-bin/*
#声明CGI程序的目录,是以dir为根目录的路径
# nothrottles
# host=0.0.0.0
# charset=iso-8859-1
5. 启动thttpd
# thttpd -C /etc/thttpd.conf
注意只有root有启动权限!
移植完成,可以测试了(只需在WEB浏览器中键入开发板的IP地址即可)。