通过浏览器使用.cgi可执行文件

时间:2014-01-09 16:38:22

标签: perl apache cgi mediawiki

我正在尝试启动我自己的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来自我所知道的。

1 个答案:

答案 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