在Ubuntu LAMP Server上设置Apache以在虚拟主机中执行Python

时间:2013-06-26 20:44:32

标签: python apache ubuntu lamp addhandler

我正在尝试在我的实验室中设置LAMP服务器,但我无法让Apache执行.py文件。它只是下载它们。起初我认为我的标题might be wrong,但是当我改变它时,遗憾的是我仍然没有执行.py。从好的方面来说,我可以加载网站,运行PHP,以及CRUD MySQL。我认为问题可能在于我如何设置我的虚拟主机。这是Apache2.conf:

<VirtualHost *:80>
    Alias "/SiteIwant" "/var/www/SiteIwant"
    ServerName localhost
    DocumentRoot /var/www/SiteIwant
    CustomLog /var/www/SiteIwant/my_access.log combined
    ErrorLog /var/www/SiteIwant/my_error.log
        AddType application/x-httpd-php .php
        SetEnv LD_LIBRARY_PATH /etc/init.d/mysql
    <Directory /var/www/SiteIwant>
        Options None ExecCGI
        AddHandler cgi-script .cgi .pl .py
        #AddHandler mod_python .py
        DirectoryIndex index.php
        AllowOverride AuthConfig
        Order deny,allow
        Deny from All
            Allow from 999.999.999.0/24 #anonymized for posting here, but working
    </Directory>
#   <Directory /var/www/SiteIwant/cgi/>
    #   AllowOverride All
    #   Options +ExecCGI +SymLinksIfOwnerMatch
    #   Order allow,deny
    #   Allow from all
    #</Directory>
</VirtualHost>

我在cgi文件夹中使用和不使用规范时尝试过,我在chkmod +rwx *.py/var/www/SiteIwant/cgi。只是为了踢(之后没有帮助),我还将/ usr / bin和/ usr / local / bin中的python解释器的模式更改为+ rwx。

apache2.conf文件中的其他所有文件都是从当前的Ubuntu Server-LAMP选项安装中获得的。

我感到非常困难,因为我错过了一些愚蠢/小事。

编辑:是否应该在服务器故障上询问?

如果我将AddHandler cgi-script .cgi .pl .py放在虚拟主机之外,我会收到403权限错误,尽管chmod 777是该文件夹。

3 个答案:

答案 0 :(得分:1)

最近的回答,我也通过那里得到了这个工作,通过在目录选项中添加ExecCGI,或者为了更高的安全性,如下所示:

<Directory /path/to/www/yourfile.py>
Options +ExecCGI
</Directory>

答案 1 :(得分:0)

您是否安装并启用了apache wsgi模块?

答案 2 :(得分:0)

vhost和/或全局配置中的这个语句应该足够了(你的配置中有它):

AddHandler cgi-script .py

更改配置后是否重新加载了Apache?如果这不起作用,您应该检查您的网络服务器的错误日志,它应该给出一些关于问题原因的提示。

另外,您没有描述当您访问托管python脚本的URL时会发生什么,您是否收到错误消息?