我正在尝试在我的实验室中设置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是该文件夹。
答案 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时会发生什么,您是否收到错误消息?