
○CGIとはどんなもの
・チャット、掲示板、メールフォーム、メーリングリスト、カウンターなどを設置したいと思ったらCGI(コモン・ゲートウェイ・インターフェイス)を使う事になります。もっともJava Scriptで可能な物もありますが、今のところはCGIが一般的だと思います。
他にもアンケート、占い、ログ解析、データベースなどもこれで可能になります。
○CGIを設置するには
■まずCGIが使えるサーバーを探そう
サーバーに関してはサーバーのページで紹介してますので詳しくはそちらを参照して下さい。
また、格安レンタルサーバー比較研究などだと、
情報が充実していて、比較もしやすいかな。
ただ、注意したいのはCGIは使えても回線が非常に弱いというサーバーもありますので、動作環境はしっかりチェックした方がいいです。基本的にCGI(チャットとか)はただのホームページと違ってサーバーから一方向にデータを引っぱり出すだけでなく、書込をする人がサーバー側にデータを送るために回線をしようしますから、回線やサーバーのCPUに対する負担が大きいのです。ってことは、バックボーンが少容量のサーバーやマシンの処理能力の弱いサーバーだと転送に時間がかかったり、表示に時間がかかる。果てはサーバー側がダウンしてしまうということになります。
■CGIのソースを準備する
CGIを始めたばかりならまずはフリーのレンタルCGIから始めた方がいいと思います。
Web上にたくさんそういうサイトが存在します。 ・忍者ツールズ
・cgiboy
・Kooss
・ACR WEB
など。
また、巷にはCGIのソースを記述した本が出回ってますが、基本的にプログラムなので一文字でも打ち間違えればプログラムは正常に作動しません。CDからコピーできるなら別ですが、手打ちならやめといた方が無難です。ただでさえプログラムの意味が分からないのですから挫折の原因になります。
■デフォルトのCGIソースを自分用に書き換える
フリーのCGIソースをコピーまたはダウンロードしたらテキスト用のアプリケーションを使ってソースを覗いてみて下さい。だいたいはきちんと日本語の部分を読めば分かるように説明書きを入れてくれています。自分用に書き換える項目は文頭から始まり、プログラムの部分とはちゃんと区切りが入れられているはずです。(もっともプログラムが書かれている部分は読んでも分からないと思いますが)
文頭にあるPerlの階層の記述はサーバーによって違いますのでこれは調べて下さい。
『!/usr/local/bin/perl』がデフォルトの場合が多いと思います。
■相対パスと絶対パス
◇『相対パス』でのリンク
…サーバー内の階層をリンクもとのファイルから『../XXX.html』で上の階層に行ったり、『フォルダ名/XXX.html』で指定のフォルダの中にいったりしながら目的となるファイルを探すリンク方法。
◇『絶対パス』でのリンク
…『http://ドメイン名/XXX/XXX/XXX.html』というような具合に、web上から目的となるファイルを探すリンク方法。
■CGIファイルを置く階層について
サーバーによってその設置場所は変わりますので、まずサーバーの管理をしている会社に問い合わせてみて下さい。ただし、おおよそのパターンはありますので紹介しておきます。
1.
レンタルサーバーでプロバイダーなどが一定のCGIだけ使用を許可するものは基本的にレンタルしているユーザーの見ることのできる階層より一つ上にcgi-binというディレクトリを置き、レーザーのリクエストによってプロバイダーなどがCGIを設置し、ユーザーにその絶対パスでのURLを教える方法。ユーザーは準備されたURLを自分のホームページにリンクとしてはって使用する。
2.
ユーザーの自主設置が可能なサーバーの場合はユーザーの利用できるスペースの一番上の階層にcgi-binというディレクトリを作らせ(このディレクトリにもパーミッションは必要です)そこにCGIを格納させる。
3.
サーバーをお持ちの場合は、通常『ドメイン/』の下の階層に普通のHTMLファイルを格納していきますが、その上の階層に上がると『cgi-bin』というディレクトリが設置されており、その中にCGIファイルを格納していく。ちなみに絶対パスは『http://www.ドメイン名.co.jp/cgi-bin/***.cgi』のようになる。普通のHTMLファイルの格納場所は『cgi-bin』と同じ階層にある『docs』というディレクトリの中なのに、なんか絶対パスの指定方法が変ジャン。と思うかもしれませんが…。まあ、そうなってる場合が多いです。(もちろん上記のパターンだけとは限りませんのであしからず)
■パーミッションについて
FTPのソフトによって呼び方は変わりますが、意味合いを理解すればどのソフトを使っても基本は同じです。
|
|
本人
|
グループ
|
他人
|
|
読み込み可能(4)
|
A
|
B
|
C
|
|
書き込み可能(2)
|
D
|
E
|
F
|
|
実行可能(1)
|
G
|
H
|
I
|
上の図をリーグ戦の対戦表の様に考えます。そうするとそれぞれの項目の交差するところが浮かび上がりますが(A〜I)、横項目のこれと縦項目のこれに対してのパーミッションが何というふうに割り振っていくわけです。
パーミッションに関しては一般的に数値で『755』とか『666』とか3桁の数値でその設定のタイプを表現しますが、その数値というのは上記表の許可された部分の縦の合算を左から順に並べた形になります。
『7(本人の縦の合算)、5(グループの縦の合算)、5(他人の縦の合算)』
ってな具合です。
また、その数値の元になるのは
『読み込み可能=4』『書き込み可能=2』『実行可能=1』というわけです。
非常にややこしく感じますが、例えば縦の『本人』の『読み込み可能』と『書き込み可能』にチェックを入れた場合『***』の頭の数字は6となり『6**』となるわけです。
基本的にファイルにパーミッションを与える作業はファイルをサーバーにアップしてから行ないます。この辺間違える人多いので気を付けてね。
■CGIの改造
CGIのプログラムに触れる時間が長くなるとだんだんどの命令文が何を指すのかが分かってきます。そうすると『ここをこういじったら、こんなふうになるのでは…?』なんて思ってきます。…まず、やってみましょう。もちろんそれでサイトがおかしくならないように元データはしっかりバックアップしておいて下さいね。(あたしやー責任持てません。自分の責任でやって下さいね。)
■htaccess
CGIのプログラムを動かす裏方に『htacsess』というものがあります。
『htacsess』にはいろいろな記述がされている物がありますが、CGIを動かすためにも
必要な物の一つです。
CGIをCGIとして動かしたい時は、CGIプログラムより上の階層に、
・ファイル名;htacsess (注意;拡張子は付けません)
・記述;Options ExecCGI
AddType text/html cgi
AddHandler cgi-script cgi
というファイルを置く必要があります。
言い換えればWebサーバー内のどこかにこのファイルを置くと、そこから下のディレクトリでは
CGIがCGIプログラムとして稼動することを意味しています。
※注意)レンタルサーバーを利用の方は、まず、サーバー提供会社がCGIの使用を許可している
かどうかを確認してください。許可されていない場合は仮にCGIが使える状態になったとしても
使ってはいけないわけです。どうしてもCGIを使いたい場合は、まずCGIの使用を許可している
サーバー提供会社と契約することです。
■注意事項
ほとんどのCGIプログラマー(作家)はその権利を放棄していません。ソースを使わせてもらうときも、改造して使うときも作家の方には一報入れるべきです。そういうマナーを守らなければソースを貸し出してくれる作家の方は減っていくでしょう。そうならないためにもマナーは守りましょうね。
■Perl言語を勉強したい
という人もいると思います。そういう人は
ここ
を参照してみてください。
|
 /// サイト・インフォメーション //////////////////////////////////////
結婚式の情報いっぱい!ゼクシィnet会員登録はコチラ ■するふたりらしい結婚式&新生活準備を楽しむサイト「ゼクシィnet」。
■結婚式場・指輪・ドレス・引き出物・2次会・新居・家具・家電選びまで手配できる。
■リゾート挙式、海外挙式などの情報もある。
■無料会員登録で簡単資料請求&予約や自分専用のダンドリチェック、カップルアバターで着せ替えなどいろんな特典がいっぱい。
[128031]
| |
|