TOP > SUPPORT> オンラインマニュアル> CGI等技術関連・設定情報>初心者のためのCGI設置教室

初心者のためのCGI設置教室

初めてCGIを設置されるお客様のために一般的な手順などを解説してみました。
参考にして楽しいご自分のWEBページを制作してください。

    もくじ

  1. 準備その1 -作業用フォルダの作成-
  2. 準備その2 -解凍ソフトの入手-
  3. 準備その3 -FTPソフト、エディタの入手-
  4. CGIを設置する前の予備知識
  5. アクセスカウンタをつけてみる
※上記解説は2002/04/01時点でのものです。
※OSはWindowsを前提にしています。

準備その1 -作業用フォルダの作成-

まずいろいろ作業をする前に、作業場となる作業用のフォルダを作成しておきます。
これはこれからいろいろなフリー/シェアウェアを入手する際にダウンロードして解凍すると ファイルが展開して
混乱してしまったりすることを避けるためです。
※Mydocumentsやデスクトップなど、お客様が普段一番お使いになる場所で右クリックし ”新規作成”→”フォルダ”で
名前を”作業用”等わかりやすい名前をつけておきます。

準備その2 -解凍ソフトの入手-

WEB上で配布されているソフトなどは殆どファイルを圧縮して配布しています。
それを展開(解凍)するために必要なソフトを「解凍ソフト」と呼んでいます。
解凍ソフトには様々なものがありますので下記より好みのものを探すといいでしょう。
窓の杜
http://www.forest.impress.co.jp/archiver.html
ベクター
http://www.vector.co.jp/vpack/filearea/win95/util/arc/index.html
比較的多機能で使いやすいフリーの解凍ソフトなら下記をお奨めいたします。
LhaPlus 作者 Schezo 氏
http://www.hoehoe.com/software/lhaplus/index.html

準備その3 -FTPソフト、エディタの入手-

解凍ソフトをインストールしたら、今度はFTPソフトとエディタの入手です。

FTPについてはここでは省略しますがエディタとは、CGIスクリプトを編集/書き換えする際に 使う専用ワープロのようなものです。
Win付属の”メモ帳”でも代用できますが、知識がないうちはエディタの方がいろいろ便利で且つ
保存方法なども自動化/最適化されているものが多いため間違いがありません。

!-よくある話-
メモ帳を使ってCGIを書き換え、保存してサーバに転送したところCGIが動かない。 作者の指示どおりにやっているし、設定も完璧。
あれこれ悩んでいて、たまたまサーバ側にUPしたファイルを覗くと…文字化けしている! これはメモ帳で編集して保存する際に
文字コードが正しく認識されていなかったためにおこるものです。これが原因で10日間も悩んだ人もいます。

エディタは下記のサイトから検索すると便利です。
窓の杜
http://www.forest.impress.co.jp/editor.html
ベクター
http://www.vector.co.jp/vpack/filearea/win95/writing/edit/index.html
お勧めは「秀丸エディタ」(シェアウェア)です。 フリーのもの使えるものばかりですので上記サイトでお探し下さい。
使うエディタが決まったら、早速ダウンロードして、さっきいれた解凍ソフトで解凍し、インスト ールしておきましょう。
これであなたもWEBマスターへの第一歩を踏み出しました!

CGIを設置する前の予備知識

●ファイルの階層構造
皆さんが普段使っているPCのファイルの格納場所は”マイドキュメント”をよく利用すると 思いますが
マイドキュメントの所在は下図のようになっています。




これと同様に皆さんの弊社サーバ内スペースにも以下のような構造があります。

■お気軽・箱庭の方


■上記以外の方

これらでおわかりかと思いますがサーバスペースも皆さんのお使いのデスクトップと全く同じです。
それで上記の”web”が”トップディレクトリ”となります。ここがいわば”Mydocuments”のように普段使う格納場所に
なります。
この”トップディレクトリ”を覚えておいてください。
●インターネット上でホームページを公開するということ
ここで皆さんがサーバスペースを持つにあたりわかっておいて頂きたいことがあります。
ネット上でホームページを公開するという行為は、いわば「私の部屋の中を自由に見て!」といってるようなものなのです。
例えばホームページのアドレスがhttp://www.abc.com/~aaa/index.htmlとします。
これは ・”abc.comという組織”の ・”wwwという名前のサーバ”の中の ・”aaa”というユーザ領域にある ・”index.html”と
いうファイルを 覗きにいきなさい!という命令をブラウザに命じているのです。
ホームページを公開したり、電子メールをいろいろなサーバを介して送受信するこのオープン な考えで成り立っている
インターネットの世界で生きていくには「覗かれる」のを前提にWEBの管理をしなければなりません。
またオープンであるがゆえ、知らない間に他人が自由に皆さんのWEBの中のファイルを使ったりすることが
できてしまうのです。
でも、それは一概に怒ったりできません。なぜならば、 皆さんがWEBの管理人であり、ファイルを自由に使っていいのが
常識になってるこの世界で は何も警告してあげなければ相手も悪いことをしているという自覚が発生しないからです。
ですから皆さんは「管理人」としてサイト運営上のポリシーをはっきりさせ、WEB上にそのポリシーを明確に表記することが必要です。
●パスについて
パスとはファイルの所在を指し示すものです。
Windowsでは、ディレクトリのパスの区切り文字に に「¥」を使いますが、UNIXサーバの場合「/」を 使います。
このことを除けばファイ ル等のパスの記述方法はほとんど同じです。
※ここでの説明はとっつきにくいと思いますので、今はざっと流す程度でいいですので目を通してください。

