CGIの設置方法

とほほのWWW入門 > とほほのCGI入門 > CGIの設置方法
1999年7月18日版
プロバイダのサーバにCGI(特にperlという言語を用いて作成したCGI)を設置する手順を説明します。

プロバイダが用意した説明書を読む

CGIの設置を始めるまでに、プロバイダが用意している「CGI設置の手順」があれば必ずこれを読んでください。CGIの設置方法はプロバイダによって異なるので、これを読んで置かないと非常に悩むことになります。中にはCGIを全くサポートしていないプロバイダもあります。よく見かけるプロバイダ固有の注意事項として次のものがあります。

perlのパス名を調べる

ここでは、perlを用いたCGIの設置方法について述べますので、まず、perlのパス名(置かれている場所)を調べてください。私が加入しているBIGLOBEでは /usr/local/bin/perl となっています。他のプロバイダでは /usr/bin/perl だったり、/usr/local/bin/perl だったりするようです。CGIをサポートしているプロバイダであれば、perlのパス名くらいは説明していると思いますので、プロバイダ提供の説明書を参照してください。

CGIスクリプトを作成する

[メモ帳]などのテキストエディタで次のようなテキストファイルを作成し、test1.cgi というファイル名で保存してください。これが CGIスクリプトと呼ばれるプログラムとなります。

#!/usr/local/bin/perl

print "Content-type: text/html\n";
print "\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>テスト</TITLE>\n";
print "</HEAD>\n";
print "<BODY BGCOLOR=\"#FFCCCC\">\n";
print "これはCGIのテストです。\n";
print "</BODY>\n";
print "</HTML>\n";

1行目の #! の後にはperlのパス名を記述します。#! の前には空行や空白文字を入れないようにしてください。

print "..."; というperlの構文の中なので、<BODY>タグなどで使用するダブルクォーテーション(")は、\" と記述する必要があります。

Windowsの[メモ帳]で test1.cgi を保存する場合は、ファイル名が test1.cgi.txt となってしまうことがあります。この場合は、一度 test1.cgi.txt で保存して、エクスプローラー(Internet Explorerではない)から[ファイル]-[名前の変更]などの機能を用いてファイル名を test1.cgi.txt から test1.cgi に変更してください。

.htaccessを設定する

RIMNETなど一部のプロバイダ(NCSA httpdやApacheを利用しているサーバ)では、CGIを動作させるために CGIスクリプトと同じディレクトリ(フォルダ)に .htaccess というファイルを用意しなくてはなりません。 .htaccessの中身は次のように記述します。すでに .htaccess というファイルが設置されている場合は、そのファイルに次の行を追加するようにしてください。(すでに追加されている場合もあります。)

AddType application/x-httpd-cgi .cgi

.htaccessの最後の行の後ろで改行しておくのを忘れないようにしてください。この改行を忘れると、.htaccess ファイルが正常に機能しません。

Windowsの[メモ帳]で .htaccess を作成しようとすると .htaccess.txt になってしまう、エクスプローラーで .htaccess.txt を .htaccess にファイル名変更しようとすると「ファイル名を入力してください」というエラーになるという問題があるようです。この場合、一度、.htaccess.txt という名前でサーバーに転送し、FTPソフト(FFFTPやFetchなど)の機能で、サーバー側にアップしたファイルの名前を直接変更してみてください。(DOSプロンプトのRENコマンドでファイル名変更する方法もあります。)

CGIスクリプトを転送する

CGIスクリプトを、FFFTP や WS_FTP や Fetch などのFTPソフトでサーバーに転送します。 .htaccess が必要な場合は、これもあわせて転送します。この時、改行コードが適切なものになるように、[テキストモード]や[ASCIIモード]で転送するようにしてください。(→「改行コードについて」)

CGIのパーミッションを変更する

サーバーがUNIXの場合は(現在は多くのサーバーがUNIXです。)、CGIスクリプトのファイルのパーミッションを変更する必要があります。「パーミッションを変更するには」を参照して、CGIスクリプトのパーミッションを 755 (rwxr-xr-x) に変更してください。

CGIを呼び出す

サーバーに転送したCGIスクリプトを、通常のHTMLファイルと同様に、例えば次のようなURLを指定してブラウザから呼び出してください。「これはCGIのテストです。」と表示されれば、設置は完了です。
    http://www2e.biglobe.ne.jp/~s-hasei/test1.cgi

#!/usr/local/bin/perl や、print "..." などのCGIスクリプトがそのまま見えてしまう場合は、サーバーがCGIをサポートしていないか、.htaccess ファイルの設置が必要であるなどを意味しています。

サーバー上に設置して、http://〜 で始まるURLで呼び出さないとCGIは動作しませんので注意してください。動作しない時は「CGIスクリプト作成時の注意」を参照してください。


Copyright (C) 1996-1999 とほほ
http://wakusei.cplaza.ne.jp/twn/wwwcgi2.htm