我正在尝试启动我自己的mediawiki网站,我在使用数学扩展mimetex时遇到了一些麻烦。为了使数学方程能够在网站上正确显示,您需要在后台运行.cgi文件。我编译了mimetex-cgi文件并将其放在我在mediawiki目录(/ etc / mediawiki / cgi-bin)中创建的文件夹中。该文件名为mimetex.cgi。
但是,当我导航到我的网络服务器上的文件时,它不会生成我想要的图像(应该这样做),而是要求我下载文件。
我很确定该文件正常工作,因为我能够在我的服务器上运行它。我的猜测是我应该在apache中启用一些东西,但我不知道是什么。我看了这个问题并在这里尝试了答案,但它没有用(Apache 403 error (Forbidden) on windows)。我输入了Directory-snippet到我的apache2.conf但它没有用。
有没有人知道如何通过webbrowser启用.cgi文件的运行?
编辑:这是我在apache-config中编写的内容(/etc/apache2/apache2.conf)
<Directory /etc/mediawiki/cgi-bin/>
AddHandler cgi-script .cgi .pl
Options FollowSymLinks +ExecCGI
AllowOverride None
</Directory>
EDIT2:新问题 添加到配置:
<Directory /etc/mediawiki/cgi-bin/>
AddHandler cgi-script .cgi .pl
Options FollowSymLinks +ExecCGI
AllowOverride None
</Directory>
AddHandler cgi-script .cgi .pl
似乎它认识到用户想要运行该文件。现在我遇到了这个问题:
You don't have permission to access /mediawiki/cgi-bin/mimetex.cgi on this server.
EDIT3:我的权限
$ls -l /etc/mediawiki/cgi-bin/
-rwxrwxrwx 1 www-data www-data 1359104 Jan 9 01:24 mimetex.cgi
$ls -ld /etc/mediawiki/cgi-bin/
drwxrwxrwx 2 www-data www-data 4096 Jan 9 01:43 /etc/mediawiki/cgi-bin/
我的用户是:www-data来自我所知道的。
答案 0 :(得分:1)
终于解决了!
1.将我的cgi文件(mimetex.cgi)移动到/ usr / lib / cgi-bin /
2.将apache2.conf更改为:
<Directory /usr/lib/cgi-bin/>
AddHandler cgi-script .cgi .pl
Options +FollowSymLinks +ExecCGI
AllowOverride None
</Directory>
AddHandler cgi-script .cgi .pl
3.将/ etc / apache2 / sites-enabled / 000-default文件更改为:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
4.Did chmod 755
$sudo chmod 755 /usr/lib/cgi-bin
$sudo chmod 755 /usr/lib/cgi-bin/mimetex.cgi