【python】pythonをapacheで動かす

Linuxとはあまり関係ないのですが、ちょっとハマったので備忘録的に。
pythonのスクリプトを、Apacheで実行したい。という要件があったので、
Apacheのhttpd.confの設定をしないといけなかったんですが。
「cgiで、.pyを登録すればいいくらいだろう 」
と、タカをくくっていたためにドツボに。

設定した項目(設定はあくまで例文で記載してるので、参考にされる場合は、自分の環境を確認して下さい。

CGIを動かす場所を記述して追加

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

cgiの可動ディレクトリを確認。先頭の「#」を削除


AllowOverride None
Options none
Order allow,deny
Allow from all

以上を確認して、cgi-biディレクトリにPython スクリプトを設置して
アクセスすれば、OKと思っていたのですが、internal error と。

パーミッションの設定を間違ったかとか、いろいろ悩んだんですが。
結局、問題はpythonスクリプトの記述に問題が。

どうも、この2行目、3行目を挿入するのが大切だそうだ。


#!/usr/bin/python
print "Content-type: text/html"
print
print ""
print "
Hello, Linux.com!
"
print """

2行目と、その後の空白が意味があるそう。

Web開発者にCommon Gateway Interface(CGI)スクリプティングについての質問をすると、おそらく返ってくる大多数の回答は「Perlを使っています」というものだろう。このようにかなり以前からCGIスクリプティングの世界を席巻している言語がPerlであるのは確かだが、それ以外の選択肢がない訳でもなく...
こちらのサイトを参考にさせていただきました。
一晩悩んでしまいました・・・。

スポンサーリンク

シェアする

フォローする

スポンサーリンク