1 修改apache2配置文件
将/etc/apache2/apache2.conf 文件打开,找到如下内容:
#AddHandler cgi-script .cgi
修改成:
AddHandler cgi-script .cgi .pl
我在apache2.conf找了半天没找到#AddHandler cgi-script .cgi这句话,所以网上找了一下,运行下列代码:
cd /etc/apache2
sudo sed 's/#AddHandler cgi-script .cgi/AddHandler cgi-script .cgi .pl/g' apache2.conf > ~/temp
sudo mv ~/temp apache2.conf
好了,apache2.conf 配制好了
2 安装mod_perl默认包
sudo apt-get install libapache2-mod-perl2
3 相关配置
默认安装好后,cgi-bin的目录默认指向 /usb/lib/cgi-bin/目录。而安装apache2的时候这个目录一般是不会自动创建的。之所以选择这个目录,原因在下面这个文件:
/etc/apache2/sites-enabled/000-default
该文件是个链接,指向
/etc/apache2/sites-available/default
打开看看,里面有这样的一段,把cgi-bin目录指向了实际的/usr/lib/cgi-bin/目录。
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options ExecCGI -\MultiViews +\SymLinksIfOwnerMatch
Order allow,deny
Allow from all
这就是问题根源所在。我们可以修改这个目录,指向自己创建的一个目录,也可以留着它,自行添加一个目录。
可以不必如它那么复杂,用这样的格式:我的目录如下
ScriptAlias /cgi/ /var/www/cgi-bin/
Options ExecCGI
SetHandler cgi-script
#AddHandler cgi-script .cgi .pl .py
#只是将.cgi .pl .py为后缀的文件认为是cgi文件
这个格式的意思是定义一个
的虚拟目录,指向/home/*/src/perl/cgi-bin/ 这个实际的目录,
4 测试配置成功与否
保存一个如下内容的文件,比如命名为 helloworld.pl 文件到定义的cgi文件夹中。
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";
然后赋予可执行权限
sudo chmod 755 helloworld.pl
最后重启一下apache2
sudo /etc/init.d/apache2 restart
在浏览器地址栏里输入:
或者
然后看到Hello,World.说明运行成功
阅读(2272) | 评论(0) | 转发(0) |