- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式web server boa 在S3C2410上的移植
目标平台:S3c2410
开发工具:arm 交叉工具链版本3.4.5
boa版本:boa-0.94.13.tar.gz
?
一、下载源码,生成makefile
1. 下载源码:/
2. 拷贝到 /opt 目录下
3.解压 tar zxvf boa-0.94.13.tar.tar
4.cd boa-0.94.13/src
5. ./configure
?
二、编译前,修改文件
1. 修改Makefile文件,找到CC=gcc和CPP=gcc -E,分别将其改为交叉编译器安装的路径:
CC= arm-softfloat-linux-gnu-gcc
CPP= arm-softfloat-linux-gnu-g++
保存退出。
?
2. 修改编译方式:
LDFLAGS = -g –static
注: 使用静态编译可以让目标文件自动的包含所需要的
库文件,而动态编译需要手工拷贝库文件。
3.修改/src/defines.h文件:
?
#define SERVER_ROOT /etc/boa
?
4 修改boa-0.94/src/ util.c文件
修改char *get_commonlog_time(void)函数。
time_offset = 0;
?
5. 修改src/config.c:加Current_uid=1
?
6. 修改compat.h: 把第120 行的
#define
TIMEZONE_OFFSET(foo)foo##-tm_gmtoff
修改为:
#define
TIMEZONE_OFFSET(foo)foo-tm_gmtoff
?
7.修改/src/boa.c,注释掉下面两行:
/* if (setuid(0) != -1) {
DIE(icky Linux kernel bug!);
} */
?
/*if (passwdbuf == NULL) {
DIE(getpwuid);
}*/
?
8 :config.c
/*if (!server_name) {
struct hostent *he;
char temp_name[100];
?
if (gethostname(temp_name, 100) == -1) {
perror(gethostname:);
exit(1);
}
?
he = gethostbyname(temp_name);
if (he == NULL) {
perror(gethostbyname:);
exit(1);
}
?
server_name = strdup(he-h_name);
if (server_name == NULL) {
perror(strdup:);
exit(1);
}
}*/
?
9. /src/log.c中的修改:注释掉:
/* if (dup2(error_log, STDERR_FILENO) == -1) {
DIE(unable to dup2 the error log);
} */
10. 在boa.conf中的修改:
(1) ServerName的设置
修改#ServerName .here
为 ServerName .here
注意:该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::No such file or directory”,所以必须打开。其它默认设置即可。
注意:以下是为改为下面这样的:
(2)User与Group的修改:
User 0
Group 0
(3)ErrorLog /var/log/boa/error_log
AccessLog /var/log/boa/access_log
(4)DocumentRoot /var/www
(5)DirectoryIndex index.html
(6)KeepAliveMax 1000
KeepAliveTi
文档评论(0)