この文書の現在のバージョンと選択したバージョンの差分を表示します。
linux:apache:01-cgi [2009/11/06 05:16] namikawa 作成 |
linux:apache:01-cgi [2009/11/06 05:36] (現在) namikawa |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
====== CGIの設置 ====== | ====== CGIの設置 ====== | ||
慣れているようで忘れやすいポイントを列記予定。とりあえず恐怖の大王500サーバーエラー対策。 | 慣れているようで忘れやすいポイントを列記予定。とりあえず恐怖の大王500サーバーエラー対策。 | ||
+ | |||
+ | ===== とりあえずやること ===== | ||
+ | とりあえず何をどうしても[[http://httpd.apache.org/docs/2.0/howto/cgi.html|Apacheのドキュメント]]を見る(これは2.0系なので適時よみかえよ | ||
+ | ===== ユーザー領域にCGIを置きたい(httpd.conf編) ===== | ||
+ | .htaccess編は略。 | ||
+ | セキュリティとか考えないのであれば、単純に | ||
+ | <Directory /home/*/public_html/cgi-bin> | ||
+ | AddHandler cgi-script .cgi | ||
+ | Options +ExecCGI | ||
+ | </Directory> | ||
+ | とかやればいい。 | ||
+ | もちろん apachectl -k restart をしよう。 | ||
+ | ==== 恐怖の大王がなかなか帰ってくれない ==== | ||
+ | error-logを見ても例のアレ(Premature end of script headers)しか出ないので、大王の真意をきいてみることにする。suexecだ。ただしかなり危険(ようは誰でもrootで操作できるってことです) | ||
+ | suexec -V すると | ||
+ | AP_LOG_EXEC="/var/log/xxxxx/xxxx/suexec.log" | ||
+ | みたいにsuexecのログのありかがでてくるので、そこをtailするとだいたいの本音が読める。ちなみに(もちろんだけど)suexecでは実行できたやつももちろんログとして残る。 | ||
+ | ==== 777じゃいけないよ ==== | ||
+ | 最近のはやりかどうか、とりあえず動けばいいや的にCGIのパーミッションを全開(777)にしていると怒られる。その際はsuexec.logに | ||
+ | file is writable by others | ||
+ | といったメッセージが出るので、chmod 755 とかしておくこと。設置ディレクトリ、設置CGIともにチェックしておく。 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||