嵌入式web服务器lighttpd的移植及配置(for arm-linux TQ2416) Fedora 18

TQ2416 出厂给的zImage 已经移植好了web服务器,,
如何自己移植,百度加google。记录一下过程吧。
cgi 测试页面如下:

机器相关信息

  1. [root@austgl gl]# cat /proc/version  
  2. Linux version 3.11.4-101.fc18.x86_64 (mockbuild@bkernel02) (gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC) ) #1 SMP Thu Oct 10 14:05:32 UTC 2013  
  3. [root@austgl gl]# cat /etc/issue  
  4. Fedora release 18 (Spherical Cow)  
  5. Kernel \r on an \m (\l)  
  6. [root@austgl gl]# arm-linux-gcc -v  
  7. Using built-in specs.  
  8. Target: arm-none-linux-gnueabi  
  9. Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure –build=i386-build_redhat-linux-gnu –host=i386-build_redhat-linux-gnu –target=arm-none-linux-gnueabi –prefix=/opt/FriendlyARM/toolschain/4.4.3 –with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root –enable-languages=c,c++ –disable-multilib –with-arch=armv4t –with-cpu=arm920t –with-tune=arm920t –with-float=soft –with-pkgversion=ctng-1.6.1 –disable-sjlj-exceptions –enable-__cxa_atexit –with-gmp=/opt/FriendlyARM/toolschain/4.4.3 –with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 –with-ppl=/opt/FriendlyARM/toolschain/4.4.3 –with-cloog=/opt/FriendlyARM/toolschain/4.4.3 –with-mpc=/opt/FriendlyARM/toolschain/4.4.3 –with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root –disable-nls –enable-threads=posix –enable-symvers=gnu –enable-c99 –enable-long-long –enable-target-optspace  
  10. Thread model: posix  
  11. gcc version 4.4.3 (ctng-1.6.1)  

1. 编译、生成arm版
1.1. 先到lighttpd官网下载对应版本的软件包:
http://www.lighttpd.net/
最新的是 lighttpd-1.4.33.tar.gz
1.2. 将压缩包解压到任意目录(/home/gl/e)得到文件夹 lighttpd-1.4.33
1.3. 在终端中进入解压后的目录后:vi configure-arm.sh
1.4. 输入如下代码:

  1. #! /bin/sh  
  2. CC=arm-linux-gcc-4.4.3 AR=arm-linux-ar LD=arm-linux-ld RANLIB=arm-linux-ranlib STRIP=arm-linux-strip ./configure –prefix=/home/gl/e/lighttpd-arm –host=arm-linux –build=i686-pc-linux –disable-FEATURE –enable-shared –disable-static –disable-lfs  –without-PACKAGE –without-valgrind –without-openssl –without-kerberos5 –without-pcre –without-zlib –without-bzip2 –without-lua  

–prefix=/home/gl/e/lighttpd-arm换成自己需要生成的位置

1.5. 更改 configure-arm.sh 文件的权限,执行命令:
chmod 777 configure-arm.sh
1.6. 配置lighttpd,执行命令:
./configure-arm.sh
1.7. 编译lighttpd,执行命令:
make
1.8. 安装lighttpd,执行命令:
make install
1.9. 安装完成后,会在指定的安装目录 /home/gl/e/lighttpd-arm/ 中生成 lib、sbin和share三个文件夹,
2. 配置
2.1. 在安装目录 /opt/web/lighttpd-1.4.30-arm 中手动创建如下文件夹:cache、cgi-bin、config、log、sockets、upload、vhosts、www。如下图所示:

2.2. 将源码包中doc/config目录下的config.d、lighttpd.conf和modules.conf复制到安装目录中config文件夹里面
2.3. 修改复制过来的lighttpd.conf文件
1)“/opt/web/”开发板的服务器安装位置,这个需要将上面的lighttpd-arm目录拷贝至对应目录下。

  1. var.log_root    = “/opt/web/lighttpd-arm/log”  
  2. var.server_root = “/opt/web/lighttpd-arm”  
  3. var.state_dir   = “/opt/web/lighttpd-arm”  
  4. var.home_dir    = “/opt/web/lighttpd-arm”  
  5. var.conf_dir    = “/opt/web/lighttpd-arm/config”  

2)禁止ipv6
var.cache_dir = server_root + “/cache”
server.use-ipv6 = “disable”
3)将下面两行注释掉,如下所示:
#server.username = “lighttpd”
#server.groupname = “lighttpd”
4)修改网页文档目录:
server.document-root = server_root + “/www”
5)将下面的注释掉,如下所示:
#server.pid-file = state_dir + “/lighttpd.pid”
6)如果不需要查看错误日志文件,可以注释掉,如下:
#server.errorlog = log_root + “/error.log”
7)以下行注释掉,如下所示:
#include “conf.d/access_log.conf”
#include “conf.d/debug.conf”
#server.network-backend = “linux-sendfile”
8)根据系统资源设置数值,如下:
server.max-fds = 256
server.max-connections = 128
9)注释掉以下行,如下所示:
#$HTTP[“url”] =~ “\.pdf$” {
# server.range-requests = “disable”
#}
10)修改上传目录:
server.upload-dirs = ( “/opt/web/lighttpd-arm/upload” )

2.4. 修改刚复制过来的modules.conf文件
1)找到43行,将前面的注释去掉:
“mod_alias”,
2)使能CGI模块,将注释符去掉,如下所示:
include “conf.d/cgi.conf”

2.5. 修改刚复制过来的conf.d文件夹里面的cgi.conf文件
1)将15至19行这一段配置修改如下:

  1. cgi.assign = (“.cgi” => “”)  
  2. #cgi.assign                 = ( “.pl”  => “/usr/bin/perl”,  
  3. #                               “.cgi” => “/usr/bin/perl”,  
  4. #                               “.rb”  => “/usr/bin/ruby”,  
  5. #                               “.erb” => “/usr/bin/eruby”,  
  6. #                               “.py”  => “/usr/bin/python” )  

2)将28行左右的注释符去掉,如下所示:
alias.url += ( “/cgi-bin” => server_root + “/cgi-bin” )
3.运行测试
3.1. 在终端进入www目录,新建一个index.html
3.2. 用minicom连接开发板,并能ping通,如下图:

3.2. 将安装目录 /home/gl/e/lighttpd-arm 从主机复制到开发板中/opt/web。
3.4. cd进入到lighttpd可执行文件的安装目录:cd /opt/web/lighttpd-arm/sbin/
3.5. 启动lighttpd服务器 ./lighttpd -f ../config/lighttpd.conf,发现报错,开始并不知道板子已经移植过web服务器了,提示端口被占用,修改端口:
server.port = 8080
3.6. 再次启动lighttpd 并在pc浏览器中输入开发板的Ip并加上端口8080,即可浏览到刚才创建的主页了,如下图所示:

3.7. 下图是厂家移植的web服务器 测试页面

结束了。。。

未经允许不得转载:ganlei的个人博客 » 嵌入式web服务器lighttpd的移植及配置(for arm-linux TQ2416) Fedora 18

赞 (0)
分享到:更多 ()