Web-UP CGIを駆使してWebサイトの運営効果を思いっきり上げる!

ホーム > CGI初心者のためのCGI設置講座 > CGIを設置してみよう!お問い合わせ


CGIを設置してみよう!

前章のCGIの設置はなぜ難しい?では、

皆さんがわからないことは

  • 解凍
  • エディタ
  • Perlのパス
  • FTPソフト
  • パーミッション

この5点だとしましょう、と書いてありました。

このコーナーでは、これらのことをひとつひとつ解決しながら実際に簡単なCGIの設置を行ってみましょう!え?なんだか不安ですって?
大丈夫、大丈夫!最後は根性だけですから!(笑)

大前提として「オリジナルCGIを設置可能なWebサーバー」が必要です。現在「オリジナルCGI」の設置が許可されていないプロバイダ・サーバーをご利用の方は、「タダものではない!」などでCGI設置可能なフリースペースを検索してみましょう。(一応ここでは、Windows向けに解説します。Macの方、ごめんなさいm(__)m)


■まずは「解凍」です。

解凍といっても、もちろん冷たく凍っているものを暖めて常温に戻すという意味ではありません(笑)インターネット上で配布されているさまざまなファイルは、そのままの状態では情報量が大きすぎてダウンロードするのにも時間がかかりますし、インターネット上のトラフィック(交通量)を増大させることにも繋がります。そこで通常は配布したいファイルを「圧縮」という処理をして情報量を小さくしてあるのです。


これはそうめんでいえば「乾麺」でしょうか。乾麺の状態だと水分を含んでいなくて軽いので、輸送や保存には最適ですが、そのままでは食べられませんのでゆでてあげないといけませんね。この乾麺をゆでて食べられる状態にすることを解凍だと思って下さい。もちろん実際の圧縮されたファイルに水分は含まれていません(笑)


さて、解凍をするためにはその為のツールが必要です。解凍用ツールにもいろいろなものがありますが、ここでは操作も簡単で高性能な村山 富男さん作+Lhacaをご紹介します。

+Lhacaを入手するためには
http://www.vector.co.jp/soft/dl/win95/util/se130263.html
ここをクリックしてダウンロードしましょう。この原稿を書いている2002/11/2現在の最新バージョンは0.72でした。
ダウンロードが終わって出現したlhaca072.exe このアイコンをダブルクリックすると、+Lhacaのインストールが始まります。この時点ではとくに難しいことはないと思います。
インストール後、デスクトップに このアイコンが出現しますので、これをダブルクリックして+Lhacaを起動し、「関連付け」を行っておきましょう。(下図参照)

(赤枠の部分をクリックして凹んだ状態にしておきましょう)

これでダウンロードしたCGIファイルが「LZH」か「ZIP」で圧縮されていても、簡単に解凍できるようになりました。


■次は「エディタ」です。

エディタとはなにかというと、「文字を編集するためのソフト」ということになります。Windows付属の「メモ帳」でもいいのですが「メモ帳」ではちょっと役不足なので、後々のために本格的なエディタを導入しておきましょう。ここでは、フリーソフトとは思えないほど高機能で使いやすい、寺尾 進さん作Terapadをご紹介します。私もいつも愛用しています、というか愛しています(笑)

Terapadを入手するためには
http://www5f.biglobe.ne.jp/~t-susumu/
ここをクリックしてダウンロードしましょう。この原稿を書いている2002/11/2現在の最新バージョンは0.75ベータでした。
ダウンロードが終わって出現した このアイコン、これはLZH形式で圧縮されているので解凍が必要ですが、既に先ほど+Lhacaを導入してあるのでダブルクリックすればすぐに解凍できます。すると、「tp075b06」という名前のフォルダができ、その中に各種のファイルが入っています。この「tp075b06」のフォルダごとCドライブの「Program Files」フォルダやマイドキュメントなどに移してしまいましょう。(私はCドライブの「Program Files」フォルダに入れています)
その後再び「tp075b06」フォルダを開いて、TeraPad.exeのアイコンをマウスの右ボタンでデスクトップにドラッグし、「ショートカットをここに作成(S)」を選んでショートカットアイコンを作っておきましょう。これでTerapadのインストール作業はほぼ終りです。この時点でもさほど難しいことはなかったと思いますが大丈夫でしたでしょうか?
では、エディタ編の詰めに入りましょう。ここから少しだけ難しくなります。ここからは「ファイルの関連付けの設定」をしますので慎重に操作をして下さい。


