RedHat9下thttpd Web服务器的移植 ---转

 

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地址即可)。
 

你可能感兴趣的:(linux,Web,redhat,浏览器,cgi)