在VMware上利用Ubuntu 16.04.LTS搭建Boa web服务器作为一个初学的菜鸟,第一次搭建web服务器,搭的还是最为简单的boa服务器,在网上是各种找资料啊,参考了如CSDN博客、Linux公社、博客园等诸多有名的网站,用了小半周才勉强弄出来,许多地方其实还是不太理解,只是用网上的方法搭建出来,结合自己搭建的过程,写了这么一篇文档,还希望各位大神老师批评指正,下面就是我自己的一个搭建过程。
一、在虚拟机上安装Ubuntu16Ubuntu16的百度云连接https:///s/1o87P78Q运行VMware,点击创建新的虚拟机,选择“典型”,点击“下一步”选择“稍后安装操作系统”,点击“下一步”客户机操作系统选择“Linux”,版本选择“Ubuntu 64位”,点击“下一步”填写虚拟机名称,选择保存位置,点击“下一步”点击“下一步”,点击“完成”此时会出现一个新的页面,页面名称就是虚拟机名称点击“编辑虚拟机设备”开始对虚拟机硬件设备进行更改,修改网络配适器,选择自定义(u):特定虚拟网络,下面选择VMnet8(NAT模式),点击“确定”在CD/DVD选项中选择“使用ISO映像文件”,通过储存好的路径打开ISO映像文件,点击“确定”点击开启此虚拟机,此时可能会出现对话框说虚拟机版本不兼容,这时需要重新启动电脑,比如我的电脑本身装的为windows7 则应该重新启动windows7,按esc,然后按F10进入BIOS 系统选择“系统设置” 用左右键选择“处理器虚拟化技术”按回车键选择“启用”,按回车键,按F10保存并退出。
(每个人电脑不一样,依据自己的电脑进行改变)运行VMware,点击开启此虚拟机,语言改为中文简体,点击安装Ubuntu直接点击Continue,不进行选择选择Erase disk and install Ubuntu 使用Ubuntu默认的分区,自己不进行分区,点击Install Now,点击Continue选择你的所在地,选择键盘语言,填写用户名,主机名和密码Ubuntu开始安装,时间大约为2~3个小时,请耐心等待,完成后会提示重启,点击“Restart Now”关机,然后点击“编辑虚拟机设备”,在CD/DVD选项中选择“使用物理驱动器”,点击确定,然后关机然后重新进入Ubuntu16此时的Ubuntu16的屏幕非常小,打开终端,输入xrandr结果为然后输入xrandr -s 1280x768注意中间那个是字母x但是这个只是修改当前一次的,如果想一直修改,需要修改其配置文件/home/namo/.profile,利用gedit /home/namo/.profile打开文件,在文件末尾输入Sudo xrandr --newmode “1280x768_60.00”173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsyncSudo xrandr --addmode Virtual1 “1280x768_60.00”保存并退出此时如果进行su操作的话,会发现认证失败,需要重新更改密码,在终端输入sudo passwd 然后输入当前密码,此时终端会让我们输入新的密码并再次确认,新的密码可以和上一个密码相同,也可以不同,这样密码就更改完了。
此时,一个可用的Ubuntu16在虚拟机上就已经搭建完成了。
二、搭建交叉编译环境此时的Ubuntu里还没有git命令于是利用apt-get 进行下载,这里需要说明一下Ubuntu12以上的版本才可以进行apt-getSudo apt-get install git,输入密码,遇到问题键入y就可以安装git命令因为Ubuntu为64位,而交叉编译为32位,不兼容,所以要安装32位库sudo apt-get install libc6:i386sudo -icd /etc/apt/sources.list.decho "deb /ubuntu/ raring main restricted universe multiverse" >i a32-libs-raring.listapt-get install ia32-libsexitsudo apt-get install gcc-multilib输入密码,遇到问题键入y便可以安装。
然后输入git clone https:///xupsh/CodeSourcery.gitEcho “export PATH=~/CodeSourcery/bin:$PATH” >> ~/.bashrcEcho “export CROSS_COMPILE=arm-xilinx-linux-gnueabi-” >> ~/.bashrc此时交叉编译环境已经搭成,利用arm-linux-gcc -v检验是否搭建成功,如果成功,会出现版本文件三、web服务器搭建搭建web前应该先做好前期准备su,输入密码Apt-get install m4Apt-get install libpcapApt-get install flexApt-get install bison遇到问题键入y,便可以安装,在/home/namo/下新建一个文件夹web2,输入命令Mkdir web2git clone https:///xupsh/boa.gitCd boa/src/Chmod 755 ./configure./configureMake cc=arm-xilinx-linux-gnueabi-gcc cpp=arm-xilinx-linux-gnueabi-g++修改boa.conf文件Gedit boa.confPort 80改为Port 8090、user Group后面为0、Errorlog /var/log/boa/error_log、Accesslog /var/log/boa/access_log、DocumentRoot /mnt/www、#DirectoryMaker /usr/lib/boa/boa_indexer、#DirectoryCache /var/spool/boa/dircache、KeepAliveMax 1000、KeepAliveTimeOut 10、MimeTypes /etc/mime.types、CGIPath /bin:/usr/bin:/usr/local/bin、#AddType application/x-httpd-cgi cgi、Alias /doc /usr/doc、ScriptAlias /cgi-bin/ /var/www/cgi-bin/修改完boa.conf文件后,需要对boa服务器进行部署,先创建相关文件夹SuMkdir /etc/boa/ /var/log/boa /var/www/cgi-binCp ~/web2/boa/boa.conf /etc/boa/Cp ~/web2/boa/mime.type /etc/Touch /var/log/boa/error_log /var/log/boa/access_logCp ~/web2/boa/src/boa root/修改web配置文件web2/boa/src/log.cGedit 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”);}*/然后重新进行makeMake cc=arm-xilinx-linux-gnueabi-gcc cpp=arm-xilinx-linux-gnueabi-g++然后在/web2/boa/src下输入./boa会出现Boa服务器搭建成功此时在/var/www下编写index2.html文件其源码为<html><head><title>ZedBoard Webserver Demo </title></head><body><h1>ZedBoard Webserver Demo</h1><p><a href=”./cgi-bin/try2.cgi”>cgi in the boa server </a></p></body></html>再在/var/www/cgi-bin下编辑try.c文件#include<stdio.h>Int main(){ Printf(“Content-Type:text/html \r\n\r\n”);Printf(“<html><head>\n”);Printf(“<title>cgi </title>\n”);Printf(“</hea d>\n”);Printf(“<body>\n”);Printf(“<h1>hello world</h1>\n”);Printf(“<p>this is my first web</p>\n”);Printf(“</body></html>\n”);Return 0;}Gcc try.c -o try2.cgi之后打开火狐浏览器(Ubuntu自带的)输入地址127.0.0.1:8090/cgi-bin/try2.cgi此时出现如下界面,表示boa web服务器搭建成功。
最后感谢各位写博客的大神,谢谢各位亲。