タイトル | : 通信ネットでのCGI設置の基本 |
記事No | : 2 |
投稿日 | : 2004/05/26(Wed) 23:49 |
投稿者 | : くじら |
ここではあくまで基本的な設定で解説しときます☆
cgiファイルは必ずcgi-binディレクトリ(又はcgi-bin以下に作成したサブディレクトリ)に入れてください。
CGIファイルの1行目(perlパス)を #!/usr/bin/perl に変更
パーミッションをそれぞれ変更(詳細は下記)
カスタム(改造)した場合は文法ミスが無いか確認(文法チェッカー使用推薦)
デフォルト(配布されたままの物にperlパスを変更しただけの物)を転送して正常に動くか確認。動いた場合はいじった所を確認する。
間違った転送モードで転送していないか確認
CGIはHTMLと違って「;」や「'」等が無いだけでエラーになる場合があるので改造する場合は十分注意して下さい。
---------- パーミッション設定 ---------- .cgi 705 (755) … 実行ファイル .pl 606 (666) … 外部読み込みファイル(jcode.plなど) .dat または .log 606 (666) … ログファイル(書き込みとかを記録するファイル) ディレクトリ (755) … 一般的に言うフォルダ ----------------------------------- これで大抵動くと思います。動かない場合は()内の数値でチャレンジしてみて下さい。 またape boardのパーミッション等はこちらも参考に
index.html └/apecbordplus/ 【755】 | apeboard_plus.cgi 【705】 | xxxxxxxx.dat【606】 (必ず名前を変更しましょう) | apeboardp_mt.cgi 【705】 | boardini.cgi 【606】 | skinini.cgi 【606】 | jcode.pl 【606】 | apeskin.html 【644】 | res_file.html 【644】 | write.html 【644】 └/img/ 【755】 このフォルダ内の全ての画像ファイル【644】
上記パーミッションに限らず実行権は少なくが基本です 他のパーミッションで動けば報告を☆(少ない属性で)
---------- エラーの種類と原因 ---------- # 500エラー CGIファイル(またはディレクトリ)のパーミッションが違う→もう一度確認 CGIファイルの1行目(perlパス)が違う → #!/usr/bin/perl に変更 CGIファイルの文法がおかしい→文法チェック
# 403エラー CGIファイルのパーミッションが厳し過ぎる→パーミッションの数値を大きくする
# 404エラー ファイルがサーバーに無い→アドレスの確認とファイルをアップしているか確認 --------------------------------------- 他にもありますが主な原因だけ(追加情報募集中)
---------------------------------------
余談ですが、CGIの中にはファイルを自動作成する機能がある物があります(過去ログ等)。その場合にはそのパーミッションが666で作成するようになっているスクリプトが多いです。気になる場合は修正して下さい。
|