概述:如果想让apache执行perl之类的网页程序,就需要安装一些额外的模块。建议最好安装一下mod_perl与mod_python这两个软件。默认如果想执行CGI程序,就必须把程序放在/var/www/cgi-bin/目录下,如果想要在其他目录下也能执行CGI,就需要另外设置了。
目的:
1、使/var/www/html/cgi目录可以执行CGI程序
2、使虚拟主机目录也支持 cgi程序运行
步骤:
第一种目的第一种方法:(使用Options参数设置)
1)配置http.conf配置文件
[root@www ~]# vi /etc/httpd/conf/httpd.conf
#找到下面这一行,
#AddHandler cgi-script .cgi
#将它改为如下模样,让扩展名为.pl 的文件也能执行
AddHandler cgi-script .cgi .pl
#把如下这一行,添加index.cgi首页,改为如下模样
DirectoryIndex index.html index.cgi index.html.var
#然后加入如下这几行来决定开放某个目录的CGI执行权限
<Directory "/var/www/html/cgi/">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#重启apache
[root@www ~]# apachectl restart
2)新建测试页面
[root@www ~]#vi /var/www/html/cgi/index.cgi
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print "<html><body>";
print "Hello,World!CGI is working!<br>";
print "</body></html>";
接下来只要让CGI程序具有x权限,那么就可以执行了,把刚才新建的测试页面添加执行权限
[root@www ~]# chmod a+x /var/www/html/cgi/index.cgi
打开游览器,输入http://您的主机名称/cgi/就可以访问了
第一种目的第二种方法(使用ScriptAlias功能)
可以直接利用文件名的别名来处理
[root@www ~]# vi /etc/httpd/conf/httpd.conf
#同样找到下面这一行,
#AddHandler cgi-script .cgi
#将它改为如下模样,让扩展名为.pl 的文件也能执行
AddHandler cgi-script .cgi .pl
#把如下这一行,添加index.cgi首页,改为如下模样
DirectoryIndex index.html index.cgi index.html.var
#在文件末尾增加此行
ScriptAlias /cgi/ "/var/www/html/cgi/"
然后重启apache
[root@www ~]# apachectl restart
这种方法非常简洁,因为该目录不需要在apache首页目录下也成功。
上述两种方法可以随意选取一个进行处理,不需要两个都进行
让虚拟主机也支持CGI
[root@www ~]# vi /etc/httpd/conf/httpd.conf
#在此文件末增加下面语句
<Directory "/home/*/public_html/cgi/">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
[root@www ~]# vi /etc/httpd/conf.d/VirtualHost.conf
#在此文件增加如下几行,如没有此文件,请新建
<VirtualHost *:80>
ServerAdmin vsftptest@15099.net
DocumentRoot /home/vsftptest/public_html/
ServerName vsftptest.15099.net
</VirtualHost>
然后重启apache
[root@www ~]# apachectl restart
关于如何构建虚拟主机,请访问在vps主机虚拟主机设置
请参考第一种目的第一种方法的第2步,/home/vsftptest/public_html/cgi建立测试页面。
这样就你可以使用游览器访问http://vsftptest.15099.net/cgi/里的cgi文件了

没有评论:
发表评论