biwaネット(インターネット滋賀)でSSIやCGIを使おう |
---|
SSIやCGIについて | biwaネットでSSIを使う | biwaネットでCGIを使う | いろいろな解説 |
SSIやCGIについて | |||||
---|---|---|---|---|---|
ホームページで、アクセスカウンター、BBS、チャット、訪問者の数のカウント、
HTMLファイルの更新日などを行おうとしても普通のタグだけでは不可能で、
CGIやSSIと呼ばれるものでサーバーに処理をさせてやれば可能となります。 私のホームページではこれらを使って、アクセスカウンター、アクセス状況、BBS、チャット、ファイルの更新日、ファイルサイズ、アクセス者のブラウザ名やホスト名などの表示、などなど多くのことができるようにしてあります。 私自身もSSIやCGIについてよくわからないことがありますので、間違いや不明な点、質問などがありましたら 私宛の電子メール、もしくは掲示板までどうぞ! ◆SSIやCGIの詳しい説明 私のページではbiwaネットでCGIやSSIを使うときの簡単な要領しか述べませんので、次のところ十分学んでください。 この2つはSSIやCGIの説明が豊富で、使えるCGIスクリプトの宝庫です。特にCGI設置法(超初心者用)は初心者の方必読で、私もこれを見てCGIがやっと動くようになりました。
・ネットサーフレスキュー 書籍では「CGIプログラミング」翔泳社 定価\2884 がおすすめです。これは初心者からわかりやすい説明が 豊富で、付属のCD-ROMには掲載されているCGIスクリプトがすべて収納されており、他にはいろいろなプログラムも 入っています。 ◆biwaネットでSSIやCGIの使用時の設定について biwaネットではSSIやCGIが最初から使えるように設定されています。 普通はSSIやCGIを使えるように設定するための" .htaccess "というファイルを書き換える必要がありますが、biwaネットでは設定されているので不要なのです。 なお .htaccess というファイルは、サーバーでファイルの存在や中身を見えないようにしているため、FTPやtelnetでは確認することはできません。
|
|||||
biwaネットでSSIを使う | |||||
◆biwaネットで使えるいろいろなSSIを使う コメント行みたいな <!--# --> で囲まれたタグの部分をHTMLファイルに書き込むだけ! すぐにあなたも使えます。 ただしSSIを使うようにしたHTMLファイルはWWWサーバーでは今後動作しなくなるかもしれませんので(98年6月になってもまだ使えてますが)、 CGI専用サーバーで使う方が無難かもしれません。 組み込むために実際に使えそうなものをあげてみます。これをどう使うかはあなたのアイディア次第です。 以下では実際にSSIを使い、結果を → の後に表示させています。 <!--#echo var="REMOTE_HOST"--> アクセス者のホスト名表示(ppp接続で割り当てられている) → <!--#echo var="REMOTE_ADDR"--> アクセス者のIPアドレス表示(ppp接続で割り当てられいる) → <!--#echo var="HTTP_USER_AGENT"--> アクセス者が使用しているブラウザ名 → <!--#echo var="HTTP_REFERER"--> どこのURLからリンクしてアクセスしているか表示 (none)表示のときここを押してください。↓下にリンク元のURLが表示されます。 → <!--#echo var="SERVER_SOFTWARE"--> サーバーのソフトウェア名 → <!--#echo var="SERVER_NAME"--> サーバー名 → <!--#echo var="DATE_LOCAL"--> 現在アクセスしている時間を表示 → <!--#echo var="DOCUMENT_NAME"--> 現在アクセスしているファイルの名前 → <!--#echo var="LAST_MODIFIED"--> 現在アクセスしているファイルの最終更新時間 → <!--#flastmod file="ファイル名"--> 指定した"ファイル"の最終更新時間 例)このページのHTMLファイル"cgissi.html"を指定 <!--#flastmod file="cgissi.html"--> → <!--#exec cmd="コマンド"--> 指定した"コマンド"を実行 例1)UNIXの"cat"コマンドで"c-cgissi"というファイル(このページの訪問者数の入ったもの)を表示 htmlの中に別のファイルを取り込んで表示するのに使える <!--#exec cmd="cat ./c-cgissi"--> → 例2)UNIXの"who"コマンドを実行(telnetでbiwaネットにログインしている者のリストが表示される) <!--#exec cmd="who"--> → <!--#fsize file="ファイル名"--> 指定した"ファイル"のファイルサイズを表示 例)このページのHTMLファイル"cgissi.html"を指定 <!--#fsize file="cgissi.html"--> → <!--#config timefmt="書式"--> 書式に応じた形式で時間表示 <!--#echo var="DATE_LOCAL"-->、<!--#flastmod file="ファイル名"-->など時間表示するものの 前において、それの時間表示の形式を決める。 書式は、次のパラメータを並べる。間に文字を入れて、%m月%d日 のようにしてもよい。 %m (01-12)月 %d (01-31)日 %y (00-99)年 %Y 西暦 %D 日付がmm/dd/yy形式 %H (00-23)時 %M (00-59)分 %S (00-59)秒 %T 時刻がHH:MM:SS形式 %B 月の名前 %b 省略した月の名前 %A 曜日 %a 省略した曜日(Sun-Sat) %h 省略した月(Jan-Dec) %r AM/PM形式の時刻 %I (00-12)時間 %p 午前または午後 例)のように表示する場合 <!--#config timefmt="%y年%m月%d日%H時%M分"--> <!--#config errmsg="メッセージ"--> エラーが生じたときに出す"メッセージ"を指定 例)存在しないファイルの更新時間を表示するエラーメッセージを”工事中”にする。 トップページで各ページの更新日時を表示するとき、まだ作成していないページがあるときに使える。 <!--#flastmod file="zzzz.html"--> ↓ <!--#config errmsg="工事中"--><!--#flastmod file="zzzz.html"--> <!--#include file="ファイル名"--> 他のファイルを取り込んで表示する。 例)ここに"menu.html"を取り込んで表示(私のHPの各ページのメニューはこの"menu.html"を取り込んでいる) <!--#include file="menu.html"--> ↓◆ホームページへの応用例 上のようにHTMLファイルに書き込まれたSSI部分が、下では実際にどのように表示されるかよく見てくださいね。 これらはすぐに使えるものばかりです。
<!--#config timefmt="%y年%m月%d日%H時%M分"-->
あなたは <!--#echo var="REMOTE_HOST"-->(<!--#echo var="REMOTE_ADDR"-->) からのアクセスで<br>
<!--#config timefmt="%Y年%m月%d日%H時%M分(%a)"--> ↓このページの最終更新日時:
あなたは () からのアクセスで 東南アジアの旅行マップ(mapa.jpg byte 掲載)
|
|||||
biwaネットでCGIを使う | |||||
◆biwaネットでCGIを使う (1)CGIスクリプトの入手 CGIを使うには、いろいろなところでCGIスクリプトが公開されているので利用するといいでしょう。 上記で紹介したサイトには、掲示板、チャット、アクセスカウンタなどなど数多くものが公開されています。 (2)CGIスクリプトの書き換え 入手したCGIスクリプトは、そのままでは使えないことが多いです。 自分用にいろいろ書き換える必要があり、 入手したスクリプトのドキュメントやスクリプト自身にその箇所が書いてあります。 以下の<ポイント3>ようにperlなどのパス指定も重要です (ここのパス指定のところで全角スペースを入れると動作しないので注意!)。 CGIスクリプトによっては、CGIスクリプトを動作に必要なファイルを作ったり変更するものもあります。 (3)CGIスクリプトの転送 このようにして変更したCGIスクリプト、そしてCGIスクリプトの動作に必要なファイルは、 FTPでbiwaネットのCGI専用サーバーに転送します。 このとき、必ず以下の<ポイント2>のようにASCIIモードで転送されていないとうまくCGIスクリプトが動作しませんので注意してください。。 (4)転送されたファイルのパーミッション変更 転送されたファイルは、必ずパーミッション(ファイルの属性)の変更をしないと動作しません。 以下の<ポイント1>のように変更してください。 (5)CGIスクリプトの動作確認 自分用に書き換えたCGIスクリプトはいろいろと動作確認してください。 直接HTMLファイルに <!--#exec cmd="./abc.cgi"--> のようなタグを張り付けて実行させたり、 直接スクリプトファイルにリンクさせて、CGIスクリプト実行させてみます。 おかしいところがあればCGI専用サーバーからエラーメッセージが帰ってくるのでわかります。 CGIスクリプトが大丈夫なのにエラーになる時は、 FTPでASCIIモードで転送していない場合、 適切なパーミッション設定が行われていない場合もエラーになるので注意してください。 笑えない実際にあった例としてパス指定のところで全角スペースが入っていたということもありました。 本当は、CGIスクリプトの動作確認はtelnetで行うものです。この場合、biwaネットにログインした後、 コマンドプロンプトから ./abc.cgi のように ./ などのパスを付けたCGIスクリプトのファイル名を入力して実行させます。 カレントディレクトリに abc.cgi がある場合、 ./ を付けないで abc.cgi のみを入力して 実行させようとしてもエラーが必ず生じるので注意してください。 (6)CGIスクリプトの完成 CGIスクリプトがうまく動くようになったら、コメント行のような <!--#exec cmd="CGIスクリプト"--> というタグをHTMLファイルに張り付けたり 直接スクリプトファイルにリンクさせたりして、終わりです。
|
|||||
いろいろな解説 | |||||
|
ご感想やご要望などがありましたら以下までメールでお願いします。
.電子メール : jr3roc@.mx.biwa.ne.jp