boa服务器移植与CGIC库的安装使用
Posted 博客天空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了boa服务器移植与CGIC库的安装使用相关的知识,希望对你有一定的参考价值。
1.boa服务器的移植
准备文件:boa服务器的源码,或者用自己保存的已修改文件
源码下载:boa-0.94.13.tar.gz 链接:https://pan.baidu.com/s/13pSIqRU47xkjInVfFDMorQ 密码:m7eg
解压源码:tar -xvf boa-0.94.13.tar.gz
安装需要工具bison,flex: sudo apt-get install bison flex -y
进入解压文件夹的src文件夹内修改注释掉一些语句:
修改 src/compat.h:
找到
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
修改 src/log.c:
注释掉
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
修改src/boa.c:
注释掉下面两句话:
if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
DIE(”initgroups”);
}
注释掉下面语句:
if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
修改src/defines.h
将 #define SERVER_ROOT "/etc/boa"
修改为: #define SERVER_ROOT "/boa" //此处为boa服务器位置,根据自己设置的位置填写正确,
(这样boa程序启动时会在/boa目录下寻找boa.conf配置文件,并且将/boa文件夹作为服务器的根目录)
cd boa-0.94.13/src/
执行./configure
这是根据configure.in文件进行一系列的配置,生成config.status,configure,和Makefile文件。
如果无法执行,考虑权限,修改该目录下的configure的属性为可执行 chmod 755 configure
对于在开发板上运行,修改Makefile: CC = arm-linux-gcc CPP = arm-linux-gcc–E。输入make命令进行编译
文件瘦身:strip boa(ubuntu下测试) 或 arm-linux-strip boa(板子上运行)
Boa的配置(修改boa.conf文件,可以修改源码解压包内的,也可以新建一个或用已完成修改的):
vi boa.conf, //几乎全部指定到boa的目录下,这样方便我们进行管理
重新指定一些文件的生成路径,因为重新指定这些路径后会帮助我们深刻的理解关于boa服务器的工作机制
Port 80
User 0
Group 0
# bind调用的IP地址,一般注释掉,表明绑定到INADDR_ANY,通配于服务器的所有IP地址
#Listen 192.68.0.5
##### error_log和access_log会自动生成,只要指定生成路径就可以了。
ErrorLog /boa/log/error_log
AccessLog /boa/log/access_log
##### 存放html文件的根路径
DocumentRoot /boa/www
UserDir public_html
##### 默认页面,若输入http://127.0.0.1/则会自动返回给浏览器默认页面index.html
DirectoryIndex index.html
##### 保持默认
DirectoryMaker /boa/boa_indexer //被修改
KeepAliveMax 1000
KeepAliveTimeout 10
MimeTypes /boa/mime.types //被修改
DefaultType text/plain
#####指定传给cgi程序的PATH环境变量
CGIPath /bin:/usr/bin:/usr/local/bin
#####保持默认
Alias /doc /usr/doc
#####如果输入http://127.0.0.1/cgi-bin/test.cgi, 则boa服务器会到/boa/cgi-bin中寻找test.cgi程序。
ScriptAlias /cgi-bin/ /boa/cgi-bin/
建立安装目录:(这里是在将boa的服务器设置在 根目录 /boa 下的前提下进行,对于其他目录,注意修改)
mkdir -p /boa /boa/www /boa/cgi-bin /boa/log
将需要的文件复制到安装目录中
将boa-0.94.13/src目录下生成的boa、boa_indexer二进制文件复制到/boa下
将boa-0.04.13目录下的boa.conf文件复制到/boa下
将/etc/mime.types复制到/boa目录下
此时整个boa服务器移植完成,但是还需要测试boa服务器是否移植成功
以上是关于boa服务器移植与CGIC库的安装使用的主要内容,如果未能解决你的问题,请参考以下文章