我花了几天时间在 serverfault 和其他地方寻找答案,但都尝试了,但都无济于事。我正在尝试使用 perl cgi 脚本(Ubuntu 18.04.2 上的 Apache 2.4.29)提供动态内容。perl 脚本以纯文本形式提供给浏览器,而不是执行并提供其结果。
我的 VirtualHost 文件如下所示:
ServerAdmin webmaster@localhost
DocumentRoot /data/www/html/tesserae-obvil
<Directory /data/www/html/tesserae-obvil/>
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
ScriptAlias /cgi-bin/ /data/www/html/tesserae-obvil/cgi-bin/
<Directory "/data/www/html/tesserae-obvil/cgi-bin/">
Options +ExecCGI +Indexes +MultiViews
Options FollowSymLinks
SetHandler cgi-script
Require all granted
</Directory>
ErrorLog /data/www/log/error.log
CustomLog /data/www/log/access.log combined
</VirtualHost>
我已经使用 启用了 cgi 模块sudo a2enmod cgi
,使用 为 Apache 安装了 perl,sudo apt-get install libapache2-mod-perl2
然后重新启动了 Apache。目前我最好的理论是 Apache2 没有正确加载 Perl。我找到了一些关于设置 CGI 的说明,但即使它们应该是针对当前版本的,他们也提到在 httpd.conf 中添加一个 LoadModule 行,据我所知这已被弃用。
我已经没什么主意了。有人能帮忙吗?