当前位置: 首页 > 图文教程 > 服务器 > Web服务器 > 浅析Apache中SSI和CGI的设定方法

Web服务器
增强WEB服务器IIS安全性的五个简单有效措施
图解Web服务器和FTP服务器安全配置[1]
linux操作系统下的域名解析系统设置
WEB专用服务器的安全设置技巧
Win Server 2003个人网络服务器安全攻略
在WIN2000系统下安装JSP服务器
保护WEB服务器的15个技巧
Windows下打造完美的服务器平台
使用IIS 5.0调整Web服务器的艺术与科学
如何架设基于windows XP的Web服务器
WEB服务器流量超负载:如何分散解决
另僻蹊径 通过IIS高效管理Web服务器
国外空间出现乱码的几种解决办法
使用反向代理技术保护Web服务器
网络应用 介绍并分析P2P流量识别与监测
针对Web服务器的八种攻击方式
用ubuntu server8.10做php-web服务器
PHPNow服务器套件安装
Windows 2003 Server安全配置指南
Microsoft Windows 2003集群攻略

Web服务器 中的 浅析Apache中SSI和CGI的设定方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 33 ::
收藏到网摘: n/a

由于Apache具有相当高的可移植性,它支持超过30种操作系统,包括Unix、Windows 及Darwin等系统,所以目前在网络上已注册的网域里大部份是使用Apache网页服务器。目前ApacheSoftware Foundation 正致力于发展现在已进入alpha测试阶段的Apache2.0。在这里,我和大家探讨如何修改服务器选项让服务器能提供简单的动态网页内容,也就是支持CGI程序及 Server-Side Include(SSI)程序。

  1、准备工作

  首先,我假设你已经安装好Apache而且你的Apache能提供静态网页供浏览。Apache的安装会自动附上静态的HTML测试页,也就是说如果能看到那测试页,就代表你的Apache能正常运作了。基本安装下的Apache仅能提供静态的HTML网页。然而,你可以通过使用模块(modules)来提升它的功能。在原始的设定下,Apache的编译会包含mod_include 及 moc_cgi 这两个模块。你可以在bin子目录下执行./httpd -l来查看你的Apache是否装有这两个模块。执行的输出会是一长串Apache现在安装的所有模块。如果mod_include及moc_cgi 这两个模块不在清单里,你必须重新编译服务器。重新编译时,确定依照如何含括 mod_include、moc_cgi 模块的说明。此外你还必需有提供实时网页的Server-Side Includes(相关资料网址:http://www.oreilly.com/catalog/apache/excerpt/ch10.html)。有了 server-side includes (SSI)支持,你就能制作出实时的动态网页。接下来,我先从服务器的SSI支持设定开始,然后进入CGI的编写。

2、Apache的设定

  首先你必须先找到Apache这个设定文件。Apache的原始安装目录在 Unix下是/usr/local/apache,在Windows下则是 c:\Program Files\Apache。接着在conf子目录下你会找到httpd.conf 文件。这就是Apache的设定档。这个设定文件是个纯文字文件,所以你可以使用一般的文字编辑器,如vi或Notepad 等,来编辑。首先要注意的是在这个设定档里有些行的起始文字是#符号,这表示这行的文字全为批注。适当地在你的设定档内做批注是个好习惯,因为那帮你记得你曾做了哪些设定以及为什么。

  3、执行 SSI 程序

  开启设定文件并寻找以下这些文字:

  #
  # To use server-parsedHTMLfiles
  #
  #AddType text/html .shtml
  #AddHandler server-parsed .shtml

  删除AddType及AddHandler这两行指令前的#符号。AddType指令会要求服务器在传回任何附属档名为.shtml的网页时,以 text或HTML做为传回文件的内容格式。AddHandler 则是用来指示服务器将文件内容送交给mod_include 处理。之后,mod_include 就会判断该如何响应这样的文件。接下来,寻找以下文字:

  在这行文字及对应的 间会有一行选项行(options line)。原始的设定是:

  Options Indexes FollowSymLinks MultiViews

  在这行尾端加上Includes ,结果看起来会是这样:

  Options Indexes FollowSymLinks MultiViews Includes

  这是要求Apache在htdocs子目录里执行 server-side includes 程序。为了让这些修改生效,我们必须重新启动服务器。在 Unix 下重新激活,执行"kill -HUP `cat /usr/local/apache/logs/httpd.pid`"。在 Windows 下,执行"Apache-k restart"。现在我们来试试刚才的设定结果。在/usr/local/apache/htdocs 目录里新增一个文件 test.shtml。这个文件必须要包含以下程序代码:

  The file hello.txt is long and it was last modified on