Раскрытие информации: я много искал, и я не думаю, что на мой вопрос (для моей конфигурации) ответят здесь. Например запустить python script как cgi apache server не отвечает на него.
Итак: У меня есть самый простой способ script:
#!/usr/bin/env python
print "Content-type: text/html"
print ""
print "<h1>Hello from Python!</h1>"
Когда я запускаю его в браузере, он буквально отображает себя вместо ожидаемого Привет от Python!
Я сделал следующее для запуска:
a) он исполняется всеми; Он отлично работает в оболочке.
b) он находится в виртуальном каталоге, который имеет следующую конфигурацию (в/etc/apache2/sites-available/my_cgi_dir):
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/my_cgi_dir/> Options Indexes +ExecCGI FollowSymLinks MultiViews AddHandler cgi-script .cgi .py AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Как вы видите, он имеет
Options Indexes +ExecCGI FollowSymLinks MultiViews
и
AddHandler cgi-script .cgi .py
c) Я убедился, что apache поддерживает python, запустив sudo apt-get install libapache2-mod-python
d) Да, я перезапустил apache.
Тем не менее, я просто вижу источник script вместо "Hello Python".
Что мне не хватает?
Пожалуйста, помогите.
PS: если это может помочь, вот что я запускаю:
Linux ip-172-31-37-178 3.2.0-40-virtual # 64-Ubuntu SMP Mon Mar 25 21:42:18 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Версия сервера: Apache/2.2.22 (Ubuntu)
Python 2.7.3