您的位置:首页 > 运维架构 > Apache

Ubuntu下配置apache2和perl cgi

2013-09-07 21:25 316 查看
Howto:Ubuntu下配置apache2和perl cgi

Howto:Ubuntu下配置apache2和perl
cgi
By
fire3on Jun 15, 2007 in
Linux|
Edit
Table of Contents
1
修改apache2配置文件
2
安装mod_perl默认包
3
相关配置
4
测试配置成功与否
如何在Ubuntu安装apache2可以参考这篇文章。本文主要指导简单配置apache2和perl的cgi程序运行环境。
1 修改apache2配置文件
将/etc/apache2/apache2.conf 文件打开,找到如下内容:
#AddHandler
cgi-script .cgi
修改成:
AddHandler cgi-script .cgi .pl
如果你打算偷懒,那么直接复制下面的代码好了。
cd /etc/apache2

sudo sed 's/#AddHandler cgi-script .cgi/AddHandler cgi-script .cgi .pl/g' apache2.conf > ~/temp

sudo mv ~/temp apache2.conf2 安装mod_perl默认包
sudo
apt-get
installlibapache2-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/

<Directory "/usr/lib/cgi-bin">

\AllowOverride None

Options ExecCGI -\MultiViews +\SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>
这就是问题根源所在。我们可以修改这个目录,指向自己创建的一个目录,也可以留着它,自行添加一个目录。

可以不必如它那么复杂,用这样的格式:
\ScriptAlias /cgi/ /home/*/src/perl/cgi-bin/

<Directory /home/*/src/perl/cgi-bin>

Options ExecCGI

\SetHandler cgi-script

</Directory>
这个格式的意思是定义一个 http://localhost/bin
的虚拟目录,指向/home/*/src/perl/cgi-bin/ 这个实际的目录,并且目录下所有的东西都认为是cgi程序。
不想把所有的东西都当成cgi程序?那就改成这样:
\ScriptAlias /cgi/ /home/*/src/perl/cgi-bin/

<Directory /home/*/src/perl/cgi-bin>

Options +ExecCGI

\AddHandler cgi-script .cgi .pl

</Directory>
只把后缀是cgi和pl的文件当做cgi程序。
4 测试配置成功与否
保存一个如下内容的文件,比如命名为 helloworld.pl 文件到定义的cgi文件夹中。
#!/usr/bin/perl

print "Content-type: text/html\n\n";

print "Hello, World.";
然后赋予可执行权限
sudo chmod a+x helloworld.pl
最后重启一下apache2
sudo /etc/init.d/apache2 restart

浏览器地址栏里输入:http://localhost/cgi-bin/helloworld.pl

,看到了Hello,World. 至此我们大功告成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: