さくらでシンプルなPYTHON CGIを動かしてみる(環境設定編)
■概要
さくらのレンタルサーバで、PythonのCGIを使ってみる
外部もジュールなどは使わない、ピュアなCGIモジュール
標準のcgiだけでも、まぁ、それなりに作れるので
○参照 Pythonのcgi
http://www.python.jp/doc/nightly/lib/module-cgi.html
■環境設定
###さくらのレンタルサーバに入る###
###それっぽいディレクトリを作る###
mkdir ~/www/cgi
#名前はセンスあるの付けてください
#cgiとかscriptとかいう名前だと、なんか自動攻撃の対象になりそうだよね
###.htaccessを作る###
touch ~/www/cgi/.htaccess
###.htaccessを編集する###
vi ~/www/cgi/.htaccess
###編集内容###
AddHandler cgi-script cgi
#※行の後ろに改行を入れること
#意味は、拡張子がcgiだったら、cgiとして扱うみたいな
###さくらの環境説明###
さて、pythonのファイルを作る前に、さくらの環境説明
さくらはsuExecでCGIを起動し、所有者権限で動作するそうです
○参照 さくら非公式FAQ(CGIがうまく動かない!)
http://faq.sakuratan.com/wiki/wiki.cgi?cgi%a4%c8php#i4
上記のURLにあるように、ファイル権限は705にすると良いようです
#そうしないと、Internal Server Errorになった・・・・
#自分はとりあえず777で試したら動かなかったので、けっこーハマった・・・・
○通信擁護の基礎知識 suEXEC
http://www.wdic.org/w/TECH/suEXEC
###the worldスクリプトの生成###
#拡張子がcgiのファイルを作成
touch ~/www/cgi/world.cgi
vi~/www/cgi/world.cgi
#編集内容
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
print ('Content-type: text/html; charset=UTF-8')
print ("\r\n\r\n")
print ("The WORLD!!")
###アクセスしてみる###
http://{ドメイン名}/cgi/world.cgi
#結果
Internal Server Error
#・・・またやってしまった
###権限を変える###
chmod 705 ~/www/cgi/world.cgi
###アクセスしてみる###
http://{ドメイン名}/cgi/world.cgi
#結果
The WORLD!!
#成功しました
戻る