拡張子「.cgi」のファイルをTerapadで編集できるようにするには、「ファイルの関連付けの設定」をする必要があります。拡張子「.cgi」のファイル(次章でダウンロードする、[rensyuu.cgi]でもけっこうですし、自分で適当なファイルを作って拡張子を「.cgi」に変更してもけっこうです)をShift キーを押しながら右クリック(Windows 2000・Me の場合は Shift キーを押す必要はありません) して、「アプリケーションから開く」 を選択します。その後、アプリケーションの一覧が表示されるので、その中からTerapadを選択(もし一覧の中になかったら「その他(T)」をクリックし、先ほどインストールした「tp075b06」フォルダを開いて、TeraPad.exeを選択)し、今後常に拡張子「.cgi」のファイルをTerapadで開くように関連付けてもよいのなら、「□この種類のファイルを開くときは、いつもこのアプリケーションを使う」にチェックを入れてから「OK」をクリックします。Terapadを使い続けるかどうか不安だという方は、「□この種類のファイルを開くときは、いつもこのアプリケーションを使う」にチェックを入れないようにしましょう。チェックを入れなくても、一度でも拡張子「.cgi」のファイルをTerapadで開けば、次回に拡張子「.cgi」のファイルを右クリックしたときに「アプリケーションから開く」の候補としてTerapadが表示されるようになります。


もし間違って拡張子「.cgi」のファイルとTerapadを関連付けてしまった場合でも、簡単にWindows標準の設定に戻すことができます。

  1. 「スタート」→「設定」→「コントロールパネル」 から「フォルダオプション」を開く。
  2. 「ファイルの種類」 タブをクリックし、拡張子「.cgi」をクリックする。
  3. 「キャンセル」の上付近にある「元に戻す」ボタンをクリックする。

これでWindows標準の設定に戻ります。


でるふぃさんTerapadのとてもわかりやすいヘルプページを公開して下さっています。
Terapadを使いこなしたい方はこちらのページを参照してみて下さい。
なまら楽しくて役立つヘルプページです(笑)


■設置練習用スクリプト[rensyuu.cgi]のダウンロード

下をクリックすると設置練習用スクリプト[rensyuu.cgi]をダウンロードできます。
[rensyuu.cgi] LZH圧縮
スクリプトと言っても、たった1行の文章を表示するだけの超単純なもので、後述しますがパーミッションを[755]にするだけで動作します。他に、とくにこれといった設定は必要ありません。あくまで「設置の練習の為だけ」のスクリプトです(笑)一応、この手のもののお約束なので書かせていただくと、

  • 設置練習用スクリプト[rensyuu.cgi]を利用したことによるあらゆるトラブルに関して 当サイトは一切の責任を持ちません。(とくに何もないとは思いますが)
  • 設置練習用スクリプト[rensyuu.cgi]をダウンロードした時点でこれらのことに同意したものとさせていただきますので、ご了承下さい。

となっていますので、よろしくお願いいたしますm(__)m


■今度は「Perlのパス」です。

設置練習用スクリプトをダウンロードしたら、早速+Lhacaで解凍し、エディタ(メモ帳でもけっこうです)で開いてみましょう。するとなにやら1行目に、

#!/usr/local/bin/perl

と書いてあり、「ここの部分をプロバイダに合わせて変更して下さい」となっています。ここではCGIを設置できるようになることに重きを置いていますので、「Perlのパス」とはなにかといった説明はしません。それよりも、どうやって「Perlのパス」を調べればよいのかを解説することにします。「Perlのパス」はプロバイダのサーバー管理者の設定に委ねられていますので、CGIを設置しようとするプロバイダからその情報を得るのがセオリーです。ここでは、設置練習用スクリプト[rensyuu.cgi]株式会社インフォシークで運営している無料ホームページサービスiswebに設置すると仮定します。iswebを利用していない方も、どんな感じで「Perlのパス」に関する情報をゲットすればよいのか、読むだけ読んでみて下さい。

