Top / CGI相談室 / 設置解説 / 基本解説

space

基本解説

Top / CGI相談室 / 設置解説 / 基本解説

Last-modified: 2006-11-20 (月) 10:27:00

最初に

CGIを設置するに当たり、まずは、設定が必要になります。
難しい設定ではないので、じっくりやっていきましょう。

その前に!プロバイダのCGI設置許可の確認は済んでますか?
もしプロバイダで禁止されている場合は、設置は不可能ですよ。

ダウンロード

自分が設置しようとするCGIをダウンロードします。
必要な物が、別途ダウンロードしなくてはいけない場合のありますので、よく読んで必要な物をダウンロードしましょう。

解凍

大抵のCGIは圧縮されてますので、展開(解凍)します。
(解凍ツールは、「おすすめツール」からダウンロードサイトにいけます。)
そうすると、基本的には以下のようなファイルが出来ます。

メイン.cgi(メインのプログラム)
設定.cgi(設定を記述するもの)
ログ.dat(掲示板の書き込みや、カウンターの数値などのログ)
jcode.pl(日本語文字コード変換モジュール)
アイコン画像.gif(表示に使う画像)

それぞれ1つだけとは限りません。
複数のログファイルがあったり、プログラムが複数に分かれていたりすることもあります。
また、設定のファイルが無く、メインのCGIの中に設定部分があるものも有ります。

以上のファイルを、1つのフォルダの中に入れましょう。 (フォルダ名は各自で好きなものを付けていただいて結構です)

ディレクトリ構成

基本的なCGIの設置ディレクトリ構成を書いて見ます。

特に指定が無いサーバーの場合

public_html / index.html (トップページ)
   |
   +-- cgi-bin / メイン.cgi  [705]
         |     設定.cgi  [604]
         |     ログ.cgi  [606]
         |     jcode.pl   [604]
         |
         +-- img / アイコン画像.gif
         |
         +-- lock [707] /

cgiの設置場所が指定されている場合

(例:cgiはcgi-binディレクトリに設置と指定されていて、画像ファイルがcgi-binディレクトリから呼び出せない場合)

public_html / index.html (トップページ)
   |
   +-- img / アイコン画像.gif
   |
   +-- cgi-bin
          |
          +-- cgi-bin / メイン.cgi  [705]
                |       設定.cgi  [604]
                |       ログ.cgi  [606]
                |       jcode.pl   [604]
                |
                |
                +-- lock [707] /

設定変更

自分で設定を変えるのは、基本的にメイン.cgi、設定.cgiなどです。

設定を変更する部分は、""や''で囲まれている部分の中身だけです。
間違って、""や''や;を消さないようにしてください。

設定を変える場合は、テキストエディタでcgiファイルを開いてください。
CGIスクリプト編集時の注意点を参考にしてください。

メイン.cgi

#!/usr/local/bin/perl

どんなCGIであっても、必ず出てくる物です。
これはPerlへのパスです。 perlのプログラムの位置をCGIに教えてあげる物です。
ここの設定はプロバイダ毎に違いますので各プロバイダにて確認して下さい。
わからない場合は、各自プロバイダに問い合わせしましょう。
BIGLOBEでは /usr/local/bin/perl となっていますし、トクトクでは、/usr/bin/perl となっています。
他のプロバイダでは /usr/bin/perl だったり、/usr/local/bin/perl だったりするようです。

設定.cgi

$title = "TITLE"; 
$backgif = './kabe.gif'; 
$homepage = '../index.html'; 
$pass = '0123'; 
$lockkey = 0; 

設定項目には、必ず何を設定する部分なのか、書いてあります。
よく読んで、何を設定する部分なのか、しっかりと理解しましょう。

注意するのは、cgiはcgi-binディレクトリに設置と指定されていて、画像ファイルがcgi-binディレクトリから呼び出せない場合です。
この場合は、cgiと同じディレクトリの中に画像を置いても表示されないので、htmlなどと同じディレクトリに画像ファイルを置いて、そこまでのパスを指定する必要があります。
ディレクトリ構成をしっかりと把握していれば、それほどややこしく考える必要はありません。
cgiから、画像ファイルまでの相対パスを指定してやればいいわけです。

