ビギナーズ CGI

 初歩から始める初心者向けPerl-CGI講座  

| トップページ | CGI設置 | CGI作成 | 作成事例 | 設置用語 | 作成用語 | 関数リファレンス | FAQ | お問合せ |
  
CGIの設置方法
フリーで配布されているCGIを設置する際の手順や注意事項などの説明です。

CGI作成の初歩
初めてCGIを作る方向けの手順を簡単な例で説明しています。

CGI作成ヒント集
こういう事をする時は、どのように行えばいいのか?など具体的な事例を紹介します。

CGIの設置に関する用語
CGIの作成に関する用語
CGIの設置や作成時に使われている用語や関連知識を掲載しています。

設置に関するFAQ
作成に関するFAQ
設置や作成をする際に起こりがちなトラブルの説明と、よくある質問とその回答を掲載しています。


 
 

 



ここでは KENT-WEB さんが配布されている画像添付できるタイプの掲示板 Joyful Note を例にダウンロードから実際の設置までを説明しています。
大切なポイントをおさえ注意しながら行えば、設置自体は比較的簡単ですので、とりあえずやってみましょう。





設置手順 1
今回の例で設置する KENT-WEB さんが配布されている掲示板 Joyful Note をダウンロードします。
配布先のページに移動すると、下のようなアイコンがありますので、ここでは ZIP形式 と記載された方をクリックしてダウンロードします。
内容はどちらも同じで、圧縮されている形式が違うだけなので、ZIP形式が解凍できない方はLHA形式をダウンロードして下さい。
クリックすると、開くか保存するかを選択するダイアログが出ますので 【保存】を選択し、デスクトップなど分かりやすい場所を指定します。

【KENT-WEB Joyful Note 配布ページ】
https://www.kent-web.com/bbs/joyful.html





ダウンロードしたファイルは複数のファイルをまとめて圧縮してありますので、これを解凍して元の状態に戻します。
ここでは Windows に付属している解凍ツールを使って行いますが、別にインストールされている場合はそちらで行って頂いても結構です。

1.
ダウンロードしたファイルを右クリックし、【全て展開(A)】 を押します。

2.
解凍先などを聞かれますが、デスクトップ上にダウンロードした場合は、デフォルトでデスクトップ上にフォルダを作って解凍しますので、次へを押して進め、最後に完了を押して下さい。



次にプログラムをお使いのホームページスペースなどの環境に合わせて修正します。
修正はテキストエディタ (Windowsに標準で付いているメモ帳など) を使って行い、テキストエディタであれば良いので他に使いやすいソフトがあればそれを使った方が修正しやすいと思います。


とりあえず、最低限動作する状態にしますので、細かな設定は後で行います。
設置になれていない場合は、必ず最低限必要な設定のみをして始めに動作確認を行い、その後修正を行う際も一度に多くの箇所を修正するのではなく、一部分修正したら確認、一部分修正したら確認 といった感じで作業をすると間違った箇所が特定しやすいです。
逆に多くの部分を一度に修正してからエラーなどが出てしまった場合、間違い部分が特定できずに、どうしようもなくなり初めからやり直す事になってしまう可能性がありますので十分ご注意下さい。


1.
この Joyful Note で設定が必要なファイルは joyful.cgi のみです。
解凍したフォルダの中に上記ファイルがありますので、右クリックし【編集】を押してください。

2.
Perl のパスを修正する。
最上部に #!/usr/local/bin/perl と記載された部分がありますので、この部分をご自分のホームページスペースに記載の指示に合わせて修正します。
例えばPerl のパスが /usr/bin/perl と指示されていたら上記の行を #!/usr/bin/perl と修正します。


修正する際は必ず半角で入力して下さい。 (全角で入力するとエラーになります)
先頭についている #! は絶対に消さないで下さい。 (こちらも消すとエラーになります)

3.
画像までのURL設定を行います。
少し下にスクロールしていくと、下のような箇所がありますのでこの部分を修正します。
動作させた時に画像が正しく表示されない場合は、この箇所の設定を見直してください。

# アップロードディレクトリのURLパス
# → パスの最後は / で終わること
$imgurl = "https://www.xxx.xxx/~xxx/img/";


この修正は以下のように行います。
アップロードするスペースのURLが https://aaa.bbb.com/~tarou/アップロードするディレクトリ/ の場合、最後に img/ を付けたURLを指定します。
この場合は、  $imgurl = "https://aaa.bbb.com/~tarou/アップロードするディレクトリ/img/"; となります。



例えば、このプログラムを以下の場所にアップロードする場合、
https://aimix.jp/beginnerscgi/joiful/

下のように修正します。
# アップロードディレクトリのURLパス
# → パスの最後は / で終わること
$imgurl = "https://aimix.jp/beginnerscgi/joyful/img/";



この設定は画像表示に関する設定ですので、とりあえず間違っていても掲示板自体は動作します。
上手くいかない場合は動作確認までを行い、その後何度も修正してみて下さい。


自分のホームページのURLと、FTPツールを使ってアップロードする時に表示されているディレクトリを見比べると、転送先のディレクトリとブラウザからアクセスするURLの関係がつかみやすく、設定の参考になると思います。







以上で掲示板が動くだけの最低限の設定が完了しましたので、ホームページスペースにアップロードしてみます。
ページなどは通常アップロードすれば見えますが、CGI の場合はアクセス権限の設定や、この CGI の場合は画像を保存するディレクトリの作成なども必要となりますので順に説明していき、ここではFTPツール自体の操作方法については割合させて頂きます。


