CGI

Perl や sendmail のパスとバージョン

下記の通りです。

  • perl      /usr/bin/perl (※ ver 5.005)
  • sendmail  /usr/sbin/sendmail (※ var 8.11.7)

※バージョンは予告なく変更する場合があります。ご了承ください。

CGIの設置場所

CGIは public_html の配下であればどこに設置しても動作します。CGIは cgi-bin や cgi などのフォルダの中にまとめるのが好ましいです。以下は一般的なホームページ構成です。

www
public_html
index.html
cgi-bin (CGIを設置するフォルダ)
board.cgi

CGIのパーミッション

セキュリティのためにSUEXECを導入しています。CGIを格納するフォルダと、CGIのパーミッションは "701" に変更してください。一般的なホームページ構成とパーミッションは以下の通りです。

www
public_html701 (rwx-----x) ホームページ公開用のフォルダ
index.html604 (rw----r--) HTMLファイル
cgi-bin701 (rwx-----x) CGIを設置するフォルダ
board.cgi701 (rwx-----x) CGIの実行ファイル
board.dat701 (rwx-----x) CGIから読み書きするデータファイル
board.log600 (rw-------) CGIから読み書きするデータファイル
jcode.pl600 (rw-------) ライブラリファイル
img701 (rwx-----x) フォルダ
top.gif

設置したCGIが動かないときは

主に以下の原因が考えられます。

  • CGIの修正ミス
    CGIの初期設定パラメータを修正した場合、修正行の最後のシングルコーテーション(')や、セミコロン(:) など、修正と同時に削除される場合が多いです。CGIを修正・追加された個所を確認してください。
  • CGIを格納するフォルダ(ディレクトリ)やCGIのパーミッションが間違っている
    CGIを設置するフォルダと、CGIプログラム自身のパーミッションを "701" に変更してください。
  • CGIが文字化けもしくはHTMLに変換されている
    バイナリーモードでFTP転送すると、ファイルが化けて正しく動作しない場合があります。詳細はFTPソフトのご利用マニュアルをご参照下さい。このような場合は、CGIファイルをテキストモードでFTP転送してください。また、CGIをHTMLソフトで編集されると、HTMLタグが自動的に追加される場合がございます。HTMLタグを削除するか、もう一度最初からテキストエディタで編集してください。
  • Perl のフルパスが間違っている
    WebサーバがPerlで書かれたCGIスクリプトを実行する際に、先頭行の指示に従ってPerlを起動しようとします。この指定が誤っているとエラーになってしまいます。 CGIの最初の行は、#! の後にPerl のフルパス名を指定します。Perlのフルパスは #!/usr/bin/perl です。
  • McAfeeのPrivacyServiceで広告表示しないを選択している
    アクセスカウンターなどのCGIでは、広告表示と誤認し表示させなくする場合があります。広告の表示をオフにして試してください。

どうしてもCGIが動かない場合

NETAGE にて調査いたします。
ホームページに関するお問い合わせ からお問い合わせください。
その際、必ず以下の内容も合わせて教えてください。

  • エラーメッセージの全文
  • エラーメッセージが表示されるまでの操作方法
  • CGIの設置場所
  • ログインが必要な場合は、ユーザ名とパスワード