我想在我的實驗室中設置一個LAMP服務器,並且我無法讓Apache執行.py文件。它只是下載它們。起初我認爲我的標題might be wrong,但是當我改變它時,很遺憾我還沒有執行.py。在好的一面,我可以加載網站,運行PHP和CRUD MySQL。我認爲問題可能在於我如何設置我的虛擬主機。這裏是Apache2.conf:在Ubuntu LAMP服務器上設置Apache以在虛擬主機中執行Python
<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這個文件夾。
非常感謝您的幫助。這就像一個魅力。它在一個封閉的網絡中,所以我不太在意安全性,但爲什麼這會更安全? –
在我的示例中,我只允許_/path/to/www/yourfile.py_作爲CGI執行,因此即使有害文件放在同一目錄中,也不會由Web服務器執行。 – Albirew