*CGI*

perlパスと構成図


CGIプログラムを間違えて書き換えてしまって、プログラムが壊れてしまったり、
どこを間違えたのか分からなくなることがあります。
念の為、yybbs.cgiのファイルを右クリックでコピーして、予備を作っておきましょう。


エディターソフトで [yybbs.cgi] を開きます。
くれぐれもHP作製ソフト(HPビルダーなど)では開かないでくださいね。
1行目に注目してください。perlへのパス指定といわれるものが書かれています。

#!/usr/local/bin/perl

#┌───────────────────
#│ YY-BOARD v4.54 (2001/09/06)
#│ Copyright(C) Kent Web 1997-2001
#│ webmaster@kent-web.com
#│ http://www.kent-web.com/
#└───────────────────

#!/usr/local/bin/perl
この部分はサーバーによって違うので、設置したいサーバースペースの宣言を、
プロバイダーのHPへ行って調べて確認してください。
このままでO.Kのところが多いですが、違う場合もあります。
これが違うと、CGIプログラムが動きません。
必要がある場合は、半角英数で指定どおりに書き換えてください。

あと、サーバーによっては、CGIファイルをHTMLや画像ファイルと同じところに
置けない場合があります。それについても、確認してください。
特別記述が無い場合は、同じところでO.Kです。

特別な場合でなければ、この1行目だけ書き換えるとCGIは動きます。
(homeアイコンやリンク部分は反映されないですが)
ここだけを書き換えて、yybbs.cgiを含む全てのファイルを転送をし、
次の解説に出てくる「ファイル構成図」の状態に、ファイルを入れていきます。
そして、yybbs.cgiを置いたURLにアクセスしてみるといいです。


表示されない場合の問題点
perlへのパス指定が間違っている
・・・半角英数になっていないか、スペースが入っているなど

パーミッションの設定が間違っている
・・・プロバイダーのHPに行って確認しましょう
(パーミッションについては、このページの一番下に少し記述があります)

ファイルを置いた場所が間違っている
…プロバイダーの指定どおりのフォルダにいれていないなど。

空欄を1行削除している
#!/usr/local/bin/perlの宣言の下は、必ず1行空けなくてはいけません。


ファイル構成例


最初、この図の意味がわからなくて、挫折ポイントになるかも。
この部分は書き直す部分ではありませんが、設定項目の中のパス指定を書くときや、
ファイル転送をするときに重要です。例を3つあげて書いていきます。

ここではなんとなくでも分かれば十分ですよ。そういう設定が必要なのね♪くらいでO.K。
[yybbs.cgi]を書き換えた後、CGIファイルをサーバーに転送するときに必要になります。

自分のサーバーが3つのうち、どのパターンになるのか(または近いか)を見比べて下さい。
プロバイダーによって、ファイルの置く場所が指定されていて変ってきます。
プロバイダーのHPへ行ってよく確認してきましょう。

1つ目は[yybbs.cgi]の中に書かれている構成例です。

# 【ファイル構成例】
#
# public_html (ホームディレクトリ)
# |
# +-- yybbs / yybbs.cgi [755]
#      | yybbs.log [666]
#      | count.dat [666]
#      | jcode.pl [644]
#      | pastno.dat [666]
#      |
#      +-- img / home.gif, bear.gif, ...
#      |
#      +-- lock [777] /
#      |
#      +-- past [777] / 1.dat [666] ...


上の赤色の文字はフォルダを表し、濃グレーの文字はファイル名を表しています。
これはフォルダ(ディレクトリー)の階層のことなのですが、次のような絵にしてみました。

 




この図は転送先のサーバーの中の状態です。
Winのマイドキュメントの中を思い浮かべると、わかりやすいかも。

HPファイルを置いているフォルダ(public_html)と同じ並びに、
[yybbs]という名前をつけたフォルダを自分で作ります。
このフォルダーの中にさらに、[img] [lock] [past] という名前をつけた
3個のフォルダーを作り、その中にファイルを入れてある。。。という意味です。
このフォルダは、FPTソフトでファイルを転送するときに、
サーバー側の画面で右クリックして作ります。


