无法运行cgi,只显示纯文本(Ubuntu 13.10 Apache 2.4)

use*_*793 15 apache ubuntu perl cgi

我只是安装Ubuntu 13.10而我正在尝试安装Apache.但是当我尝试在cgi-bin中运行perl文件时,浏览器只显示纯文本.

我的Apache的default.conf如下:

    AddHandler cgi-script .cgi .pl
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +Indexes +ExecCGI +MultiViews +SymLinksIfOwnerMatch
            #Order allow,deny
            Require all granted
            Allow from all
    </Directory>
Run Code Online (Sandbox Code Playgroud)

这是我的perl cgi文件:

    #!/usr/bin/perl
    print "Content-type: text/html\n\n";
    print "<html>\n";
    print "<title> PERL CGI</title>\n";
    print "<body>";
    print "hello perl-cgi!!!!!!!";
    print "</body>";
    print "</html>\n";
Run Code Online (Sandbox Code Playgroud)

我在mime.conf中打开了Handler文件在/ usr/lib/cgi-bin中,我将其作为http而不是file:///运行.我还安装了mod_perl.我是Apache新手.我搜索了几个小时,尝试无限的Apache配置,阅读Apache文档,但仍然无法解决它.是因为"+ ExecCGI"代码有问题吗?我看到另一个人在将Ubuntu 12.04更新到13.10之后也遇到了类似的问题.也许Ubuntu是问题?请帮忙.Apache配置和Ubuntu权限几乎让我很生气.

小智 45

尝试使用此命令:

sudo a2enmod cgi
Run Code Online (Sandbox Code Playgroud)

然后重启apache!

  • 如果我能给出这个答案10分,我会的!完全相同的配置在Ubuntu 12.04下工作,但不在Ubuntu 13.10下.该命令使其在13.10下工作. (5认同)

kay*_*kae 7

我在尝试在Ubuntu 14.04中设置bugzilla时遇到了这个问题@Andrew的回答很有帮助,所以@Kevin的链接也是如此...所以除了启用cgi之外,确保安装了apl2的perl模块.你可以这样做:

sudo apt-get install libapache2-mod-perl2
Run Code Online (Sandbox Code Playgroud)

这将自动启用模块以及重启apache服务器.如果不是手动执行此操作.

没有足够的代表来支持你们两个,谢谢.


Kev*_*vin 6

扩展@tops 的答案.

试试看sudo a2enmod cgi,如果你已经尝试过一些教程,如Apache教程:动态内容与CGI,Ubuntu HTTDP如何在Ubuntu Server中安装带有PHP,CGI和Perl支持的Apache2 webserver,仍然无法弄清楚他们.

然后重启apache!

可以通过以下方式完成:

sudo /etc/init.d/apache2 restart
sudo apache2ctl restart
sudo service apache2 restart < - 先试试这个

这在Ubuntu 13.10上对我有用.


来自基于RedHad的发行版的用户的新命令:

  • 模块
    • a2enmod
    • a2dismod
  • 配置
    • a2enconf
    • a2disconf
  • 虚拟站点
    • a2ensite
    • a2dissite

请记住,/etc/apache2/apache2.conf默认情况下,主配置文件,模块和网站的各个配置组件位于单独的文件中.


编辑:扩展了详细信息,为什么人们来到这个页面可能有困难在Ubuntu上启用Apache CGI.


Dav*_*oss 0

在 Ubuntu 13.10 上安装 Apache 的步骤:

  • sudo apt-get install apache2
  • sudo service apache2 start

在 Ubuntu 13.10 上测试 Apache 的步骤:

Ubuntu 13.10上Apache下使用CGI程序的步骤:

  • 没有任何。CGI 是开箱即用配置的。

在 Ubuntu 13.10 上的 Apache 下测试 CGI 程序的步骤:

  • 编辑文件/usr/lib/cgi-bin/(例如/usr/lib/cgi-bin/test
  • 添加一些 Perl 代码(例如上面的代码)
  • sudo chmod +x /usr/lib/cgi-bin/test
  • 访问http://your-host-here.com/cgi-bin/test

注意: “your-host-here.com”很可能是“localhost”,但不允许我在 URL 中使用它:-/