差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

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ともにチェックしておく。
 +
 +
 +
 +
 +
 +
  
  
linux/apache/01-cgi.1257484582.txt.gz · 最終更新: 2009/11/06 05:16 by namikawa
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0