サービスご利用中のお客さま

VPSならラピッドサイト。VPS(仮想専用サーバー)販売15年の実績!

01) CGI(パス、パーミッション)

CGIとは

お問合せフォームやアクセスカウンタ、MovableTypeなど、Webサイトに動的な動作をもたらすものをCGI(Common Gateway Interface) といいます。
CGIはさまざまなプログラム言語で作られますが、大半のCGIはPerlというプログラム言語で作られます。

.htaccessファイルによるCGI実行設定

ドキュメントルート以下でCGIを動作させるには、.htaccessによるCGI実行設定が必要です。
テキストファイルに以下を記述し、「.htaccess」 (先頭のドットに注意) という名称のファイルを作成し、
ドキュメントルート(/www/htdocs)へASCIIモードでアップロードします。
Options +ExecCGI
AddHandler cgi-script cgi
AddType text/html cgi

以上の「.htaccess」ファイルが設置されているディレクトリ内では、CGIの実効が許可されますが、
このファイルの設置の他に、下記の「パーミッション」「アクセス権限」の設定が必須となります。

パーミッションについて

CGI を実行する場合は、ファイルのパーミッション(権限)設定が必須です。
HTMLファイル(拡張子が .html や .htm)や画像ファイル(拡張子が .gif や .jpg)などの一般的なファイルのパーミッションは 644 ですが、 CGIで扱うファイルは以下のようなパーミッションの指定が必要です。
.cgi などの実行するプログラムファイル : 755
.dat などの書き込みを行うデータファイル: 666

また、パーミッションはファイルだけではなくディレクトリに対しても決まっています。
一般的なディレクトリのパーミッションは 755ですが、書き込みを行うディレクトリのパーミッションは 666 になります。

パーミッションが適切でない場合、 以下のようにエラー(500 Internal ServerError)が発生し、CGIは動作しません。

アクセス権限

CGIが動作するには、上記のパーミッションの設定の他に、サーバ内でのルールに基づいたオーナー・グループ権限の設定が必要です。
ラピッドサイトVPSシリーズの場合、CGIの実行が可能なオーナー・グループ権限は、以下になります。
オーナー:システムユーザ
グループ:psacln
(グループの「psacln」は、Pleskが管理しているグループ名になります。)
CGIファイルのオーナー・グループ権限が、上記の状態でないと、CGIは実行されませんので、ご注意ください。

Perlのパス

ラピッドサイトVPSシリーズでのPerlのパスは以下になっております。
/usr/bin/perl



ページの先頭へ戻る