Ubuntu下boa服务器的配置与搭建

chenzhufly   2013-7-11 13:12 楼主
Ubuntu下boa服务器的配置与搭建
我用的是Ubuntu 12.04,但方法不局限于此版系统,应该是通用的。
网上关于ubuntu下配置boa的资料很多,我结合网上一些文档,进行了整理和总结。
具体操作步骤:
1.下载Boa源码
  下载地址: http://www.boa.org/
  最新发行版本: 0.94.13
  下载 boa-0.94.13.tar.gz
  解压方法:
    cd Desktop 进入boa-0.94.13.tar.gz存放目录
    tar xzf boa-0.94.13.tar.gz 解压
  注意:如果你还不清楚怎么进入命令模式,Alt+F2输入gnome-terminal即可找到,类似windows下的cmd;
     tar命令之前,你需要先切换到boa-0.94.13.tar.gz存放目录,否则会提示找不到文件。例如放在桌面,先cd Desktop.
     我的boa-0.94.13.tar.gz放在了桌面,避免一些命令无法运行,请你也放在桌面。
2.安装需要的工具bison,flex
  sudo apt-get install bison flex
  不安装或者安装不成功都会导致后面make时出现错误127
  注意:如果install报错,那你需要先更新系统(sudo apt-get update),更新根据网速可能花费几十分钟甚至小时,耐心等待。
     待更新完成后,继续sudo apt-get install bison flex
3.生成Makefile文件
  cd boa-0.94.13/src 切换当前目录
  ./configure 运行
4.准备工作
  4.1 Boa需要在/etc目录下建立一个boa目录,里面放入Boa的主要配置文件boa.conf。
  sudo mkdir /etc/boa 新建目录
  cd ~ 返回根目录
  cd /etc 切换当前目录
  sudo cp ~/Desktop/boa-0.94.13/boa.conf boa 复制文件boa.conf到/etc/boa目录
  4.2 修改/etc/boa/boa.conf
  sudo gedit ~/etc/boa/boa.conf 管理员身份打开boa.conf,其他身份无法修改和保存boa.conf。
  注意:修改boa.conf等文件需要管理员身份,获取管理员身份方法有多种,推荐直接sudo gedit来打开。
  (1)Group的修改
  修改 Group nogroup
  为  Group 0
  (2)user的修改
  修改 User nobody
  为  User 0
  (3)修改ScriptAlias的路径
  修改ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  为 ScriptAlias /cgi-bin/ /var/www/cgi-bin/
  (4)去掉ServerName前面的注释符号#
  修改#ServerName www.your.org.here
  为 ServerName www.your.org.here
  否则会出现错误: "gethostbyname::No such file or directory"
  (5)注释掉AccessLog命令
  修改AccessLog /var/log/boa/access_log
  为# AccessLog /var/log/boa/access_log
  否则会出现错误提示: "Cannot open ... for logging:logfile open:Is a directory"
  4.3 修改 src/compat.h
  #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
  修改成
  #define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
  否则会出现错误:util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 错误 1
  4.4 修改 src/log.c
  if (dup2(error_log, STDERR_FILENO) == -1) {
  DIE("unable to dup2 the error log");
  }
  修改为
  /*if (dup2(error_log, STDERR_FILENO) == -1) {
  DIE("unable to dup2 the error log");
  }*/
  否则会出现错误:log.c:73 unable to dup2 the error log:bad file descriptor
  4.5 修改src/boa.c
  if (setuid(0) != -1) {
  DIE(”icky Linux kernel bug!”);
  }
  修改为
  #if 0
  if (setuid(0) != -1) {
  DIE(”icky Linux kernel bug!”);
  }
  #endif
  否则可能会出现错误:boa.c:228 、 boa.c:226
  4.6 创建web服务器的文件根目录
  cd ~ 返回根目录
  sudo mkdir /var/www 创建目录
  sudo chmod -R 777 /var/www 修改权限
  4.7 创建log目录
  cd ~ 返回根目录
  sudo mkdir /var/log/boa
  sudo mkdir /var/log/boa/error_log
  sudo mkdir /var/log/boa/access_log
  sudo chmod -R 777 /var/log/boa 修改权限
  sudo chmod -R 777 /var/log/boa/error_log 修改权限
  sudo chmod -R 777 /var/log/boa/access_log 修改权限
  4.8 创建CGI目录
  sudo mkdir /var/www/cgi-bin 创建cgi文件存放目录
  sudo chmod -R 777 /var/www/cgi-bin 修改权限
5.在src目录下编译
  cd ~ 返回根目录
  cd Destop/boa-0.94.13/src 切换目录
  make 编译
6.在src目录下运行boa
  sudo ./boa 必须在src目录下运行
7.查看进程
  ps -e 看boa是否已经运行
8.网页测试
  浏览器访问:http://127.0.0.1
  注意:默认端口是80,如果你的80端口已经被占用,可以修改/etc/boa/boa.conf,变更Port 80。这里对应修改:http://127.0.0.1:端口号
9.CGI程序测试
  将Destop/boa-0.94.13/examples目录下的cgi-test.cgi拷贝到var/www/cgi-bin
(现在你可以删掉boa-0.94.13.tar.gz,然后把解压后的目录boa-0.94.13放到你自己想放的地方,但是每次运行boa自己要容易找到位置。)

生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复