我正在尝试在我的实验室中设置 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 文件夹中的规范,并且我在 /var/www/SiteIwant/cgi
中有 chkmod +rwx *.py
>。只是为了好玩(在那之后没有帮助),我还将/usr/bin 和/usr/local/bin 中的 python 解释器的模式更改为 +rwx。
apache2.conf 文件中的所有其他内容都与当前 Ubuntu Server-LAMP 选项安装的结果相同。
我觉得很卡,好像我错过了一些愚蠢/小的东西。
编辑:这真的应该在服务器故障时询问吗?
如果我将 AddHandler cgi-script .cgi .pl .py
放在虚拟主机之外,我会收到 403 权限错误,尽管 chmod 777 文件夹。
最佳答案
迟到的答案,我也通过了那里并通过在目录选项中添加 ExecCGI 来使它工作,或者为了更高的安全性,如下所示:
<Directory /path/to/www/yourfile.py>
Options +ExecCGI
</Directory>
关于python - 在 Ubuntu LAMP 服务器上设置 Apache 以在虚拟主机中执行 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17330113/