念の為書いておきますが、iswebではCGIの利用目的のみでのスペース利用は認めていませんので十分にご注意下さい。

まずは、iswebが定めている「Perlのパス」を調べなければなりません。たいていのプロバイダでは「ヘルプ」や「よくある質問」などのコーナーにこれらの情報が記述されていることが多いようです。iswebのトップページを見てみると、「各種お問合せ」というリンクがあったので、とりあえずここをたどってみます。すると今度は「isweb全般のヘルプ」というリンクがあります。

さっそくリンクをたどってみると「ホームページの作成方法について」とあります。さらにこのリンクをたどります。すると、「CGI・SSIの使い方が知りたい」とあり、ここをクリックするとページ内でジャンプして、「iswebのシステムに関する質問はこちら」と書いてあります。ここからさらに進んでみると、「CGI・SSIとは何ですか?また、エラーが発生した場合の対処方法は?」とあります。

ここがどうやら臭そうです(笑) だんだん「Perlのパス」の匂いが強くなってきました。いい感じです(笑)
ここを見てみれば、なにかCGIに関する情報が得られそうです。

さっそくクリックして次へ進んでみましょう。するとたくさんの質問が並んでいますね・・・ むむ?!
「CGIスクリプトに使える言語は何ですか?(その際のパスは?)」とあります!
ひょっとしてこれでしょうか?さっそくクリックしてみると、


・CGIスクリプトに使える言語は何ですか?
perl 5.6.1 です。呼び出し時の拡張子は .cgi としてください。
パスは /usr/local/bin/perl です。


などと書いてあるじゃないですか!ラッキー!やりましたね、ついに見つけました!
この赤い字の部分が「Perlのパス」です!つまり、設置練習用スクリプトの1行目には
#!/usr/local/bin/perl
と記述すればよいのです! ・・・って最初からこれでしたね(笑)
たいていのプロバイダはこの「Perlのパス」でいけるようです。
よっしゃ、これでもうこのヘルプページは見なくてもいいかなと思ったら、その下の項目になんと


・CGIのために特別なディレクトリを使う必要はありますか?
あなたのホームディレクトリに cgi-bin というディレクトリを作成してください。
複数のCGIを利用する場合には、「cgi-bin」の中に、CGI別のフォルダを作成し、利用してください。


と書いてありました。う〜ん、どうやら、CGIを設置するディレクトリ(フォルダ)の名前は「cgi-bin」じゃないといけないようです。ディレクトリ名を「cgi-pon」にしたかった人もこれではあきらめるしかありません(笑) しかも「cgi-binディレクトリ」を作成する場所はホームディレクトリ(最初にindex.htmlが置いてあるところ)じゃないとダメみたいです。危ないところでした。もしこれに気付かなかったら後で設置したときに「全然動かね〜!」と大騒ぎになるところでした(笑) CGIは、このようなちょっとしたことでも動いたり動かなかったりしますので、一応この手のページの情報は一通り最後まで読むクセを付けておきましょう。また、このような重要な情報は後からでもすぐに確認できるよう、お気に入りにいれておくとよいでしょう。ちなみに、ブラウザのウィンドウ左上にあるインターネットエクスプローラーの小さなマークにマウスポインタを合わせて、ウィンドウの外にドラッグドロップすればこのページへのショートカットを一発で作成できます。


とにかくこんな感じで、CGIを設置できるプロバイダなら、そのプロバイダのホームページのどこかに「CGIに関して」や「よくある質問」などといったコーナーがあるはずですので、怪しいところからしらみつぶしにして調べいきましょう。ほぼ確実に、CGI設置に関するなんらかのヒントが掲載されているはずです。ここで必要なのは「知性」や「理解力」ではなく、「根性」と「嗅覚」です(笑)もしどうしてもわからなかったらプロバイダのサーバー管理者にメールを送って尋ねるしかありません。


