移植Boa Web服务器到ARM-Linux系统
2010-05-06 22:20
429 查看
本次移植的主要参考资料:
1、 《嵌入式Web服务器移植 》
是网上一份
Boa移植文档,比较全面。本文档就是基本参照它来写的。基本上上可以说是这篇文章的修改版,增加了我的移植经验。由于这篇文章被转载得到处都是,我实在
无法找到出处。在这里衷心的感谢文章作者!!
2、 《构建嵌入式Linux系统》
的第十章 设置网络服务 中的Boa移植部分。
一、Boa程序的移植
1、下载Boa源码
下载地址:
http://www.boa.org/
目前最新发行版本: 0.94.13 (几年没更新版本了)
下载 boa-0.94.13.tar.gz,
注意:若从boa上下载的是boa-
0.94.13.tar.tar,解压方式一样
解压:
2、生成Makefile文件
进入boa-
0.
94.
13,
直
接运行src/configure文件
3、修改Makefile文件(注
意:必须用cross-2.95.3, 如使用3.4.1、4.1.1等等会出错)
4、
交叉编译
5、去除调试信息,减小体积。(可选)
6、将编译好的程序放入根文件系统的/bin目录下。
二、配置Boa
Boa需要在/etc目录下建立一
个boa目录,里面放入Boa的主要配置文件boa.conf。
在Boa源码目录下已有一个示例boa.conf
,可以在其基础上进行修改。
1、Group的修改
修改 Group nogroup
为 Group user
(开发板上有
的组)
修改 User nobody
为 User boa
(user组中的一个成员)
根据你的开发板的情况设定。一定要存在的组和用户。
以下是我在开发板上的操作:
2、ScriptAlias的修改
修改 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
为 ScriptAlias
/cgi-bin/ /var/www/cgi-bin/
这是在设置CGI的目录,你也可以设置成别的目录。比如用户文件夹下的某个目录。
3、ServerName的设置
修改 #ServerName
www.your.org.here
为 ServerName
www.your.org.here
注意:该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::No
such file or directory”,所以必须打开。其它默认设置即可。你也可以设置为你自己
想要的名字。比如我设置为:
ServerName tekkaman2440
此外,还需要:
将mime.types
文件复制/etc
目
录下,通常可以从linux主机的 /etc目录下直接复制即可。
(以下配置和boa.conf
的
配置有关)
创建日志文件所在目录/var/log/boa
创建HTML文档的主目录/var/www
创建CGI脚本所在录 /var/www/cgi-bin
三、运行Boa
开发板操作:
[root@~]#
boa
如果发现boa没有运行,则可以在开发板的/var/log/boa/error_log文件中找原因。
四、功能测试
静态网页测试
将静态网页存入根文件系统的/var/www
目录下(可以将主机
/usr/share/doc/HTML/目录下的index.html、homepage.css和img、stylesheet-images目录复
制到/var/www目录下)
我参考《嵌入式Web服务器移植 》
的做法如下:
在根文件系统的/var
目录下
直接在浏览器中输入开发板的IP地址(比如我的是http://192.168.1.2/
)
,出现fedora的欢迎网页。静态HTML调试成功。
CGI功能测试
1、编写HelloworldCGI.c程序
[tekkamanninja@Tekkaman-Ninja source]$ vi
helloworldCGI.c
(主程序的程序开头一定要用Tab,而不是空格,不然编译可能不通过)
2.交叉编译生成CGI程序
将helloworldCGI 拷贝至根文件系统的/var/www/cgi-bin/下
3.测试
浏览器输入
http://192.168.1.2/cgi-bin/helloworldCGI
网页出现 Hello,world.
调试成功!
原文地址
http://blog.chinaunix.net/u1/34474/showart.php?id=486604
1、 《嵌入式Web服务器移植 》
是网上一份
Boa移植文档,比较全面。本文档就是基本参照它来写的。基本上上可以说是这篇文章的修改版,增加了我的移植经验。由于这篇文章被转载得到处都是,我实在
无法找到出处。在这里衷心的感谢文章作者!!
2、 《构建嵌入式Linux系统》
的第十章 设置网络服务 中的Boa移植部分。
一、Boa程序的移植
1、下载Boa源码
下载地址:
http://www.boa.org/
目前最新发行版本: 0.94.13 (几年没更新版本了)
下载 boa-0.94.13.tar.gz,
注意:若从boa上下载的是boa-
0.94.13.tar.tar,解压方式一样
解压:
[ tekkamanninja@Tekkaman- Ninja source] $ tar xzf boa- 0. 94. 13. tar. gz |
进入boa-
0.
94.
13,
直
接运行src/configure文件
[ tekkamanninja@Tekkaman- Ninja src] $./configure |
意:必须用cross-2.95.3, 如使用3.4.1、4.1.1等等会出错)
CC = / home/ tekkamanninja/ working/ source/ 2. 95. 3/ bin/ arm- linux- gcc CPP = / home/ tekkamanninja/ working/ source/ 2. 95. 3/ bin/ arm- linux- gcc - E |
4、
交叉编译
[ tekkamanninja@Tekkaman- Ninja src] $ make |
[ tekkamanninja@Tekkaman- Ninja src] $ / home/ tekkamanninja/ working/ source/ 2. 95. 3/ bin/ arm- linux- strip boa |
[ tekkamanninja@Tekkaman- Ninja src] $ cp boa / home/ tekkamanninja/ working/nfs/rootfs / bin/ |
Boa需要在/etc目录下建立一
个boa目录,里面放入Boa的主要配置文件boa.conf。
在Boa源码目录下已有一个示例boa.conf
,可以在其基础上进行修改。
[ tekkamanninja@Tekkaman- Ninja src] $ cd . . / . . [ tekkamanninja@Tekkaman- Ninja source] $ cd . . / nfs/ rootfs/ etc/ [ tekkamanninja@Tekkaman- Ninja etc] $ mkdir boa [ tekkamanninja@Tekkaman- Ninja etc] $ chmod 777 boa/ [ tekkamanninja@Tekkaman- Ninja etc] $ cd boa [ tekkamanninja@Tekkaman- Ninja boa] $ kwrite boa. conf |
修改 Group nogroup
为 Group user
(开发板上有
的组)
修改 User nobody
为 User boa
(user组中的一个成员)
根据你的开发板的情况设定。一定要存在的组和用户。
以下是我在开发板上的操作:
[ root@~ ] # adduser - g user boa Changing password for boa 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[ 820] : password for `boa' changed by user `root' Password changed. [ root@~ ] # |
修改 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
为 ScriptAlias
/cgi-bin/ /var/www/cgi-bin/
这是在设置CGI的目录,你也可以设置成别的目录。比如用户文件夹下的某个目录。
3、ServerName的设置
修改 #ServerName
www.your.org.here
为 ServerName
www.your.org.here
注意:该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::No
such file or directory”,所以必须打开。其它默认设置即可。你也可以设置为你自己
想要的名字。比如我设置为:
ServerName tekkaman2440
此外,还需要:
将mime.types
文件复制/etc
目
录下,通常可以从linux主机的 /etc目录下直接复制即可。
(以下配置和boa.conf
的
配置有关)
创建日志文件所在目录/var/log/boa
创建HTML文档的主目录/var/www
创建CGI脚本所在录 /var/www/cgi-bin
[ tekkamanninja@Tekkaman- Ninja log ] $ mkdir - m 777 boa [ tekkamanninja@Tekkaman- Ninja log ] $ cd . . [ tekkamanninja@Tekkaman- Ninja var] $ mkdir - m 777 www [ tekkamanninja@Tekkaman- Ninja var] $ mkdir - m 777 www/ cgi- bin [ tekkamanninja@Tekkaman- Ninja var] $ cd . . [ tekkamanninja@Tekkaman- Ninja rootfs] $ cp / etc/ mime. types etc/ |
开发板操作:
[root@~]#
boa
如果发现boa没有运行,则可以在开发板的/var/log/boa/error_log文件中找原因。
比如端口已被其他程序占用:
|
静态网页测试
将静态网页存入根文件系统的/var/www
目录下(可以将主机
/usr/share/doc/HTML/目录下的index.html、homepage.css和img、stylesheet-images目录复
制到/var/www目录下)
我参考《嵌入式Web服务器移植 》
的做法如下:
在根文件系统的/var
目录下
[ tekkamanninja@Tekkaman- Ninja var] $ cp / usr/ share/ doc/ HTML/ index. html www/ [ tekkamanninja@Tekkaman- Ninja var] $ cp - r / usr/ share/ doc/ HTML/ img www/ [ tekkamanninja@Tekkaman- Ninja var] $ cp / usr/ share/ doc/ HTML/ homepage. css www/ [ tekkamanninja@Tekkaman- Ninja var] $ cp - r / usr/ share/ doc/ HTML/ stylesheet- images www/ |
)
,出现fedora的欢迎网页。静态HTML调试成功。
CGI功能测试
1、编写HelloworldCGI.c程序
[tekkamanninja@Tekkaman-Ninja source]$ vi
helloworldCGI.c
(主程序的程序开头一定要用Tab,而不是空格,不然编译可能不通过)
# include < stdio. h> # include < stdlib. h> int main( void ) { printf ( "Content-type: text/html/n/n" ) ; printf ( "<html>/n" ) ; printf ( "<head><title>CGI Output</title></head>/n" ) ; printf ( "<body>/n" ) ; printf ( "<h1>Hello,world.</h1>/n" ) ; printf ( "<body>/n" ) ; printf ( "</html>/n" ) ; exit ( 0) ; } |
[ tekkamanninja@Tekkaman- Ninja source] $ / home/ tekkamanninja/ working/ gcc4. 1. 1/ gcc- 4. 1. 1- glibc- 2. 3. 2/ arm- 9tdmi- linux- gnu/ bin/ arm- 9tdmi- linux- gnu- gcc - o helloworldCGI helloworldCGI. c |
[ tekkamanninja@Tekkaman- Ninja source] $ cp helloworldCGI . . / nfs/ rootfs/ var/ www/ cgi- bin/ |
浏览器输入
http://192.168.1.2/cgi-bin/helloworldCGI
网页出现 Hello,world.
调试成功!
原文地址
http://blog.chinaunix.net/u1/34474/showart.php?id=486604
相关文章推荐
- 移植Boa Web服务器到ARM-Linux系统
- 移植Boa Web服务器到ARM-Linux系统
- 移植Boa Web服务器到ARM-Linux系统
- 移植Boa Web服务器到ARM-Linux系统
- 移植Boa Web服务器到ARM-Linux系统
- 【转载】移植多款轻量级 Web服务器到ARM-Linux系统
- 移植BoaWeb服务器到ARM-Linux&mipsel-linux系统
- 【转载】移植多款轻量级 Web服务器到ARM-Linux系统
- [置顶] ARM-Linux下WEB服务器Boa的移植、配置和运行测试
- 移植多款轻量级 Web服务器到ARM-Linux系统
- ARM-Linux下WEB服务器Boa的移植、配置和运行测试
- 移植thttpd Web服务器到ARM-Linux系统
- 【转】移植thttpd Web服务器到ARM-Linux系统
- 移植thttpd Web服务器到ARM-Linux系统
- 移植多款轻量级 Web服务器到ARM-Linux系统
- 移植thttpd Web服务器到ARM-Linux系统
- 移植thttpd Web服务器到ARM-Linux系统
- Boa服务器在ARM+Linux上的移植
- 在嵌入式Linux系统(OK6410)中移植Boa 服务器
- Boa服务器在ARM+Linux上的移植