絶対パス指定
これは、トップディレクトリから見たパスの指定方法です。
"file.cgi"の所在を指定する場合
Windowsの場合…C:\home\sites\web\file.cgi
UNIXの場合…/home/sites/web/file.cgi

という感じになります。(これを「フルパスで書く」ともいいます。)

実際のお客様の弊社サーバ内におけるご自分のトップディレクトリは、
  • お気軽、箱庭の場合「/home/sites/siteXX/users/お客様ID/web」
  • 上記以外の場合「/home/sites/siteXX/web」(XXは弊社に確認してください。)
このディレクトリがURLの http:/お客様のサイト名/又は http:/お客様のサイト名/~お客様ID/
に相当します。

相対パス指定
これは、そのCGIファイルから見た相対的なパスの指定方法で
同一ディレクトリの時はfile.cgi または ./file.cgi と書きます。 つまり「./」とはこのディレクトリという意味
になります。
階層が上位ディレクトリの時は../file.cgi と書きます 。つまり「../」とはこの上のディレクトリという意味
です。
階層が2つ上のディレクトリの時は../../file.cgi と書きます。
階層が下位ディレクトリの時はxxxx/file.cgi または./xxxx/file.cgiです。
(xxxxはそのフォルダの中に作成されている子フォルダの名前です。)
階層が2つ下のディレクトリの時はxxxx/xxxxx/file.cgi または./xxxx/xxxxx/file.cgiです。
CGIの設定で絶対パスと相対パスどちらでもよいとある場合は絶対パスで書いておけば
間違いないでしょう。
●パーミッションについて
パーミッション(Permission)とは許可という意味です。
つまり、ファイルの「パーミッションを設定してください」という説明文は、ファイルにアクセス修正・実行するための
許可を与えてください。 という意味になります。(属性変更ともいいます)
UNIX等サーバーでは各ファイルごとに持ち主(オーナー)やグループが決まっています。
この規則に則って他人が作ったファイルを修正したり、読んだり実行したりするには、
そのファイルの持ち主の許可が必要です。 つまり、ファイルの持ち主の許可が無いと実行もできないので、
ファイルのパーミッションを 適切に変更しないとCGIが動かせないという事です。
また同じようにファイルの持ち主の許 可が無いとデータファイルも修正できませんから、掲示板やチャットなど、
データファイルに読み書きを必要とするCGIの場合、それらのデータファイルに修正可能なように許可を与えておく必要があります。

※通常パーミッションはFTPソフトで簡単に設定変更できますので、
ここから下の部分は 詳しく知りたい人だけ読んで下さい。
パーミッションの数値は次のような表で決められます。
  オーナー グループ その他
読込 4 4 4
書込 2 2 2
実行 1 1 1
オーナーとは、ファイルの持ち主の事です。
グループとは、オーナーの集まりです。
その他は、オーナーでもグループでも無いもののことです。

そして上記の数値は8進数です。
表の見方は縦に必要な項目だけを足して計算します。
例えば、xxx.datというファイルに オーナーには読込/書込/実行全てを許す場合、4+2+1=7となります。 グループには読込/実行だけを許す場合、4+1=5となります。 その他には読込だけを許す場合、
4となります。 これを連続して表記すると”754”となります。これがパーミッションの意味です。

  • パーミッションを644 とすると
    オーナー(あなた)はデータファイルを編集することが出来ます が、オーナー以外のユーザーは編集することが
    出来ません。CGIファイルは実行しなくては 意味が無いので、755となります。オーナーはファイルを編集でき、
    それ以外のユーザーは ファイルを読込み実行する事は出来ますが、編集は出来ないようになっています。
    ディレクトリのパーミッションは、ディレクトリ内のファイルについての設定になります。
  • ディレクトリを744にすると
    オーナー以外のユーザーはそのディレクトリ内のファイルを編集 出来なくなります。このようにしてファイルの
    パーミッションを決めるのです。
●パーミッションの危険性と重要性
HTTPサーバーは大抵の場合複数のユーザーが利用しています。その場合ユーザーの中 に悪意を持った人がいると
パーミッションの隙間を狙って悪戯をする場合があります。 ディレクトリのパーミッションが 777 に設定されていると、
サーバーユーザーであれば誰でも そのディレクトリの中身を編集できると言う事ですから、新しいファイルを作ったり、
ファイルを 改竄したりと色々な事が出来てしまうのです。そのために777は危険とされています。
悪戯されても良いと考えるなら別に気にする必要はありませんが、嫌だ!という方は、
パー ミッション777に設定するようにされているCGIを使わないようにすれば、この問題は回避で きます。

