移植thttpd Web服务器到ARM-Linux系统
2008-10-23 17:38
525 查看
本次移植的参考资料:
1、 《Linux系统移植》:一个经典的Linux移植文档,(有的网站称之为《Linux系统全线移植文档》等等),共有95页的PDF文档,内容十分详细,里面有thttp的移植记录,值得参考。
2、 《构建嵌入式Linux系统》的第十章 设置网络服务 中的thttp移植部分。
1 下载并解压
下载地址为:http://www.acme.com/software/thttpd/ 我下载的是最新的2.25b
解压:
[tekkamanninja@Tekkaman-Ninja source]$ tar -xvzf thttpd-2.25b.tar.gz |
2 交叉编译thttpd
[tekkamanninja@Tekkaman-Ninja source]$ cd thttpd-2.25b [tekkamanninja@Tekkaman-Ninja thttpd-2.25b]$ CC=/home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-gcc ./configure –host=arm-9tdmi-linux-gnu [tekkamanninja@Tekkaman-Ninja thttpd-2.25b]$ make |
3 安装与配置
3.1 拷贝thttpd二进制可执行文件到根文件系统/usr/sbin/目录中
[tekkamanninja@Tekkaman-Ninja thttpd-2.25b]$ cp thttpd /home/tekkamanninja/working/nfs/rootfs/usr/sbin/ |
[tekkamanninja@Tekkaman-Ninja thttpd-2.25b]$ cp contrib/redhat-rpm/thttpd.conf /home/tekkamanninja/working/nfs/rootfs/etc/ |
[root@/root]#adduser httpd Changing password for httpd Enter the new password (minimum of 5, maximum of 8 characters) Please use a combination of upper and lower case letters and numbers. Enter new password: Bad password: too short. Warning: weak password (continuing). Re-enter new password: passwd[786]: password for `httpd' changed by user `root' Password changed. [root@/root]#exit process '-/bin/login' (pid 787) exited. Scheduling it for restart. starting pid 790, tty '': '/bin/login' 192.168.1.2 login: httpd Password: Processing /etc/profile... Set search library path in /etc/profile Set user path in /etc/profile Set PS1 in /etc/profile Done [httpd@/home/httpd]$mkdir html |
[tekkamanninja@Tekkaman-Ninja thttpd-2.25b]$ cp index.html /home/tekkamanninja/working/nfs/rootfs/home/httpd/html/ |
[tekkamanninja@Tekkaman-Ninja thttpd-2.25b]$ /home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-readelf -d thttpd Dynamic section at offset 0x12014 contains 21 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libcrypt.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x0000000c (INIT) 0x9548 0x0000000d (FINI) 0x16564 0x00000004 (HASH) 0x8128 0x00000005 (STRTAB) 0x8c14 0x00000006 (SYMTAB) 0x8494 0x0000000a (STRSZ) 1066 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000015 (DEBUG) 0x0 0x00000003 (PLTGOT) 0x220e4 0x00000002 (PLTRELSZ) 872 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x91e0 0x00000011 (REL) 0x91a0 0x00000012 (RELSZ) 64 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0x9130 0x6fffffff (VERNEEDNUM) 2 0x6ffffff0 (VERSYM) 0x903e 0x00000000 (NULL) 0x0 |
[tekkamanninja@Tekkaman-Ninja thttpd-2.25b]$ cp -d /home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/libnss_files* /home/tekkamanninja/working/nfs/rootfs/lib/ |
注意只有root有启动权限!
4、增加对CGI的支持
默认配置下,thttpd不可以运行GCI(特别是动态编译的CGI程序)要想使用CGI支持功能,必须更改thttpd.conf的配置:
# This section overrides defaults dir=/home/httpd/html #chroot #屏蔽chroot是为了运行动态编译的CGI user=httpd# default = nobody logfile=/var/log/thttpd.log pidfile=/var/run/thttpd.pid # This section _documents_ defaults in effect port=81 #port参数用于更改端口号(可不改,若还运行了别的WEB服务器,则需用不同端口) # nosymlink# default = !chroot #symlinks # novhost cgipat=/cgi-bin/* #声明CGI程序的目录,是以dir为根目录的路径 # nothrottles # host=0.0.0.0 # charset=iso-8859-1 |
http://blog.chinaunix.net/u1/34474/showart.php?id=486566
相关文章推荐
- 移植thttpd Web服务器到ARM-Linux系统
- 移植thttpd Web服务器到ARM-Linux系统
- 移植thttpd Web服务器到ARM-Linux系统
- 【转】移植thttpd Web服务器到ARM-Linux系统
- 移植多款轻量级 Web服务器到ARM-Linux系统
- 移植Boa Web服务器到ARM-Linux系统
- 移植Boa Web服务器到ARM-Linux系统
- 移植Boa Web服务器到ARM-Linux系统
- 移植Boa Web服务器到ARM-Linux系统
- 移植Boa Web服务器到ARM-Linux系统
- 【转载】移植多款轻量级 Web服务器到ARM-Linux系统
- 移植Boa Web服务器到ARM-Linux系统
- 【转载】移植多款轻量级 Web服务器到ARM-Linux系统
- 移植多款轻量级 Web服务器到ARM-Linux系统
- 基于ARM+LINUX的无线视频采集系统设计----------搭建嵌入式web服务器
- thttpd web服务器在ARM上的移植
- thttpd服务器移植到ARM Linux教程
- 移植BoaWeb服务器到ARM-Linux&mipsel-linux系统
- [置顶] ARM-Linux下WEB服务器Boa的移植、配置和运行测试
- ARM-Linux下WEB服务器Boa的移植、配置和运行测试