通信ネットCGI助け合い
[記事リスト] [新着記事] [ワード検索] [過去ログ] [管理用]

タイトル 通信ネットでのCGI設置の基本
投稿日: 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で作成するようになっているスクリプトが多いです。気になる場合は修正して下さい。


- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
おなまえ
Eメール
タイトル
メッセージ   手動改行 強制改行 図表モード
参照先
暗証キー (英数字で8文字以内)
  プレビュー<--チェックを入れないとエラーになります。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No 暗証キー