浅析Apache服务器中SSI和CGI设定方法
来源:asp之家 发布时间:2010-05-08 17:59:00
由于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 FilesApache。接着在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
这段 SSI 程序会去读取一个称为 hello.txt 文件,并将该文件的大小以及最近一次的修改日期输出到网页上。显然的,我们还必须在 htdocs 目录下新增这个hello.txt 文件。在我的hello.txt 文件里只有一行文字:HOW ARE YOU!。完成新增这些文件后,打开你惯用的浏览器并开启http://localhost/test.shtml网页。如果你服务器的安装并不是通过root用户,你可能必须改为开启http://localhost:8080/test.shtml。之后将得到如下结果:
HOW ARE YOU! The file hello.txt is 1k bytes long and it was last modified on Wednesday, 02-Aug-2000 20:18:28 PDT
另外一种可以激活支持SSI程序的方法称为XbitHack设定(相关资料网址:http://www.apache.org/docs/mod/mod_include.html#xbithack )。这个方法的由来是当你将文本文件的使用者可执行位(user-executable bit)设为可执行状态后,Apache会将那些文件视为 SSI 程序文件。
要激活这样的功能必须将以下指令(directive)放在所有目录的 .htaccess 文件里:XbitHack status on (or full) status 的值可以设为on 、off 或是full。on 的设定会强制服务器将所有使用者可执行的文件视为SSI项。Off则使服务器完全忽略使用者可执行的设定状态。若是设定为Full,服务器会视所有使用者可执行档为SSI项,同时也会检查组可执行(group-executable bit)。如果组可执行项设定为可执行时,传回header的last modified time的值就会被设定为该文件最近一次被修改的时间。这样的设定可以让客户端的浏览器及代理服务器(proxy)进行缓存(caching)。不过在使用这样的功能时必须要小心。例如说,如果你的网页有提供轮替式广告看板你就不会想要设定群组可执行位为开启的状态,因为那么做会让第一个下载的广告被快取起来,导致使用者再也看不到其它页的广告。
猜你喜欢
- 一套完整的WordPress模板应至少具有如下文件:style.css : CSS(样式表)文件index.php : 主页模板archiv
- 跨站脚本的名称源自于这样一个事实,即一个Web 站点(或者人)可以把他们的选择的代码越过安全边界线注射到另一个不同的、有漏洞的Web 站点中
- /*** 栏目名称调用标签* 标签编写:寂寞天涯* 时间:2008年12月13日* 标签使用说明:* {dede:channeltitle
- 据美国知名IT网站Cnet透露,Godaddy可能进军域名与虚拟主机市场,Godaddy是世界第一大域名注册商,进军主机领域以后发展迅速,据
- 我以前曾经提到过AdSense上出现腾讯QQ币骗人的广告,对于这种非法广告大家通常使用“竞争性广告过滤”屏蔽其域名,但是却屡禁不止,前几天我
- 移动设备出现这样问题的原因是由于它们完全脱离管理控制(除非你买了第三方软件)。Windows没有任何针对移动设备的群机制设置,所以用户可以很
- 一、用户体验从用户的角度来分析,色彩需求、方便导航、网站建设的网页大小、来达到用户体验提高。二、框架结构搜索引擎不支持框架结构与框架调用的,
- 虽然Google的Blogspot在国内无法访问,但对于独立域名的英文博客来说,使用Blogger还是不错的选择,不用使用托管主机,这里就介
- 许多朋友都认为:网站一旦被百度K了之后,就基本上再无恢复收录的可能。其实不然,总体上来说,百度是友好的,假如你的网站被K,肯定有被K的原因,
- 近期由于工信部的备案之风的到来,估计苦恼了很多站长,近期也发现很多网站由于没有备案而被关闭。多少站长的血泪呀!服务器IP更改对网站排名影响|
- 超好用的国产图片处理软件美图秀秀刚刚发布了2.0.6新版,在原有众多功能的基础上继续优化,也更为稳定的支持Windows 7系统。如果你还没
- 花好几百买的空间,架起了自己的博客或网站,有没有想过自己的博客和网站价值是不是比自己每年的空间成本要高呢?今天要向大家推荐一个专业实时为您的
- 我们知道,美国Yahoo公司早在去年三月份就宣布全球免费邮箱@Yahoo.COM将升级到不限量空间,不过日本和中国市场除外。昨天读者Geor
- 反向链接、网站结构优化、关键词布置,并列搜索引擎优化三 * 门,其中,反向链接的获得往往是做SEO的朋友最感头痛的。芋头在这里总结了最实用的七
- “腾讯TT”具有亲切、友好的用户界面,腾讯TT”不仅提供了完善的多页面浏览功能,
- 1. 为什么选择Godaddy呵,本来选择的是Lunerpages, 结果下了订单人民币付款总不成功,就转向了Godaddy. 当然Goda
- 万众期盼已久的WCG中国成都世界电子竞技总决赛将于今日开幕,来自全国成千上万的电竞迷们,今日已经将新会展附近的酒店全部挤满。昨日,记者来到了
- 一。域名管理面板1。在Godaddy账户中点击Domain manage进入域名管理2。域名管理界面如下面两个图片所示,左侧是管理选项,右侧
- 发布商都很关注收入的波动问题,今天我们就帮大家深入分析一下如何知道收入波动的背后原因,并采取相应的措施。首先,大家都知道,AdSense 收
- 小广告主现在获得了对在线广告产生巨大影响的机会。ContextWeb(一家文本广告)公司于10月17日发布了最新ADSDAQ广告交换平台。A