## CGIの設置方法

トップ > とほほのCGI入門 > CGIの設置方法

#### ■ 目次

- プロバイダが用意した説明書を読む
- perlのパス名を調べる
- CGIスクリプトを作成する
- .htaccessを設定する
- CGIスクリプトを転送する
- CGIのパーミッションを変更する
- CGIを呼び出す

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

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

- プロバイダが用意したCGIしか利用できない。
- CGIスクリプトの拡張子は .cgi でなくてはならない。
- CGIスクリプトを置いたフォルダに .htaccess を設置しなくてはならない。
- 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 ではなく、"test1.cgi" のように、ダブルクォーテーションで囲って保存してみてください。

ファイルを編集する際に、test1.cgi ファイルをダブルクリックしても駄目なときは、メモ帳の [ファイル]-[開く] で [ファイルの種類] を [すべてのファイル(*.*)] にして test1.cgi を選択するか、test1.cgi ファイルを [メモ帳] のアイコンにドラッグドロップしてみてください。

#### ■ .htaccessを設定する

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

    AddType application/x-httpd-cgi .cgi

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

.htaccess.txt になってしまう場合は、前述同様、".htaccess" で保存してください。

#### ■ 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 杜甫々
1999年7月18日
http://www.tohoho-web.com/wwwcgi2.htm