■次は「FTPソフト」です。

FTPソフトは、あなたのパソコンの中にあるファイルをWebサーバーへ転送するためのアプリケーションです。
ここでご紹介するのはもはや国民的FTPソフトと言っても過言ではないSotaさん作FFFTPです。


FFFTPを入手するためには
http://www2.biglobe.ne.jp/~sota/ffftp.html
ここをクリックしてページの下のほうからダウンロードしましょう。この原稿を書いている2002/11/2現在の最新バージョンは1.89bでした。
ダウンロードが終わって出現した このアイコンをダブルクリックすると、FFFTPのインストールが始まります。
インストールが終わるとデスクトップにこのアイコンが出現したと思います。これをダブルクリックするとFFFTPが起動しますので、プロバイダまたはiswebと契約したときに送られてきた書類やメールなどに書かれているFTPアドレスやFTPアカウント、FTPのパスワードなどの設定をしておきましょう。(下図参照)



ホストの初期フォルダ(R)は最初はとくに設定しなくてもかまいません。最後にアクセスしたフォルダを次回の初期フォルダとする(F)にチェックを入れておくと、FTP接続を切断した時点でFFFTPの画面に表示されていた、自分のパソコン側とWebサーバー側のフォルダが、次回同じFTPホストに接続したときの最初に表示されるフォルダとなります。


Fu-senさんがFFFTPに関するとても詳しいヘルプページを公開してくださっています。
ぜひ見ておきましょう!


■いよいよ「パーミッション」です。

ついにここまできました。あとは設置練習用スクリプト[rensyuu.cgi]をWebサーバー(ここではiswebと仮定しています)に転送して、パーミッションを適切に設定すれば動くはずです。


まずFFFTPを起動してWebサーバーに接続しましょう。すると、FFFTPの画面左半分に自分のパソコン側のファイル、画面右半分にWebサーバー側のファイルが見えると思います。ここでいきなり[rensyuu.cgi]をアップロードしてはいけません。なぜなら、先ほどisweb「CGIのために特別なディレクトリを使う必要はありますか?」に記してあった、


・CGIのために特別なディレクトリを使う必要はありますか?
あなたのホームディレクトリに cgi-bin というディレクトリを作成してください。
複数のCGIを利用する場合には、「cgi-bin」の中に、CGI別のフォルダを作成し、利用してください。


これを忘れちゃ〜いけません(笑) つまり、[rensyuu.cgi]は「cgi-bin」というディレクトリ(フォルダ)の中に入っていないと動かないのです。つまり、あらかじめ自分のパソコン内に「cgi-bin」フォルダを作りその中に[rensyuu.cgi]が入った状態で「cgi-bin」フォルダごとアップロードするか、またはFFFTPを使ってWebサーバー側に「cgi-bin」フォルダを作ってその中に[rensyuu.cgi]をアップロードする必要があります。ここでは、後々他の種類のCGIを設置する機会もあるかもしれないので、自分のパソコン内に「cgi-bin」フォルダを作っておくことにしましょう。


[rensyuu.cgi]が入っているフォルダの中で右クリックし、新規作成(W)→フォルダ(F)と選んで「cgi-bin」という名前のフォルダを新しく作成します。このときに注意する点として、フォルダの名前が「CGI−BIN(大文字)」や「cgi−bin(全角)」ではダメ、ということです。全角文字の英語は見た目こそ英語ですが、パソコンの内部的には英語として解釈されないからです。また半角文字であっても、Webサーバーは大文字と小文字のファイルを別のものとして扱いますので注意が必要です。Winowsだと「abc.txt」と「ABC.txt」は同一ファイルとして認識しますが、WebサーバーのOSとして多く使われているUNIX系のOSだと、「abc.txt」と「ABC.txt」はまったく別のファイルとして認識します。同様に、「cgi-bin」と「CGI-BIN」は同じ半角英字であっても違うフォルダとして認識されるのです。実際に、もしiswebで「cgi-bin」フォルダを「CGI-BIN」フォルダとしてしまうと、エラーとなり、CGIを実行することはできません。