cgi−binの中置く場合


でも多くの場合は、CGIファイルは[cgi-bin]の中に入れるように、
プロバイダー側で解説されていると思います。次のようになります。
下の赤色の文字はフォルダを表し、濃いグレーの文字はファイルを表しています。

# public_html
# |
# cgi-bin/ yybbs / yybbs.cgi [755]
#               | yybbs.log [666]
#               | count.dat [666]
#               | jcode.pl [644]
#               | pastno.dat [666]
#               |
#               +-- img / home.gif, bear.gif, ...
#               |
#               +-- lock [777] /
#               |
#               +-- past [777] / 1.dat [666] ...


 


HPファイルを置いているフォルダ(public_html)と同じ並びに、
[cgi-bin]というフォルダがあり(もしくは自分で作り)その中に、
[yybbs]という名前をつけたフォルダを自分で作ります。
このフォルダーの中にさらに、[img] [lock] [past] という名前をつけた
3個のフォルダーを作り、その中にファイルを入れてある。。。という意味です。


画像ファイルを別に置く場合


では、画像ファイルを別に置かなくてはいけないときは、次のようになります。
下の赤色の文字はフォルダを表し、濃いグレーの文字はファイルを表しています。

# public_html /img / home.gif, bear.gif, ...
# |
# cgi-bin/ yybbs / yybbs.cgi [755]
#               | yybbs.log [666]
#               | count.dat [666]
#               | jcode.pl [644]
#               | pastno.dat [666]
#               |
#               +-- lock [777] /
#               |
#               +-- past [777] / 1.dat [666] ...


 


HPファイルを置いているフォルダ(public_html)の中に、
[img]といフォルダを自分で作って、homeなどの画像ファイルを入れます。
[public_html]と同じ並びに、[cgi-bin]というフォルダがあり(もしくは自分で作り)
その中に、[yybbs]という名前をつけたフォルダを自分で作ります。
このフォルダーの中にさらに、[img] [lock] [past] という名前をつけた
3個のフォルダーを作り、その中にファイルを入れてある。。。という意味です。


Public_htmlの中に置く


[public_html]フォルダの中に、CGIファイルを全て置けるサーバーもあります。
下の紫色の文字はフォルダを表し、普通の文字はファイルを表しています。

# public_html/ yybbs / yybbs.cgi [755]
#                    | yybbs.log [666]
#                    | count.dat [666]
#                    | jcode.pl [644]
#                    | pastno.dat [666]
#                    |
#                    +-- img / home.gif, bear.gif, ...
#                    |
#                    +-- lock [777] /
#                    |
#                    +-- past [777] / 1.dat [666] ...


HPファイルを置いているフォルダ(public_html)の中に、
[yybbs]という名前をつけたフォルダを自分で作ります。
このフォルダーの中にさらに、[img] [lock] [past] という名前をつけた
3個のフォルダーを作り、その中にファイルを入れてある。。。という意味です。

この場合のフォルダの絵は省略させていただきます。


お尻の数字はなにか?


yybbs.cgi [755]←こんな風に、お尻に数字がついています。
これは「パーミッション」もしくは「アクセス権」と呼ばれるもので、
ファイルの保護をどうするか?を指定するもの。
FPTソフトでCGIファイル一式を転送したとき、TFPソフトのサーバー側の画面で
右クリックして設定します。

プロバイダーによっては、[yybbs.cgi]の中に書かれているパーミッションでは
動かない場合や、自分で作ったyybbsフォルダパーミッションも、
設定の必要がある場合があります。(cgi−binと同じにすればO.K)
プロバイダーのHPへ行って、パーミッションの記述を確認しましょう。

ここではなんとなくでも分かれば十分ですよ。そういう設定が必要なのね♪くらいでO.K。
[yybbs.cgi]を書き換えた後、CGIファイルをサーバーに転送するときに必要になります。
そのときに確認しましょう。詳しくはパーミッションを見て下さい。


では、いよいよ設定項目を書き換えていきます。


>>CGI TOP  >>NEXT