TOP > 野良猫のCGI講座 > 『1. CGI/Perlの設置方法』
【初心者コース】
『1. CGI/Perlの設置方法』
おことわり
【初心者用コース】「CGI/Perlの設置について」を受講頂きありがとうございます。

CGI/Perlについて、基本から学ぶのが良いのでしょうが、私も独学で学んだので基本を知りません。^^;
ここでは、最低限知っておいたら役に立つと思われる事柄について説明させて頂きます。
これが私にとっての基本かな
ここを読んで頂ければ、きっとCGIの設置は出来ると思います。
これを参考にして、多くの方がCGI/Perlの設置に成功されて喜んで頂ければ幸いです。
頑張って下さい

また、ここに記載してある内容に不備があったとしても損害賠償などの責任は取りません。
参考にされる方の自己責任でご覧下さい。
参考にされた方は、リンクを貼ってくれると嬉しいです♪
『参考:"Take it easy !"』
URL:http://ryoquest.sakura.ne.jp/
バナー:tie_8831an.gif(3611 byte)
参考にされる方は、下のリンクからクリック募金をして下さい♪
あなたの善意をクリックにのせて♪
概要
まず、自分のホームページがあるプロバイダーはCGI/Perlを使わせてくれるのかを調べて下さい。
※CGIは、アップロード(自分のパソコンからサーバーへファイルを送る事)するサーバーがCGI設置を許可していなければ動かせません。
サーバーによっては、アップロードもできません。
※CGIの設置が許可されていなければ、設置できるサーバーを探しましょう。(または、諦める^^;

許可されている場合、次の事を確認して下さい。。
CGIの設置場所の指定があるか
※『cgi-binディレクトリ(フォルダ)を作って、その中に入れて下さい。』など。
CGI以外の関連ファイル(HTML、TXT、DATなど)の設置場所に指定があるか
※『cgi-binの中に入れないで下さい』など。
指定があれば、指示通りにして下さい。
Perlのパスを調べて下さい
設置するCGI(Perl)ファイルの先頭にあるPerlのパスを書き換えて下さい。

CGIファイル、関連ファイルをFTPソフトでアップロードします。
※設置場所に指定があれば、指定された場所へアップロードして下さい。
パーミッション(アクセス権)の設定をします。

あとは、アドレスを入力してあげればOKです

ほら!簡単でしょ



【CGI設置のフローチャート】
自分のホームページのサーバーはCGI/Perlの設置ができる
↓YES NO↓
Perlのパスを調べる
設置できるサーバーをさがす
CGIファイルの先頭にあるパスを書き換える
↓YES NO↓
CGIファイル、関連ファイルをFTPソフトでアップロードする
検索サイトで調べる
諦める^^;
パーミッション(アクセス権)の設定をする
(ここは、『さくらインターネット(有料)』です。)
↓完了
ブラウザからアップロードしたCGIにアクセスする

CGIとは?
CGIとは、Common Gateway Interfaseの略称で、プログラムがWebサーバーに要求するたびにHTMLを作成する仕組み(プログラム)を一般的に言います。
(厳密に言えば、ちょっと違うけど・・・^^;)
その仕組みの多くは、Perlという言語で記述されています。(CやC++、PHP、Rudyなど色々あります)
サーバー
設置するサーバーがCGI設置を許可しているか?
(「Yahoo!GeoCities」などは設置できません。)
各プロバイダーの利用規約・サービス内容・HELPなどで、調べて下さい。

CGIの設置が許可されていなければ、設置できるサーバーを探しましょう。
無料サーバーでもCGI設置が可能な所は、たくさんあります。
(ここは、『さくらインターネット(有料)』です。)
検索サイトで『無料』『サーバー』『CGI』などで検索すれば出てくるでしょう。
編集&Perlのパス
設置可能サーバーには、Perlのパスが記載されてます。
(#! /usr/local/bin/perl など。)
サーバー Perlのパス
isweb(infoseek) #! /usr/local/bin/perl
AAA!CAFE #! /usr/bin/perl
さくらインターネット #! /usr/bin/perl
または
#! /usr/local/bin/perl

メモ帳やワードパッドでも書き換えられますが、Perl用のエディタ(編集ソフト)を用意すると便利です。
フリーソフトで十分です。
私は、『Perlを始めよう!』 『Tera Pad』 『ez-HTLM』 を使わせて頂いております。

アップロードした後で、プロバイダーが用意している編集機で編集してもOKですが・・・。お勧めはしません^^
FTPソフト&アップロード
アップロードとは、自分のパソコンからサーバーへファイルを送る事です。
(サーバーから自分のパソコンへファイルを持ってくる事をダウンロードと言います。)
アップロードやダウンロードするソフトをFTP(File Transfer Protocol)ソフトと言います。

ホームページビルダーに付属する『ファイル転送』などを使う。
フリーソフト『FFFTP』などは、人気です。
(※古いバージョンのFFFTPをお使いの方は、セキュリティ上、マスターパスワードが設定できる最新版の導入をお勧めします。) プロバイダーが用意しているアップローダーでも可能です。お勧めはしません^^

『アスキーモード』と『バイナリーモード』に注意してアップロードしましょう♪
『アスキーモード』と『バイナリーモード』
『アスキーモード』
・HTML、TXTなど、改行コードを変換する場合に使います。
・Perlで記述されたものは、こっちです。

『バイナリーモード』
・GIF、JPEGなど、画像ファイル。

【豆知識】
メモ帳で開いてみた場合に、
・「アスキー」中身が読めるもの。プログラムらしい記述になっているもの。
・「バイナリ」ぐちゃぐちゃで意味不明のもの、開けないもの。

ホームページビルダーの『ファイル転送』は、自動なので簡単です♪
アップロードの前に!(設置場所の指定)
アップロード先を調べて下さい。

プロバイダーにより、CGIを動かす為のディレクトリ(フォルダ)が決められています。
例えば、infoseekでは、「cgi-bin」ディレクトリ(フォルダ)以下でなければ動きません。
さくらインターネットは、任意のフォルダを付けてあげれば動きます。
プロバイダーの注意事項をよく読んで下さい。
パーミッション(permission/アクセス権)の設定
CGI/Perlを設置する場合にファイルに対してのアクセス権を設定します。
設置すらだけなら、深く考え込まずに指定された通りにしておけば問題ないでしょう。
※詳しくは、下の【パーミッションとは】をご覧下さい。

パーミッションの設定は、FTPソフトで行います。
アップロードしたファイルのパーミッション(アクセス権)を変更して下さい。
詳しい方法は、各FTPソフトの使用説明をご覧下さい。


【パーミッションとは】

UNIX(コンピュータOSのひとつ)のファイルの保護モードの事です。「ファイルの所有者」「グループユーザー」「その他のユーザー」に対して、「読み込み」「書き込み」「実行」の権限を設定する事によりファイルを保護する仕組みです。
ファイルの所有者 グループユーザー その他のユーザー
権限なし --- --- --- --- --- --- --- --- ---
0 0 0
読み込み
(r--)
r-- --- --- --- r-- --- --- --- r--
4 4 4
書き込み
(-w-)
-w- --- --- --- -w- --- --- --- -w-
2 2 2
実行
(--x)
--x --- --- --- --x --- --- --- --x
1 1 1
読み込み書き込み
(rw-)
rw- --- --- --- rw- --- --- --- rw-
6 6 6
読み込み実行
(r-x)
r-x --- --- --- r-x --- --- --- r-x
5 5 5
書き込み実行
(-wx)
-wx --- --- --- -wx --- --- --- -wx
3 3 3
読み込み書き込み実行
(rwx)
rwx --- --- --- rwx --- --- --- rwx
7 7 7
Readable=4」「Writable=2」「eXecutable=1」

例えば、上記の表を参考に『「755」に設定してください』と指定されている場合、「rwx r-x r-x」となり、その意味は『所有者は読み込み書き込み実行、グループユーザーは読み込み実行、その他は読み込み実行』の権利があるという事です。
エラー
正しく設置されれば、ブラウザで設置したCGIのアドレスを指定すれば動き出します♪
しかし、間違っているとエラーが表示されたりして動きません(当たり前ですが^^;)

エラー 意味 処置
403 Forbidden ・アクセス権限のエラー
・指定場所にファイルがない
・TOPページ(index.htmなど)がない
・別のサーバーからのアクセス拒否
・サーバが込み合っている
・アクセス権を正しく設定しなおして下さい。
実行ファイル( .cgi) 755/705など
記録ファイル( .dat/.log/.txtなど) 666/606など
処理ファイル( .pl など) 755/644など
・アドレスを確認して下さい。
・TOPページ(index.htmなど)を用意して下さい。
・サーバーにリンクを貼ったHTMLを用意して、そこから起動して下さい。
404 File Not Found ・指定されたファイルが見つからない ・アドレスを確認して下さい。
・ファイルが指定場所にアップロードされているか確認して下さい。
500 ・文法的な間違いがあります。 ・Perlのパスを確認して下さい。
パスは必ず先頭行に記述して下さい。(改行なども不可)
・スクリプト(プログラムの内容)修正時に記述ミスをしているので、訂正する。
全角のスペースなどを入れない事。
画像が未表示 ・画像ファイルが存在しない
・タイムアウトしてしまう
・画像ファイルがアップロードされているか確認して下さい。
・画像ファイルへのパスを確認して下さい。
・画像ファイルが重すぎるので、軽くして下さい。
その他注意事項
各サーバーにより、CGI設置に当たり規約などがありますので必ずよく読んで理解した上で設置して下さい。
アカウント削除などの処罰があったりします^^;
infoseek
【概要のみ】
perl 5.6.1 です。呼び出し時の拡張子は .cgi としてください。
パスは /usr/local/bin/perl です。
あなたのホームディレクトリに cgi-bin というディレクトリを作成してください。
複数のCGIを利用する場合には、「cgi-bin」の中に、CGI別のフォルダを作成し、利用してください。
状況 結果
iswebに作成したページからCGIを呼び出した場合 正常に表示されます
URLを直接入力した場合 正常に表示されます
isweb以外のサイトからCGIを呼び出した場合 403 Forbidden(アクセス権限がありません)
ブックマークを利用した場合 正常に表示されます。
iswebでは、どこで配布されている、どのCGIプログラムが違反という指定は行っていません。
しかし、サーバーの動作に支障をきたすほど大きな負荷を与えているCGIプログラムを発見した場合はサーバー保護優先のため、予告なく該当CGIプログラムを削除します。
また、そういったCGIプログラムの設置が、アカウントご利用の主目的であると判断された場合はアカウントの削除を行いますのでご注意下さい。

※ここに記載されている内容は、infoseekの利用規約からの抜粋です。無料サイト・有料サイトにより規約内容が違う場合があります。また、規約等は改定されている場合がありますので、必ず正規規約をご自分で確認して下さい。
AAA!CAFE
【概要のみ】
CGIを置くディレクトリは701以上にしてください。
けっして707や777など他人がディレクトリに書き込めるようにしないでください。CGIが動きません。
CGIプログラム作者がディレクトリのアクセス権を777と指定している場合でも、こちらを優先してください。
CGIプログラム(.cgiのファイル)は700以上、書き込みファイル(それ以外のファイル)は600のアクセス権を設定してください。
作者指定
AAA!CAFE
755
705
666
600
644
600
777
705
CGI(perl)を設置するディレクトリ
705
http://○○.aaacafe.ne.jp/のアドレス以外からリンクでは使用できません。
他のホームページから直接下記のCGIをリンクはできません。
『cgi-bin』ディレクトリ(フォルダ)は必要ありません。
改造を失敗する→この場合、サーバーが暴走しますのでアカウント削除になります。
更新時間を一分以内にしている→この場合もCGIの暴走が、多発しています。アカウント削除となります。
(更新時間は、10分以上でお願いします。)

※ここに記載されている内容は、AAA!CAFEからの抜粋です。無料サイト・有料サイトにより規約内容が違う場合があります。また、規約等は改定されている場合がありますので、必ず正規規約をご自分で確認して下さい。

2004/10/12
 TOP > 野良猫のCGI講座 > 『1. CGI/Perlの設置方法』