開示:私はたくさん検索しましたが、私の質問(私の設定に関する)はここで答えられていないと思います。たとえば 、cgi apache サーバー が応答しないため、python スクリプトを実行します。
だから:私は可能な限り最も単純なスクリプトを持っています:
#!/usr/bin/env python
print "Content-type: text/html"
print ""
print "<h1>Hello from Python!</h1>"
ブラウザで実行すると、予想されるHello from Python!ではなく、文字通りそれ自体が表示されます 。
実行するために次のことを行いました。
a) 誰でも実行できる。シェルで完全に実行されます。
b)次の構成を持つ仮想ディレクトリにあります(/etc/apache2/sites-available/my_cgi_dir内):
<VirtualHost *:80> ServerAdmin webmaster@localhost 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) Sudo apt-get install libapache2-mod-python を実行して、Apache が Python をサポートしていることを確認しました。
d) はい、Apache を再起動しました。
それでも、「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)
パイソン 2.7.3