Boa服务器在ARM+Linux上的移植
径开始。可以注释掉避免使用mime.types文件,此时需要用AddType在本文件里指明
MimeTypes /etc/mime.types
#文件扩展名没有或未知的话,使用的缺省MIME类型
DefaultType text/plain
#提供CGI程序的PATH环境变量值
CGIPath /bin:/usr/bin:/usr/local/bin
#将文件扩展名和MIME类型关联起来,和mime.types文件作用一样。如果用mime.types
#文件,则注释掉,如果不使用mime.types文件,则必须使用
#AddType application/x-httpd-cgi cgi
#指明文档重定向路径
#Redirect /barhttp://elsewhere/feh/bar
#为路径加上别名
Alias /doc /usr/doc
#非常重要,指明CGI脚本的虚拟路径对应的实际路径。一般所有的CGI脚本都要放在实际路径里,用户访问执行时输入站点+虚拟路径+CGI脚本名
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
四、源码修改
第一、
#ifndef SERVER_ROOT
#define SERVER_ROOT"/etc/boa"
#endif,
"/etc/boa"该路径为boa.conf存放的路径。
第二、
(1)
Group nogroup—>改为Group nobody
(2)
修改DoucmentRoot /var/www ,为存放网页的路径
第三、
./Boa
出现boa:server version Boa/0.94.14
五、服务器测试以及网页编写
(1)测试
打开Mozilla浏览器,输入自己的IP地址如:192.168.0.2 就可以打开网页。
(2)简单网页的编写网页
equiv="Content-Type" content="text/html; charset=gb2312">
Hello veryone!!!!!!!!!!!!!!!!!!!!!!!!
六、可能出错及修正
(1) 会出现错误:util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: * [util.o] 错误 1
修改 src/compat.h
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
(2) 会出现错误log.c:73 unable to dup2 the error log:bad file descriptor
修改 src/log.c注释掉
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
为:
(3) boa.c:211 - getpwuid: No such file or directory
修改src/boa.c注释掉下面两句话:
if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
DIE(”initgroups”);
}为
#if 0
if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
DIE(”initgroups”);
}
#endif
(4)会出现问题:boa.c:228 - icky Linux kernel bug!: No such file or directory
注释掉下面语句:
if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}为
#if 0
if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
#endif
Boa服务器ARMLinux移 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)