はじめに..... |
アクセスカウンター、掲示板、チャットなど通常のHTMLだけではできないことを可能にするのがCGI(Common Gateway
Interface)です。
さまざまなプログラム言語が使われますが、 Perl(パール または ペール)というプログラム言語でかかれているものが一般的です。
オベロンネットの会員の皆様もPerlによるCGIの設置をすることができます。しかしCGIは会員の皆様が使っているWEBサーバーでプログラムの実行、処理をいたしますので、セキュリティーの面よりさまざまな制限があります。PerlのCGIプログラムはいろいろなところでフリーのもの
を手に入れることができます(DLサイトをのちほどご紹介します)が、そのまま使えるわけではなく、それぞれのプロバイダーの設定に合わ せて若干の内容変更をしなければなりません。 ここではプログラムそのものの説明ではなく、このオベロンネットでCGIを動かすために知っておかなければならないことを中心にご説明いたします。 なおこのページは内容が難解すぎて理解できないがが、こんなことをやってみたいというアイディアをお持ちの方はこちらまで直接メールをいただければ、できる範囲でご説明申し上げます。(なおCGIの改造等に関してはお答えできませんので、ご了承ください。プログラムを書かれた方の著作権を尊重してください。)
前置きが長くなりましたが、ごく単純なプログラムを例に説明をはじめることにしましょう。
|
その0 DLできる場所 |
さまざまな方がPerlのCGIプログラムをフリーで公開したり、プログラムの方法を説明するページを公開しています。
いくつかのお勧めページを紹介します。
とほほのWEB入門 CGIだけでなくホームページ製作に必要なさまざまな情報があります。
KENTWEB いろいろなフリーCGIがDLできます。設定方法も詳しく説明されています。
ここ以外も本当に多くの情報が公開されています。YahooやGoogleなどのサーチエンジンなどで探してみてください。
|
その1 CGIを置く場所 |
まずDLまたは自作のCGIはどこに置いたらいいでしょうか?
ファイルはFTPであなたのホームページがあるところに送ります。このときCGIファイルは必ずASCIIモードでおくって下さい。Binaryモードではただしく動作しません。
オベロンネットではあなたのホームページのある場所に”cgi”というフォルダーを作ってそこに入れていただくものとします。
cgiフォルダーのパーミッションは”755”に設定してください。これが違うとあなたのCGIは動きません。
あなたがホームページのデータをFTPで送り込む先に新しいフォルダーを作ってください。複数のCGIをお使いになる場合はその中にそれぞれのサブフォルダーを作ってください。
(注) CGIはセキュリティーの理由上、特殊な設置になっています。FTPでおくったファイルの場所が、
www.europe.jis.de/oberonnet/cgi/xxxx.cgi
だとしてもプログラムやHTML内で場所を指定する場合は
www.europe.jis.de/~oberonnet+eujis/cgi/xxxx.cgi
のように指定してください。(/~oberonnet+eujisの前の部分はコード内での調整が可能です。)
もちろんoberonnetの部分にあなたが使っている名前が入りますので間違えないように!
では次にオベロンネットで動かすための変更事項です。
|
その2 Perlのコード |
#!/usr/bin/perl
print "Content- type: text/html\n\n";
print "<HTML>\n";
print "<BODY>\n";
print "<H1>Hello World!!</H1>\n";
print "</BODY>\n";
print "</HTML>\n";
exit;
以上はさまざまなプログラム言語で一番最初に紹介される 画面に”Hello World!!”と表示するプログラムです。CGIはホームページに
表示するためのものですので、当然のことながらHTMLが絡んでくるわけです。
あなたがホームページのデータをおいてあるサーバーにはperlがすでにインストールされています。赤字のプログラム一行目はその場所をソースコードの中で指定してあげることによりperlの実行プログラムを呼び出し、あなたのCGI
を実行可能なものとするわけです。
このファイルの場所がプロバイダーによって異なるため、一行目を書き換える必要があります。オベロンネットにおいては以下のように書き換えてください。上のコードの赤字の部分はDLしたソースに一般的にかかれている設定です
#!/client/bin/perl
総て小文字で入力してください。あなたのデータの置いてあるUNIXは小文字と大文字を別のものとして判断します。
これでオベロンネットのサーバー内にあるperl実行プログラムを呼び出しに行くことができます。
ソースコードの変更はウィンドウズのメモ帳などのテキストエディターでできますが、最初にDLするときに拡張子が.txtになっている場合がありますのでファイルの拡張子を.cgiに変更してください。メモ帳以外にもTeraPadのようなフリーの優秀なエディターがあります。
不必要な空白もエラーの元となります。TeraPadなどでは空白を表示させることでエラー潰しの時間が短縮できます。たった一つの書き間違いで動かない、それがこの種のプログラムコードです。 ;一つ少ないだけでも Internal Server Error!というありがたくないメッセージが表示されてしまいます。
試しに上のコードを(#!client/bin/perlに変えて)をworld.cgiという名前でセーブして、FTPでその1のようにcgiフォルダーに送ってみてください。送ったファイルのパーミッションも755に設定します。
その後ブラウザーにhttp://www.europe.jis.de/~oberonnet+eujis/cgi/world.cgi (oberonnetのところはあなたのユーザー名です)と入力して画面に”Hello World!!"が表示されるかどうか見てみてください。 ファイルの場所、転送方法、パーミッションが正しいかしっかり確認してください。 これが表示されればあなたのCGI第一歩は完了です。
<<サンプル画面>> この様に表示されればOKです。
”Hello World!!”と表示されたブラウザ−の画面でソースコードを見てみてください。以下のようになっているはずです。
<HTML>
<BODY
<H1>Hello World!!</H1>
</BODY>
</HTML>
これが上のPerlで書いたCGIが作った出力の結果です。
次はオベロンネット独自のその他の指定についてです。
|
その3 その他の独自設定 |
1.画像
その2の様に通常のHTMLと同じものをCGIで作ることができます。当然背景やアイコン、写真などを表示することもできます。
しかし、オベロンネットにおいてはその画像を置く場所に注意が必要です。 DLしたCGIそのものの設定では画像は表示されません。
オベロンネットにおいてはCGIを置くフォルダー ”cgi”の中に画像ファイルを置くことはできません。 cgiフォルダーの外に画像フォルダーを作ってプログラム内で指定してください。
(注) 画像はFTPで転送する際にはBinary(バイナリー)モードで送ってください。ASCIIモードでは動きません。
(例) 先ほどのworld.cgiに背景画像をつけてみます。背景画像はこれ(wp01.gif)を使います。
#!/client/bin/perl
print "Content- type: text/html\n\n";
print "<HTML>\n";
print "<BODY background=\"http://www.europe.jis.de/oberonnet/gif/wp01.gif\">\n";
print "<H1>Hello World!!</H1>\n";
print "</BODY>\n";
print "</HTML>\n";
exit;
(注)Perlではダブルクォーテーション(”xxx”)の中にダブルクォーテーションを持てません。HTMLで表示されるときに無視される”¥”を
つけてエラーが出ないようにします。
FTPでwp01.gifをhttp://www.europe.jis.de/oberonnet/gif にいれます。
上のコードをworld2.cgiとしてFTPでcgiフォルダーに送ります。
http://www.europe.jis.de/~oberonnet+eujis/cgi/world2.cgi をブラウザーからみてみましょう。背景画像が表示されて、”Hello World”が表示されれば成功です。(しつこいようですがoberonnetのところはあなたの設置に合わせて変えてください。)
<<サンプル画面>> この様に表示されればOKです。
2.SSI
アクセスカウンターの設置などでSSIという言葉を聞いたことがあると思います。多くのアクセスカウンターがSSIで動いています。
SSIがどういうものであるかに関しては上記のリンク等をみてみてください。 SSI(Server Side
Include)はオベロンネットでは使用が許可されていません。アクセスカウンターはCGIを使ったタイプのみ設置することがが可能です。上のDLサイトにもCGIのみのものが紹介されています。アクセスカウンターについては改めて説明いたします。
|
工事中しばらくお待ちください お急ぎの方はこちらまでメールをください。
|
<<ホームページに戻る |