上記の変更が終わりましたら上書き保存をしてください。
(これを忘れたら、今までの設定が・・・)

その他のファイル

メイン.cgi以外にcgiのファイルがある場合は、それも設定が必要で無いか確認してください。

ログファイルは、ほとんどの場合、設定は必要ありません。

FTPアップロード

設定が終わったらFTPソフトでアップロードします。
が、その前に全体のディレクトリ構成とファイルの配置をしっかりと理解しておく必要があります。
プロバイダによって規定があるので、CGIの設置規定のページ等をよく読んで理解しておいてください。

※サーバーの設定によってはCGI専用フォルダからは画像ファイルやHTMLファイルを呼び出す事が出来ないものがあります。
その場合は、画像ファイルを通常のフォルダに転送してください。
(その場合メイン.cgiの画像フォルダのパスの変更をお忘れなく)

FTPでアップロードするときに、転送するモードを選択する必要があります。
ASCII(アスキー)モード(テキストモード)と、バイナリ(Binary)モードの2つです。
FTPソフトによってモードの変更方法が違ってきますので、ヘルプなどをよく確認してください。
大抵のcgiの場合、転送する際のモードは以下の通りです。

ファイル名転送モード備考
メイン.cgiASCIIモード
ログ.cgiASCIIモード
設定.cgiASCIIモード
jcode.plASCIIモード
アイコン画像.gifバイナリ転送する位置を注意

これの意味がわからない場合は、FTPの自動転送でいけると思います。

パーミッション設定

ファイル名パーミッション
メイン.cgi755 or 705
ログ.cgi666 or 606
設定.cgi644 or 604
jcode.pl644 or 604
アイコン画像.gif-

画像ファイルは、パーミッションの変更は必要ありません。
(suEXECサーバ、CGIWrapサーバの人や、サーバーより特別な指示がある人は、サーバーの指示に従ってください。)

動作確認

設置したCGIをブラウザから呼び出して、きちんと表示されるか確認してください。
呼び出し出来なかったり、エラーが表示された場合は、何か間違っているので、もう一度見直してみましょう。
エラーなどに関しては、「エラーメッセージ」を参照してください。何かのヒントになると思います。

リンク設定

チェックでエラーが出なければ、正常に動作します。
後は、自分のサイトのページから、リンクしてやれば完成です。

【リンク例】 
 <a href="http://www.xxx.xxx/~user/cgi-bin/cgi.cgi">CGI名</a>

その他

jcode.pl

日本語を扱うPerl言語で書かれたcgiスクリプトには、よく「jcode.pl」と言うものが一緒についてきます。
これは、「日本語文字コード変換モジュール」といって、日本語には3つの文字コードがあるので、それを変換するための物です。
配布されているCGIでは、この「jcode.pl」を使って文字コードを変換している物が沢山ありますが、設定などはいりませんので、設置する位置にだけ気をつけるようにしましょう。

モジュールはまとめれる

複数の掲示板やチャットを設置したりすると、「jcode.pl」が複数のディレクトリに置かれていることになる場合があります。
しかし、「jcode.pl」はモジュールなので、1つあれば済みます。
モジュールを設置する場所を決め、それぞれのcgiの設定部分で、その位置までのパスを指定してやればいいわけです。

設置の例を挙げてみます。
以下のようなディレクトリ構成にします。

public_html / index.html (トップページ)
   |
   +-- cgi-bin
         │
         ├─lib / jcode.pl
         │
         ├─bbs1 / bbs1.cgi
         │
         └─bbs2 / bbs2.cgi

各CGIの設定部分に、

require './jcode.pl';

このような記述がある場合、次のように変更します。

require '../lib/jcode.pl';

これで、「jcode.pl」は1つだけ置けば、それぞれのcgiで共有することが出来ます。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-11-20 (月) 10:27:00 (4718d)
[ Counter today ]