TAG index
CGI

CGIの設置方法

HTML&CSS Web制作リファレンス
- ホームページの構築・運用 -

< HOME / CGIの設置方法
CGIの設置方法


 説明内容について
ネット上で配布されている掲示板やチャット、カウンター等、Perlで作成されたCGIスクリプトの設置方法をご紹介します。

ここで紹介する内容は一般的な場合の例です。サーバーによっては設置方法が異なりますので、細かい点につきましては、サーバー側から渡された資料等で確認してください。
 サーバーの確認
CGIの使用制限

まず始めに、そのサーバーでCGIが使用できるかどうかを確認する必要があります。サーバーによってはCGIが一切使えない場合や、サーバー側が用意したCGIしか使えない場合があります。

※サーバー業者のホームページ、または資料等で確認してください。

CGIの設置場所

サーバーにより、CGIを設置できる場所は異なります。

特定のディレクトリ内(一般的には cgi-bin)に置かないと動かない場合や、自分が借りているエリア内ならどこにでも設置できる場合があります。

※サーバー業者のホームページ、または資料等で確認してください。

CGIファイルの拡張子

一般的には .cgi.pl という拡張子を使いますが、サーバーによっては別の拡張子を付けなければならない場合があります。

※サーバー業者のホームページ、または資料等で確認してください。

.htaccessファイルの有無

サーバーによっては、.htaccessファイルを設置しなければならない場合があります。
(参考:.htaccessの記述例

※サーバー業者のホームページ、または資料等で確認してください。
 スクリプトの設定
CGIファイルは、メモ帳などで簡単に開くことができます。

Perlのパス

CGIファイルを開くと、1行目に Perlのパスが書かれています。

#!/usr/local/bin/perl や #!/usr/bin/perl など

このパスはサーバーにより異なりますので、設置するサーバー用に書き換えてください。

※パスの内容は、サーバー業者のホームページ、または資料等で確認してください。

スクリプトの内容によっては、このパスが書かれていない(必要ない)場合もあります。その場合は、そのまま使用してください。

初期設定

CGIファイルを開くと、初期設定(基本設定)部分が書かれている場合があります。

例えばメールフォームCGIの場合には、送信先のメールアドレスを設定したり、sendmail(サーバー内のメール送信ソフト)のパスを設定する部分などがあると思います。

このような部分がある場合には、各CGIの説明をよくお読みになり適切に書き換えてください。
 スクリプトの設置
転送モード

CGIファイルをサーバーにアップロードする際には、転送モードに注意してください。

転送に使用するFTPソフト(FFFTPなど)には、「アスキーモード(テキストモード)」「バイナリーモード」「自動判別」という3つの転送モードが用意されています。

CGIファイルやログファイル(データを記録するファイル)は、「アスキーモード」で転送する必要があります。(画像などのファイルはバイナリーモードで)

「自動判別」でアップロードしたファイルにエラーが発生した場合は、この転送モードを「アスキーモード」に切り替えて転送してみてください。

パーミッションの設定

アップロードを完了したら、各ファイルのパーミッションを設定します。
デフォルトでは 644 になっていることが多いので、これを次のように変更します。

CGIスクリプト(実行するファイル) … 755(または 705)
ログファイル(データを記録するファイル) … 666(または 606)

jcode.pl 等、読み込まれるだけのファイルの場合は、644 のままで大丈夫です。
(参考:パーミッションの設定

※パーミッションの設定内容については、各CGIの説明に従ってください。
 エラーが出てしまった場合
CGIを実行してエラーが出てしまった場合は、そのエラーメッセージの内容により次の項目を確認してください。

403 Forbidden と表示された場合

パーミッションの設定を間違っている可能性があります。実行するCGIファイルのパーミッションを確認してください。

404 Not Found と表示された場合

実行しようとしたCGIファイルが、その場所に存在しません。

目的の場所にアップロードされているかどうかを確認してください。または、CGIファイルへのパス(URL)を間違えている可能性があります。

500 Internal Server Error と表示された場合

まず、ファイルをアップロードする際の転送モードを確認してください。
転送モードに問題がない場合は、CGIスクリプト自体にエラーが発生している可能性がありますので、次の内容を確認してください。

・Perlのパス
・ログファイルへのパスや、ログファイルのパーミッション等(使用している場合)
・jcode.pl や sendmail へのパス(使用している場合)
・初期設定を書き換える際に、元々書かれていたはずの「; 」「'」「"」「#」などを消してしまっていないかどうか

HTML5HTMLタグCSSカラーチャートWeb便利ツールテンプレートJavaScript
< HOME PageTop▲