WEB服务器上的/home/httpd/public/apps/li.cgi文件。
第三步:为CGI目录设置合适的权限,一般是只允许Apache有读取和执行的权限
但没有写的权限。
允许用户访问cgi-bin
我们已经在4.5小节中介绍了如何给用户开辟个人主页空间,但如果你的
用户需要使他的主页更具有活力,往往会向你申请cgi-bin访问服务。下面我们
就介绍一个Apache服务器为用户提供的两种cgi-bin访问方法。
1)使用Directory或DirectoryMatch容器
当在配置文件srm.conf中用UserDir命令被赋值为目录名称时,Apache就
把它作为用户WWW站点的顶层目录。例如:
UserDir Public_html
当Apachewww.xxx.com/~user的请求,就到/home/user/Public_html取出主页发
送给客户。
如果要为每个用户添加CGI支持就在Apache的配置文件access.conf中添加下列
配置:
<DirectoryMatch "/home/[a-z]+/public_html/cgi-bin">
Options ExecCGI
AddHandler cgi-script .cgi .pl
</DirectoryMatch>
注:将DirectoryMatch换成Directory亦可
在这种方法中,Apache服务www.xxx.com/~user/cgi-bin请求翻译成为了
/home/user/Public_html/cgi-bin/,并允许执行任何带有正确扩展名(.cgi
或.pl)的CGI程序。
使用ScriptAliasMatch命令
通过使用ScriptAliasMatch命令,也可以为每个用户添加CGI支持。例如:
ScriptAliasMatch ~([a-z]+)/cgi-bin/(.*)
/home/$1/public_html/cgi-bin/$2
这个命令将用户名与$1相匹配,其中$1与~([a-z]+)相等。将/cgi-bin/后面的
任何内容与$2相匹配,其中$2与(.*)相等。
这个设置也就实现www.xxx.com/~user/cgi-bin/xxx.cgi请求解释为: