apache 不执行 perl 源

apache 不执行 perl 源

我需要为 Asterisk 语音邮件启用 Web 界面。为此,我将 Perl 脚本从 asterisk 目录放入 /var/www/vmail。然后启动 Apache2。
但是当我转到 localhost/vmail/vmail.cgi 时,它不会执行它,而是让我下载此脚本。我使此脚本可执行,将 mod_perl 添加到要加载的模块列表中,但结果相同。
可能出了什么问题?提前谢谢您。

这是我的 mod_perl.conf

<Directory "/srv/www/perl-lib">
    AllowOverride None
    Options None
    Order allow,deny
    Deny from all
</Directory>
<IfModule mod_perl.c>

    AddHandler cgi-script .bat .exe .pl .cgi

    PerlRequire "/etc/apache2/mod_perl-startup.pl"
    ScriptAlias /perl/ "/srv/www/cgi-bin/"
    <Location /perl/>
        # mod_perl mode
        SetHandler perl-script
        PerlResponseHandler ModPerl::Registry
        PerlOptions +ParseHeaders
        Options +ExecCGI
    </Location>
    ScriptAlias /cgi-perl/ "/srv/www/cgi-bin/"
    <Location /cgi-perl>
        # perl cgi mode
        SetHandler  perl-script
        PerlResponseHandler ModPerl::PerlRun
        PerlOptions +ParseHeaders
        Options +ExecCGI
    </Location>
    # The /cgi-bin/ ScriptAlias is already set up in httpd.conf
</IfModule>
# vim: ft=apache

答案1

您已经为位置 /cgi-perl 和 /perl/ 配置了处理程序,因此您不应该将 vmail.cgi 脚本放在路径 /srv/www/cgi-bin/vmail.cgi 上的文件系统上并请求http://localhost/perl/vmail.cgi或者http://localhost/cgi-perl/vmail.cgi

相关内容