KENT-WEB さんで指示されているディレクトリ構成例は以下の通りです。
色が付いているものは、それ以降の説明の色と対応しています。

【ディレクトリ構成例】
public_html / index.html (トップページ等)
  |
  +-- joyful / joyful.cgi   [755]
      |    joyfullog.cgi [666]
      |    count.dat   [666]
      |    jcode.pl   [644]
      |    cgi-lib.pl  [644]
      |    pastno.dat  [666]
      |
      +-- img [777] / home.gif
      |          soon.gif
      |          clip.gif
      |
      +-- past [777] / 1.dat [666]
      |
      +-- lock [777] /



これは アップロードするディレクトリに joyful というディレクトリを作成し、その中にアップロードする場合の例で、同じように行う場合は次のような手順で行い、特に表記が無い場合、転送モードはテキストモードで行います。

1.
FTP ツールで接続し、 joyful というディレクトリを作成する


2.
作成した joyful というディレクトリの中に joyful.cgi 、 joyfullog.cgi 、 count.dat 、 jcode.pl 、 cgi-lib.pl 、 pastno.dat というファイルをアップロードする。


3.
上記でアップロードしたファイルのアクセス権限を、【ディレクトリ構成例】で記載されているものにする。
例えば、 joyful.cgi は 755に、joyfullog.cgi は 666 に、 count.dat は 666にという感じで、アクセス権限を【ディレクトリ構成例】 のファイル名右側の数字に修正していきます。

4.
joyful ディレクトリの中に img というディレクトリ、past というディレクトリ、 lock というディレクトリを作成します。
作成したディレクトリを 【ディレクトリ構成例】の右側に記載されているアクセス権に修正します。
ここでは img  past  lock の3つ共 777 に設定します。


5.
作成した img ディレクトリに移動し、 home.gif soon.gif clip.gif を imgディレクトリ内にバイナリモードでアップロードします。
これらのファイルは、掲示板に書き込みを行ったときの URLのリンク画像、添付ファイルを付けた時のクリップの画像ですので動作確認した時に、それらの画像が正しく表示されない場合は、これらのファイルが正しく転送されているか、またバイナリモードで転送されているかを確認します。
画像をテキストモードで転送した場合、画像にすじが入ったり、崩れて上手く表示できませんので、その場合は再度バイナリモードでアップロードし直し、上書きします。


6.
FTPツールで一つ上のディレクトリに戻り、今度は pastディレクトリに移動します。
ここに 1.dat というファイルをアップロード、アクセス権を 666 に変更します。








以上の操作で、掲示板が動くだけの最小設定で設置が完了しました。
この CGI にはチェックモードが付いていますので、設定や設置に問題が無いかをチェックモードで確認してみましょう。

チェックモードはブラウザのアドレス欄で URLの末尾に ?mode=check を付けて CGI にアクセスします。
例えば https://aimix.jp/beginnerscgi/joyful/ にアップロードした場合は、 https://aimix.jp/beginnerscgi/joyful/joyful.cgi?mode=check とブラウザのアドレス欄に打ち込み、【Enter】 を押してください。
「404 ファイル又はディレクトリが見つかりません」 などと表示された場合は、URL指定が間違っていますので、再度確認しながら入力して下さい。

以下のように表示されれば問題ありません

Check Mode

  • ログファイルのパス:OK
  • ログファイルのパーミッション:OK
  • カウンタ:設定なし
  • カウンタログファイルのパス:OK
  • ロック設定なし
  • 過去ログ:設定なし



NG が出てしまった場合、それぞれ次の項目を確認して下さい。
※手順以外の項目を修正した場合は、これら以外の項目も確認する必要があります。

500のエラー → Perl のパスが正しく設定されているかを確認する
500のエラー → joyful.cgi のアクセス権が 755に設定されているかを確認する
500のエラー → jcode.pl や cgi-lib.pl など指定ファイルが正しくアップロードされているか確認
500のエラー → テキストモードで転送するべきものをバイナリモードで転送していないか確認
500のエラー → 改行コードを LF で保存したものをテキストモードで転送してしまっていないか確認
ログファイルのパス → joyfullog.cgi が正しくアップロードされているかを確認する
ログファイルのパーミッション → joyfullog.cgi のアクセス権が 666になっているか確認する
画像ディレクトリのパス → img ディレクトリが正しい位置に作成されているかを確認する
画像ディレクトリのパーミッション → imgディレクトリのアクセス権 が 777になっているか確認する

上記の他に、ホームページスペースによってはアクセス権の設定が指定されている場合もありますので、その場合はマニュアルやWEBサイトの指示に従って修正を行って下さい。


特にNGが表示されなかったら、実際に掲示板を表示してみます。
例えば https://aimix.jp/beginnerscgi/joyful/ にアップロードした場合、ブラウザのアドレス欄に https://aimix.jp/beginnerscgi/joyful/joyful.cgi と入力して 【Enter】 を押してください。
「404 ファイル又はディレクトリが見つかりません」 などと表示された場合は、URL指定が間違っていますので、再度確認しながら入力して下さい。
掲示板が表示されたら実際にテストで投稿し、その他の設定に進みます。


JoyfulNote その他の設定に進む

関連項目

・ Joyful Note その他の設定項目


Beginner's CGI  - Copyright (C) 2003 aimix. All Rights Reserved -