虚拟机boa服务器移植(常见问题附后)
一.boa配置
1.http://www.boa.org/ 下载boa包。这里以boa-0.94.13-src.tar.gz为例。
2.将压缩包拷到虚拟机,并进行解压。
#tar zxvf boa-0.94.13-src.tar.gz
3.进入解压后的目录,并进而进入src目录。
#cd boa-0.94.13-src # cd src
4.生成Makefile。
#./configure
5.编译
#make
二.配置boa.conf
1.执行#cd .. 回到 boa-0.94.13-src目录下。
2.建立/etc/boa目录,复制boa.conf到此目录。
# mkdir /etc/boa
# cp boa.conf /etc/boa
3.进入/etc/boa 打开boa.conf。
#cd /etc/boa
#vi boa.conf
4.修改User nobody 为User 0
修改Group nogroup 为Group 0
修改ErrorLog 为ErrorLog /var/log/boa/error_log
修改AccessLog 为AccessLog /var/log/boa/access_log
修改DocumentRoot为DocumentRoot /var/www
修改DiretoryIndex 为 DiretoryIndex index.html
修改 ScriptAlias 为 ScriptAlias /cgi-bin/ /var/www/cgi-bin
三.建立文件夹和文件
1.如果没有权限,加 sudo 执行:
# mkdir /var/log/boa
# touch /var/log/boa/error_log
# touch /var/log/boa/access_log
# mkdir /var/www/cgi-bin
四.运行boa
1.进入src目录
#cd boa-0.94-src/src
2.#./boa
这时服务器配置完成。
五.测试
1.自己写一个index.html 放入/var/www目录下。
创建index.html 代码:
<html>
<title>
boa
</title>
<body>
<center><h1>hello world!</h1></center>
</body>
</html>
2.在Windows下通过地址栏输入http://192.168.xxx.xxx(虚拟机ip)运行
如果出现hello world 则成功。
如果想移植到开发板,需采用交叉编译arm-linux-gcc ,并挂载实现。
六.常见问题
1.如果提示 gethostbyname::No such file or directory
办法 修改boa.conf :去掉ServerNamewww.your.org.here 前面的#号
2.如果提示 log.c:73 unable to dup2 the error log:bad file descritor
办法 修改src/log.c:注释以下代码:
if(dup2(error_log,STDERR_FILENO)==-1){
DIE("unable to dup2 the error log");}
3.如果提示 bison命令未找到
办法:命令行输入:sudo apt-get install flex
sudo apt-get install bison
但是如果更新软件不好用,那只能自己去官网下载,解压压缩包。
进入目录后 #./configure #make #make install 安装成功。
有可能还需要M4 也是同样办法安装。
4.运行boa时,提示:boa.c:194-unable to bind:Permission denied
办法:因为没有权限,则:sudo ./boa
5.移植开发板时,需交叉编译,提示arm-linux-gcc 命令未找到
办法:下载交叉编译工具,如:arm-linux-gcc-4.4.1.tar.gz
# mkdir /usr/local/arm
# tar zxvf arm-arm-linux-gcc-4.4.1.tar.gz -C /usr/local/arm
然后修改环境变量:
#sudo vi /etc/profile
在文件最后加: export PATH=/usr/local/arm/4.4.1/bin:$PATH
安装成功.
6.如果提示:boa.c:194 - unable to bind: Address already in use;说明boa正在运行
办法:#sudo ps -e |grep "boa" 查找boa进程
#sudo kill 进程号
#sudo ./boa 再次运行
---------------------