boa服务器的移植
Ubuntu端移植
1.源码下载:boa官网
2.解压文件,并进入./boa-0.94.13/src目录
tar-xvfboa-0.94.13.tar.gzcdboa-0.94.13/src3.执行./configure配置编译环境
./configure4.修改两处源码,以防编译报错,然后make
第一处:
tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$vicompat.h +120
将这一行改为:
#defineTIMEZONE_OFFSET(foo)(foo)->tm_gmtoff第二处:
tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$viboa.c +225注释如图所示的区域代码:
然后尝试下make
tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$make5.创建boa的目录
tong@tong-virtual-machine:~$pwd/home/tong tong@tong-virtual-machine:~$mkdirboa tong@tong-virtual-machine:~$cdboa/ tong@tong-virtual-machine:~/boa$mkdircgi-bin www log6.修改boa.conf配置文件
tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13$viboa.conf需要修改的部分如下:
Port80User0Group0ErrorLog /home/tong/boa/log/error_log AccessLog /home/tong/boa/log/access_log DocumentRoot /home/tong/boa/www UserDir public_html DirectoryIndex index.html DirectoryMaker /home/tong/boa/boa_indexer KeepAliveMax1000KeepAliveTimeout10MimeTypes /home/tong/boa/mime.types ScriptAlias /cgi-bin/ /home/tong/boa/cgi-bin/7.修改defines.h配置文件
tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$pwd/home/tong/linux/tool/boa_server/boa-0.94.13/src tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$videfines.h +30
箭头处改成:
#defineSERVER_ROOT"/home/tong/boa"8.编译
tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$makeclean tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$make9.将编译得到的文件移动到你新创建的boa目录下
tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$sudocp/etc/mime.types /home/tong/boa/ tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$cpboa /home/tong/boa tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$cpboa_indexer /home/tong/boa tong@tong-virtual-machine:~/linux/tool/boa_server/boa-0.94.13/src$cp../boa.conf /home/tong/boa10.实现CGI测试文件
tong@tong-virtual-machine:~/boa/cgi-bin$pwd/home/tong/boa/cgi-bin tong@tong-virtual-machine:~/boa/cgi-bin$touchtest.c tong@tong-virtual-machine:~/boa/cgi-bin$vitest.c tong@tong-virtual-machine:~/boa/cgi-bin$ gcc test.c-otest.cgitest.c内容
#include<stdio.h>intmain(){printf("Content-type:text/html\n\n");//这句一定要加上printf("<html><body>");printf("<font style=\"color:red; font-size:30px;\">Hello, BOA server!</font><br/>");printf("<a href=\"/index.html\">return index.html</a>");printf("</body></html>");return0;}11.实现HTML页面测试文件
tong@tong-virtual-machine:~/boa/www$pwd/home/tong/boa/www tong@tong-virtual-machine:~/boa/www$touchindex.html tong@tong-virtual-machine:~/boa/www$viindex.htmlindex.html内容
<html><body><h1>this is a boa server test!</h1><br/><imgsrc="image.jpg"/><h3>tree picture</h3><br/><ahref="/cgi-bin/test.cgi">to cgi page</a></body></html>image.jpg 随便找一张图片,放在当前目录
注意image.jpg权限
tong@tong-virtual-machine:~/boa/www$chmod775image.jpg然后到此位置移植完成,开始测试
12.测试
sudo./boa tong@tong-virtual-machine:~/boa$ps-ef|grepboa tong16451150018:58 ? 00:00:00 /usr/libexec/gsd-keyboard root83751150020:39 pts/0 00:00:00 ./boa tong83778027020:39 pts/0 00:00:00grep--color=auto boa然后我们打开浏览器,输入127.0.0.1,然后测试网页.
到此Ubuntu端移植结束。
ARM端移植
ARM板以IMX6ULL型号为例子。这部分参考博客是boa服务器的移植
其中前三步与Ubuntu一致。在第4步中,额外注释以下内容。
然后在板子的目录下创建与Ubuntu中相同的文件夹
然后修改boa.conf配置文件,注意路径要和你板子boa路径一致。
需要修改的部分如下(基本与Ubuntu一样,只有一行新加):
ServerName 192.168.1.50板子IP地址,直接在最后一行加这行。
Port80User0Group0ErrorLog /home/tong/boa/log/error_log AccessLog /home/tong/boa/log/access_log DocumentRoot /home/tong/boa/www UserDir public_html DirectoryIndex index.html DirectoryMaker /home/tong/boa/boa_indexer KeepAliveMax1000KeepAliveTimeout10MimeTypes /home/tong/boa/mime.types ScriptAlias /cgi-bin/ /home/tong/boa/cgi-bin/ ServerName192.168.1.50修改defines.h配置文件与Ubuntu步骤一样,注意地址要是板子实际文件地址。
然后修改MakeFile文件。
先查看交叉编译器是否存在:
tong@tong-virtual-machine:~/linux/tool/boa-0.94.13/src$ arm-linux-gnueabihf-gcc-v然后打开Makefile
tong@tong-virtual-machine:~/linux/tool/boa-0.94.13/src$viMakefile修改为如图所示:
然后make编译,剩下的步骤和Ubuntu上一致。注意网页上输入的是板子IP地址。