また、FFFTPでファイルをアップロードするときには、「アスキーモード」と「バイナリモード」があります。通常は拡張子が「.cgi」「.txt」「.pl」「.dat」などの情報が文字として書かれているファイルは「アスキーモード」で、拡張子が「.gif」「.jpg」など、どう考えても文字情報ではないファイルは「バイナリモード」で転送すると覚えておきましょう。
FFFTP この状態(ファイル名で転送モード切替え)にしておけば、FFFTPがファイルの拡張子によって「アスキーモード」と「バイナリモード」を適切に切り替えてくれます。もちろんあとからこの設定の変更も可能です。


次に、今作った「cgi-bin」フォルダの中に[rensyuu.cgi]を入れておきましょう。その後、FFFTPから「cgi-bin」フォルダごとアップロードします。[rensyuu.cgi]はパーミッションが[755]になっている必要がありますので、パーミッションがあっているかどうかを確認してみましょう。まず、FFFTPの画面右半分、Webサーバー側の「cgi-bin」フォルダをダブルクリックして、「cgi-bin」フォルダを開きます。すると、「cgi-bin」フォルダと一緒に転送された[rensyuu.cgi]が見えるはずです。この[rensyuu.cgi]を右クリックして「属性変更(A)」をクリックします。



すると、下の小さなウィンドウが出現します。



「現在の属性」という部分、これがパーミッションのことなのです。この数字が[755]になっていれば問題ありません。これを確認したら「OK」をクリックし、その後FFFTPの画面右上の「×(閉じるボタン)」をクリックして終了させてしまってかまいません。
FFFTPではフォルダとCGIファイルをアップロードしたときには、デフォルト(FFFTPの標準設定)でパーミッションが自動的に[755]となります。この設定はあとから自由に変更可能です。一部のプロバイダやレンタルサーバーでは、CGIスクリプトのパーミッションを[755]ではなく[700]、CGIスクリプトを設置するディレクトリのパーミッションを[755]ではなく[701]にしないと動作しないなどといった、そのサーバー独自の設定もありますので、詳しくはご利用になっているプロバイダやレンタルサーバーのサポートコーナーなどを調べてみて下さい。)


たいへんお疲れ様でした、これでCGIの設置が完了しました!


■早速、たった今設置したばかりの[rensyuu.cgi]にアクセスしてみましょう!

ブラウザのアドレスバーから[rensyuu.cgi]へのURLを直接入力してアクセスします。アドレスバーに入力するURLは、
http://xxx.hp.infoseek.co.jp/cgi-bin/rensyuu.cgi
などとなります。(赤字の部分はiswebと契約した内容によって変わります)

無事設置できていれば、ページの中央付近に、

おめでとうございます!設置成功です!

と表示されているはずです。

うまく表示されていない場合は、ファイル名やフォルダ名、パーミッション、アドレスバーに入力したURLが正しいかどうか確認してみて下さい。このコーナーでは例としてiswebを利用しましたが、他のプロバイダ・サーバーを使っている方も基本的なやり方は変わりません。エラーが出るなど、うまく動かなかったら利用しているプロバイダのCGIに関する制限事項などをよく確認してみましょう。CGIがうまく動作しない原因のほとんどは小さな設定ミスです。消去法でひとつひとつ怪しいものを潰していきましょう。

[rensyuu.cgi]が無事動作していれば、あなたはもうCGI設置に関する油っこい部分の大半は克服したといってもよいでしょう。もう、掲示板やカウンタ程度のCGIなら簡単に設置できるはずです。それらのCGIスクリプトは多少ファイルの数やスクリプト内の設定事項も増えますが、あとは[rensyuu.cgi]と同じです。Webサーバーにアップロードして、パーミッションを適切に設定すれば動くはずです。あとはもう数をこなすしかありません。同じCGIスクリプトを同じサーバーに設置していても、偶然による新たな発見があったりするものです。「成せば成る」の精神で頑張って下さい!o(^-^)o





ホーム > CGI初心者のためのCGI設置講座 > CGIを設置してみよう!お問い合わせ
[an error occurred while processing this directive]