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ファイルは[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]フォルダの中に、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