搭建WEB服务器BOA+CGIC的曲折过程

来源:互联网 发布:win10 看图软件 编辑:程序博客网 时间:2024/05/16 06:29

之前已经在嵌入式系统中成功安装并且配置了web服务器,并且能够成功CGI程序。

现在在自己的虚拟机上安装boa时遇到了不少麻烦。

 

方法1,将虚拟机联网,通过apt-get install boa安装,提示E:无法找到软件包项目;

察看/etc/apt下sources.list文件内容为:

# cat /etc/apt/sources.list
deb cdrom:[Debian GNU/Linux 5.0.3 _Lenny_ - Official i386 DVD Binary-1 20090905-08:48]/ lenny contrib main
# deb ftp://debian.ustc.edu.cn/debian/ stable main contrib
# deb http://debian.cn99.com/ lenny main contrib
# deb http://ftp.sjtu.edu.cn/debian lenny main contrib
# Line commented out by installer because it failed to verify:
# deb-src http://security.debian.org/ lenny/updates main contrib
# Line commented out by installer because it failed to verify:
# deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib
# Line commented out by installer because it failed to verify:
# deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib

 

然后更改文件内容为:

# deb cdrom:[Debian GNU/Linux 5.0.3 _Lenny_ - Official i386 DVD Binary-1 20090905-08:48]/ lenny contrib main
deb ftp://debian.ustc.edu.cn/debian/ stable main contrib
deb http://debian.cn99.com/ lenny main contrib
deb http://ftp.sjtu.edu.cn/debian lenny main contrib
# Line commented out by installer because it failed to verify:
deb-src http://security.debian.org/ lenny/updates main contrib
# Line commented out by installer because it failed to verify:
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib
# Line commented out by installer because it failed to verify:
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib

发现问题依然存在。

 

之后使用

apt-get update

apt-get upgrade -u

后一直在更新,时间很晚就去睡觉了。

 

第二天早上起来后发现更新完了,再次运行apt-get install boa发现安装成功了

:/# apt-get install boa
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列【新】软件包将被安装:
  boa
共升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 230 个软件未被升级。
需要下载 119kB 的软件包。
解压缩后会消耗掉 258kB 的额外空间。
获取:1 http://ftp.sjtu.edu.cn lenny/main boa 0.94.14rc21-3 [119kB]
下载 119kB,耗时 0s (272kB/s)
选中了曾被取消选择的软件包 boa。
(正在读取数据库 ... 系统当前总共安装有 119433 个文件和目录。)
正在解压缩 boa (从 .../boa_0.94.14rc21-3_i386.deb) ...
正在处理用于 man-db 的触发器...
正在设置 boa (0.94.14rc21-3) ...
Starting HTTP server: boa.

安装目录如下:

:/# dpkg -L boa
/.
/usr
/usr/sbin
/usr/sbin/boa
/usr/lib
/usr/lib/boa
/usr/lib/boa/boa_indexer
/usr/lib/cgi-bin
/usr/lib/cgi-lib
/usr/share
/usr/share/doc
/usr/share/doc/boa
/usr/share/doc/boa/README
/usr/share/doc/boa/boa.html
/usr/share/doc/boa/boa_banner.png
/usr/share/doc/boa/README.Debian
/usr/share/doc/boa/copyright
/usr/share/doc/boa/examples
/usr/share/doc/boa/examples/nph-test.cgi
/usr/share/doc/boa/examples/resolver.pl
/usr/share/doc/boa/examples/cgi-test.cgi.gz
/usr/share/doc/boa/boa.texi.gz
/usr/share/doc/boa/changelog.Debian.gz
/usr/share/doc/boa/changelog.gz
/usr/share/info
/usr/share/info/boa.info.gz
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/boa.8.gz
/etc
/etc/boa
/etc/boa/boa.conf
/etc/logrotate.d
/etc/logrotate.d/boa
/etc/init.d
/etc/init.d/boa
/var
/var/www
/var/log
/var/log/boa

boa安装成功后能够在联网的机器其他机器下访问/var/www/htding目录,并且都是已文件形式访问。

此时/var/www/下只有htding一个目录。

 

下面介绍CGIC的使用,先下载CGIC这里使用的是205版本的。

然后编译该包生成了库(libcgic.a)和测试程序(cgictest.cgi)

将库复制到/usr/lib/cgi-lib下;将测试程序复制到/var/www下

这是在浏览器中访问网站,依然显示的是/var/www目录下的内容,不过测试程序是作为文件保存的不能运行。

 

然后再/var/www目录下新建了 cgi-bin目录,将测试程序移动到该目录下,

再次浏览发现可以作为程序运行但是网页不能显示。

 

复制capture和cgictest.cgi程序到/usr/lib/cgi-bin目录下再次运行程序,成功。

注意/etc/boa/boa.conf中的最后一行

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

映射执行目录。

 

1.  相关文件

Ø         /etc/boa/boa.conf

Ø         /usr/src/cgic205 CGIC支持库源代码目录

Ø         /usr/lib/cgi-bin/

Ø         /usr/lib/cgi-lib/

2.  配置说明

Ø       DocumentRootHTML文件的根目录(也就是网站的目录)。

3.  应用开发

Ø       基于CGI的程序开发:支持C语言开发的程序库CGIC

Ø       更改cgictest.c文件,编译生成cgictest.cgi程序,将该程序覆盖在/usr/lib/cgi-bin/目录下即可

Ø       IE上输入该地址http://192.168.10.1/cgi-bin/cgictest.cgi即可打开测试该程序

Ø        

4.  CGIC环境变量

Ø       QUERY_STRING 传递给程式的 query 资讯

Ø       REMOTE_HOST 使用者发出 request 的远端 host 名称

Ø       REMOTE_ADDR 使用者发出 request 的远端 IP 位址

Ø       AUTH_TYPE 用来确定使用者合法性的监定方法

Ø       REMOTE_USER 使用者的合法名称

Ø       REMOTE_IDENT 发出 request 的使用者

Ø       CONTENT_TYPE query 资料中的 MIME 型别

Ø       CONTENT_LENGTH 资料长度, byte 或字元数来计算

Ø       HTTP_FORM 使用者发出 request 的电子邮件讯息

Ø       HTTP_ACCEPT client 可以接受的 MIME 型别列表

Ø       HTTP_USER_AGENT client 用来发出 request 的浏灠器

Ø       GATEWAY_INTERFACE Server 使用的 CGI 版本

Ø       SERVER_NAME Server host 名称或 IP 位址

Ø       SERVER_SOFTWARE 回应 client request Server 软体名称和版本

Ø       SERVER_PROTOCOL 传递资讯所用的协定名称或版本

Ø       SERVER_PORT Server 正在执行的 port number

Ø       REQUEST_METHOD 发出 request 的方法

Ø       PATH_INFO 传递给 CGI 程式的额外路径

Ø       PATH_TRANSLATED 存在 PATH_INFO 中的给定路径的传递版本

Ø       SCRIPT_NAME 程式执行时的 virtual path

Ø       DOCUMENT_ROOT 网路提供的文件服务所在路径

Ø       HTTP_REFERER 在读取 CGI 程式前,client 所指的文件 URL

 

原创粉丝点击