精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● CGI>>系统安装>>Linux的APACHE服务器上配置CGI的方法

主题:Linux的APACHE服务器上配置CGI的方法
发信人: mark7312(小马哥)
整理人: workingnow(2002-09-30 11:50:46), 站内信件
在apache里有两种配置执行CGI程序的方法:
 
方法一:(把特定的目录指定为CGI执行目录) 
  在这种方法里,指定目录下的所有文件都会被认为是CGI脚本而执行,而且一般来说该目录为不可写属性,这就意味着这个目录下不能放置除CGI脚本以外的.html网页或.txt数据文件,这种方法由于管理方便,为大多数管理员使用,设置的方法如下:

在conf/http.conf文件中加入如下语句:

ScriptAlias /cgi-bin/ "/home/www/cgi-bin/"
ScriptAlias   "/home/www "
。。。。。。。
。。。。。。。
同时设置该目录的属性(禁止写及列表)
< Directory "/home/www/cgi-bin">
AllowOverride None
Options None
< /Directory>

以上设置方法为大多数作虚拟主机的服务器设置所使用。

 

方法二: (把特定的文件后缀作CGI脚本执行) 
  这种方法是把特定的后缀作CGI文件处理,例如:.cgi .pl .sh等,当这些文件被请求的时候,服务器会作执行处理而不把内容直接返回浏览器。
  这种方法对于只有小数用户的服务器来说,使用很方便,不过安全行相应降低。如果你的服务器只有你自己使用,且安全性很高,则建议你采用这种设置方法:

在conf/httpd.conf(1.3.9以后的版本) 或conf/srm.conf(1.3.9以前的版本)文件中作如下修改:

#AddHandler cgi-script .cgi .pl (把该行语句前头的&acute;#&acute;去掉,增加.pl的后缀)

在conf/httpd.conf(1.3.9以后的版本) 或conf/access.conf(1.3.9以前的版本)添加需要执行CGI的目录属性:

< Directory "/home/*/public_html/cgi-bin">
Options ExecCGI
AllowOverride None
< /Directory>

上述方法令所有用户的cgi-bin目录下的.cgi.pl文件均可被执行。

采用这种方法设置CGI使用会方便些,特别有一些CGI程序采用.cgi文件作密码文件,采用这种设置,密码文件不会被列出,但是系统的安全性较第一种差。




----
小马哥

美丽的梦和美丽的诗一样,都是可遇而不可求的,
常常在最没能料到的时候里出现
     

[关闭][返回]