アクセスカウンタをつけてみる

さてこの時点であなたのパソコンには”エディタ””FTPソフト””解凍ソフト”の3種の神器が 揃っているわけですが、
これを使って早速定番CGIのカウンタを設置してみましょう。
カウンタの仕組み
カウンタとはサイトの特定ページがアクセスされた回数を累積計算し、そのデータを画像数字又はテキストで表示すると
いう仕組みです。 ここではKENT-WEBさんのEカウンタを設置してみます。
KENT-WEB(カウンタ)
http://www.kent-web.com/count/index.html
ここからEカウンタのページに入り、まずは必ずスクリプト利用規定を熟読した後、
先に用意してある作業用フォルダにダウンロード します。
次にカウンタを表示させるための画像を入手します。
KENT-WEBさんでもいろいろ紹介されていますので、お好きなところからお好みのものを探してみましょう。 画像につきましても必ず配布・利用規定を読み承諾した上でご利用ください。 ※今回の画像はGIF形式を前提にします。
▼画像をダウンロードしたら…
大抵はこのように0から9までの数字とAM/PMや:などがセットになって同梱されています。
しかし今回使用するのは0から9までの数字だけですので解凍してこれらのファイル1つ1つ に0.gifから9.gifという名前に
変更しておきます。 (最初からこんなファイル名になっている場合はそのままでOKです)
▼本体の解凍・修正
本体のファイルをダウンロードしましたら解凍ソフトで作業用のフォルダに展開します。

そしていよいよ先に用意してあるエディタの出番です。
ecount.cgiをエディタ で開き、以下の個所を修正します。
1行目 #!/usr/local/bin/perl → #!/usr/bin/perl

66行目 $imgtype= 'G';
(使用する画像ファイルの種類を指定します。今回はGIFファイルをダウンロードしているので「G」です)

74行目 $lockkey= 1;
(ログ消滅防止策としてのファイルロック機構の設定です。)

81行目 $ipcheck=0;
(IPアドレスをチェックし連続カウントを防止する機能です。この機能を使用する場合は1とします)

60行目 $logfile = './ecount.dat';

70行目 $imgdir = './gif/';

77行目 $lockfile = './lock/ecount.lock';
これらについては、今回このとおりに設置するならば書き換えなくてもOKです。
これらの場所を変更する場合は上記で出てきた「パスについて」を参考に変更して下さい。
▼転送する場所とカウンタ設置ページについて
今回は以下の配置を想定します。

予め作業しておくこと
  • ”ecount”フォルダの中に ”ecount.cgi”、”ecount.dat”を格納しておきます。
  • ダウンロードした”0.gif”から”9.gif”のファイルを、”gif”というフォルダを作り格納します。
  • 空の”lock”というフォルダを作っておきます。
  • ”index.html”(カウンタを設置するページ)に以下のように記述します。
カウンタを4桁で表示したいとき

<img src="ecount/ecount.cgi?4">
<img src="ecount/ecount.cgi?3">
<img src="ecount/ecount.cgi?2">
<img src="ecount/ecount.cgi?1">

カウンタを6桁で表示したいとき

<img src="ecount/ecount.cgi?6">
<img src="ecount/ecount.cgi?5">
<img src="ecount/ecount.cgi?4">
<img src="ecount/ecount.cgi?3">
<img src="ecount/ecount.cgi?2">
<img src="ecount/ecount.cgi?1">

  ↑例は見やすいようにタグ毎に改行していますが、 実際は改行せずに全てのタグを一行で記述します。
▼アップロードしてみよう!
ここまでの作業が完了したら、いよいよファイルをアップロードします。
FTPクライアントを起動し、作業用のフォルダからお客様WEBの中に以下の順番で転送して みましょう。  
  • 先ほど前もってecount.cgiとecount.datを入れておいた”ecount”フォルダを”web”フォル ダの中
    (index.htmlと同じ階層)に転送します。
  • 転送した”ecount”フォルダを開き、その中に”gif””lock”フォルダを転送します。
    ※”ecount.cgi”、”ecount.dat”は「テキストモード」、カウンタ(GIF)画像は「バイナリモード」で
    FTPファイル転送します。
  • index.htmlを”web”フォルダの真下に転送します。
  • パーミッションの設定をします。
    ecount.cgi[755]   ecount.dat [666] lock [777] に設定します。
  • チェックモードでの確認
    このスクリプトにはチェックモードがついていますのでブラウザに次のように入力します。
    http://お客様のサイト/ecount/ecount.cgi?check
    これで”OK”と表示されれば、CGI側の設定は問題ありません。
▼いよいよ表示確認!
さて、index.htmlを表示させて見ましょう。こんなようにカウンタが表示されれば成功です!
どうですか?表示されましたでしょうか? このように手順さえ間違えなければCGIの設置は大変ではありません。
みなさんもどんどんいろいろなCGIを探して設置に挑戦してみてください。

Copyright(c)1999-2004 Masterweb.All Rights Reserved 会社概要  運営方針・規約  プライバシーポリシー