我已通过 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”。