百度空间 | 百度首页 
 
查看文章
 
在博创UP-NETARM2410-S开发板上建立嵌入式网页服务器(lighttpd)
2008-01-09 11:59

参考文档:lighttpd源文件的README以及configure

实验环境:
硬件:

目标板:
UP-NETARM2410-S开发板
基于ARM 920T内核的SAMSUNG S3C2410处理器
Linux Kernel2.4.18
RAMDISK YAFFS
IP:192.168.0.115,已配置telnet服务并开启

宿主机环境:
RedHat 9
I686
IP:192.168.0.110,已配置NFS服务并开启,共享/mnt/nfs目录,权限为*(rw,sync)
交叉编译链:
arm-linux-binutils-2.15 (获取源:handhelds.org)
arm-linux-gcc-3.4.1 (获取源:handhelds.org)

网页服务器:lighttpd_1.4.18(获取源:Ubuntu中国镜像 debian.cn99.com/ubuntu)
采用理由:lighttpd是一个轻量级的网页服务器,源代码只有4.4M,经过实验,经过arm-linux-gcc编译之后核心可执行文件lighttpd只占用489K

实验步骤:

编译lighttpd

解压lighttpd源文件
tar zxvf lighttpd_1.4.18.orig.tar.gz

进入源文件目录

配置交叉编译所需的环境变量


在这里重新制定编译链为arm编译链
export CC=arm-linux-gcc
export AR=arm-linux-ar
export LD=arm-linux-ld
export RANLIB=arm-linux-ranlib
export STRIP=arm-linux-strip


查看配置文件帮助之后配置编译配置文件
./configure –prefix=/mnt/nfs/lighttpd-arm –host=arm-linux –build=i686-pc-linux --disable-FEUTARE –disable-ipv6 –disable-lfs



--prefix安装路径选项必须设定为与目标板挂在目录相同,否则会出现lighttpd服务器找不到相关动态链接库和配置文件的错误
我计划把编译后的网页服务器目录挂载到目标板的/mnt/nfs/目录下,所以设置为/mnt/nfs/lighttpd-arm
--host宿主机设置为开发板的型号arm-linux
--build设置为当前开发环境i686-pc-linux
由于开发板环境限制,因此我决定对配置编译文件进行粗略的裁剪。所以用
--disable-FEUTARE关闭对未来扩展的支持
--disable-ipv6关闭对ipv6的支持
--disable-lfs关闭对大文件系统的支持(large file system)

用./configure生成Makefile文件后,用make进行编译,并用make install命令把编译后的可执行文件复制到安装路径


到此为止,lighttpd的编译完成。

从上图可以看出,经过arm编译链编译过的lighttpd所有文件一共占用2M的存储空间


配置lighttpd
把lighttpd源文件家下的doc目录下的配置文件模板复制到安装文件目录下的sbin目录。
cp /root/lighttpd-2.4.18/doc/lighttpd.conf /mnt/nfs/lighttpd-arm/sbin
配置配置文件
创建网页根目录
mkdir /mnt/nfs/lighttpd-arm/htdocs

cd /mnt/nfs/lighttpd-arm/sbin
vim lighttpd.conf
制定网页根目录为/mnt/nfs/lighttpd-arm/htdocs

由于开发板的系统文件是固化到ROM里的特性,对文件写入操作极为忌讳,所以禁用网页访问记录。
用#号注释掉
server.errorlog
accesslog.filename
这两个选项
由于开发板不完全支持lighttpd的server.range-requests操作,所以必须注释掉
$HTTP[“url”] =~ “\.pdf$” {
Server.range-requests = “disable”
}
操作


测试lighttpd
在htdocs目录下建立两个测试网页
index.html
b.html
index.html的内容为
<a href=”b.html”>click here to b.html</a>
b.html的内容为
Hello Lighttpd for ARM

用telnet远程登陆到目标板进行挂在网页服务器
telnet 192.168.0.115


挂在宿主机相应目录
mount 192.168.0.110:/mnt/nfs /mnt/nfs


进入网页服务器目录下的sbin目录,加载配置文件并启动服务进程
./lighttpd –f lighttpd.conf

用宿主机访问目标板
测试页面可以访问
实验成功


类别:进阶配置 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu