我需要为 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?