在 Apache 2.2.14(Ubuntu10.04)上安装 mod_perl2

在 Apache 2.2.14(Ubuntu10.04)上安装 mod_perl2

我已通过 synaptic 软件包 ibapache2-mod-perl2 进行安装。我尝试在 httpd.conf 中输入以下行:“ LoadModule perl_module modules/mod_perl.so”Apache 在我重新加载服务器时告诉我:“ [warn] module perl_module is already loaded, skipping”。好吧,但是当我尝试在浏览器中查看目录时,我无法访问。Apache 向我发送了错误:

Forbidden
You don't have permission to access /cgi-bin/ on this server.
Apache/2.2.14 (Ubuntu) Server at 192.168.0.10 Port 90

但这应该显示 modperl 已安装,但事实并非如此......

我希望我的虚拟主机使用 mod_perl2 运行

<VirtualHost v1:80>
    ServerAdmin webmaster@localhost
    ServerName v1

    DocumentRoot /var/www/v1
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/v1/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /var/www/v1/cgi-bin/
    <Directory "/var/www/v1/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

我想知道如何配置 mod_perl2。我是否需要在 apache 配置文件中更改某些内容才能使我的 cgi 库与 mod_perl2 配合使用?谢谢大家的帮助!

答案1

您的问题似乎与用户权限有关。请确保您尝试以 CGI 脚本形式运行的脚本可由所有用户或应执行这些脚本的用户执行,即:

chmod a+x /var/www/v1/cgi-bin/test.pl

重要的是要认识到您想要运行的脚本必须设置“x”权限位 - 以及“r”(读取)。

答案2

我是否必须在 apache 配置文件中更改某些内容才能使我的 cgi 目录与 mod_perl2 一起工作?

mod_perl2 运行良好。Apache 无法将目录作为脚本调用。

测试创建(/var/www/v1/cgi-bin/test.pl):

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Test";

并尝试“/cgi-bin/test.pl”。

相关内容