|
||
-☆for beginners☆- |
-☆set up CGI☆- |
初心者向けCGI設定のページです。
初心者で無い方はご遠慮ください。
猫にも出来るCGI
猫には出来ません。本当!!
Total |
|
access |
First update 2,003/ 9/ 4
[ Back ] [ Next ] [ Home ]
−はじめに−
別 名 : 『猫には出来ないCGIの設置』
私もCGIの初心者みたいな者です。 そこで思うのですが、プロバイダーのCGIについてのサポート(説明)はいたって簡単(シンプル)な物が多く
初心者用には説明されていません。(不親切?)
プロバイダーとしては、CGIを設置するくらいなのだからこのくらい分かっていて当然と決め付けているのか、間違えて”サーバーをダウンさせられる
のよりまし”と初心者には分かりずらく書かれているのでしょうか?。でもね・・・(誰だってはじめは初心者です!!)
やってみて初めて分かる、”プロバイダーによってCGIの設置場所なども違う”ので
”初めての人には分かりずらい”
それじゃもっと初心者にも分かりやすくCGIの設定について説明を作ってやると ”作ってみた結果がこのページです”。
わたしも一人で悩みました。(@_@)
※CGIのトラップに掛からない様、分かりやすく書いたつもりです。
注 意 ・
・
・ プロバイダーの説明ページは必ず一通り目を通して下さい。そっちの方が分かり易いかも知れません。
CGIが設置出来ないプロバイダーなのでインターネットマガジン・プロバイダーガイド・プラス でプロバイダーを探す。
他の検索エンジンでもプロバイダーは探せます!!
代表的な検索エンジン
T.CGI設置に用意する物
@ CGIを設置するのに必要な物 : エディタとFTPソフトが必要です。
★ エディタ
・ ・ ・ メモ帳でも良いみたいですが、「MKEditor for Windows
」フリーソフトウェアが使いやすいです。お勧め!!
・
・ ・
プログラム(スクリプトなど)を自分に合う設定に変更するのに使います。
※スクリプトてなに?・・・簡単に言うとCGIプログラムです。下の絵のように書かれています。
※ エディタについて ・ ・ ・ 左の絵はMKEditor for Windowsです。 一行目に書いてあるプログラムPerlパスを自分の プロバイダーのものに書き換えます。(これは必修です。) #!/usr/bin/perl か #!/usr/local/bin/perl のどちら かに書き換えます。これは必ず調べておいて下さ い。プロバイダーのサポートページなどに書かれて いると思います。 |
★ FTP
・ ・ ・
ホームページをサーバー(ホームページを置いておく所)に転送するのに使うソフトです。
・ ・ ・
ホームページを作られていると思いますので説明はいらないかと思いますが簡単に説明します。
※ 私はシェアウェア(800円)の小次郎とフリーソフトウェアFFFTPを使っています。
※ FTPソフト小次郎について 私の場合、小次郎はホームページの転送用に使用して います。 小次郎だと変更したページのみ転送してくれるので大変 便利です。 小次郎は使い方の説明が丁寧に書かれています。 (ホームページ初心者の方には大変使いやすいと思います。) シェアウェア(800円)ですが、試用期間は1週間です。 1週間使ってみて結果を出すのも良いと思います。 シェアウェアは郵便振込みで入金を確認してからパスワード がメールで送られて来ます。詳しくはこれも小次郎の中の ヘルプ?に丁寧に書かれています。 |
※ FTPソフトFFFTP (フリーソフトウェアー)について
こちらのFFFTPはcgiの転送用に使っています。(パーミッションの変更など手動の作業があるため。)
※ FFFTPについて パーミッションの設定をしたり、サーバー内の 確認をするのに便利です。 こちらもヘルプの中に詳しく説明書きがされて いるので、安心して使えます。 多くの人が使われているソフトです。 左の画の右側がサーバー内になり左側が ローカル(パソコン側)になります。 |
−☆設定に入る前に調べておいて☆−
※最初にプロバイダーから送られてきた書類によ---
く目を通しましょう。CGIについて書かれてなければ
サポートページで確認しましょう。
Perlは、「#!/usr/bin/perl
」か「 #!/usr/local/bin/perl 」
です。これは必ず調べて覚えておきましょう。
CGIの設定時に必ず必要になります。 注・・・lは数字の1ではなくL(エル)です。
U.CGIスクリプトの設置場所を確認します。
@ まず最初に、CGIを設置する場所を確認しましょう。プロバイダーによっては初めから設置する場所が決められて
いる場合があります。送られて来た書類をよく読みましょう。わたしの場合は説明書の中の”各サーバーについて”には
次のようなことが書いてありました。
■”あらかじめサーバー内に「bin」というフォルダを設定してある場合があります。 削除や変更をしないで下さい。”■
と書かれてありました。これはその通りに”誤って削除しないように”気を付けましょう。大変な事になってしまいそうです。
A 次に説明書の”CGI使用可能サーバーについて”にこう書いてありました。
■”あらかじめ「cgi-bin」というフォルダを用意してあります、ご自由にお使い下さい。■「ご自由に・・・」と言う事は ・ ・ ・
「ご自由に使っても使わなくてもいい? なんてへそ曲がりな私なんでしょう、最初使いませんでした。
案の定エラーになってしまいました。 ここはお言葉に甘えて必ず「cgi-bin」デレクトリーの中にCGIを設置しましょう。
※このようにプロバイダーによってはあらかじめCGI用のディレクトリ(入れ物)が用意してある場合があります。
その場合は必ずそのディレクトリに設置しましょう。 注・・・そこ以外ではCGIが作動しません。
B 特にCGI用ディレクトリが決められていない場合には「public_html」という名前のデレクトリの中にCGIを設置します。
「public_html」という名前のデレクトリはあなたのホームディレクトリに作ります。ホームディレクトリがpublic_htmlの場合は
作る必要はありません。詳しくはプロバイダーのサポートページで確認して下さい。
このディレクトリに置いた.htmlの書類がホームページとして映し出されるのです。
※実はわたしここがもう分からなかったんです。 「public_html」という名前のデレクトリを自分のディレクトリの中に作った
んです。「cgi-bin」のディレクトリがある場合はもうその「cgi-bin」が置いてあるディレクトリが自分のディレクトリなんです。
ちょっとややっこしいのですが、下の図のようなものです。
※わたしのディレクトリはhttp://www.○○○.ne.jp/あなたのディレクトリ/ですので下記になります。
@わたしのプロバイダの場合 abcde/index.html |
public_html/index.html |
※ここでつまずいてしまわないようによーーく図を見て納得してから進んで下さい。
@ の場合は自分のディレクトリの中にcgi-binのディレクトリがありその中にCGIを設置する。
index.html書類と同じところにcgi-binのディレクトリがあります。abcde(あなたのディレクトリ)の中にindex.html書類とbin
(ディレクトリ)とcgi-bin(ディレクトリ)があるという図です。あくまでもわたしの場合です。cgi-bin(ディレクトリ)があらかじめ用意
してあるプロバイダーでもbin(ディレクトリ)が不要で用意していない場合もあります。
■詳しくはプロバイダーのサポートページを確認して下さい。■
注・・でも別にディレクトリを作ってそこにindex.html書類を置いてもよいのですが、自分のディレクトリ(test)が呼ばれた時にindex.html
書類が無いとディレクトリ内が見えてしまう可能性がありますので、ここにindex.html書類を置きます。それに階層を深くしてもアドレ
スが長くなるだけです。
A の場合はホームディレクトリの中にpublic_htmlディレクトリを作りその中にCGIを設置している図です。
注・・上に同じです。
※上の図に.htaccessという書類がありますが次に説明します。
V.環境の設定 <設定ファイル .htaccess
の作り方> ★プロバイダーのサポートページを良くお読み下さい。★
@ 次に環境の設定が必要です。他のサポートページなどでCGIやSSIを使うための設定は「.htaccess」という名前で
下記の内容のファイルをホームページディレクトリに置くと書かれています。
「.htaccess」とは?CGIプログラムやSSIの実行を許可させる?プログラムです。プログラムといってもテキストエディタ
(メモ帳)でも作れます。「.htaccessファイル」の設置場所は親ディレクトリに置きます。
※ プロバイダーによっては初めから設定されている場合がありますので必ず確認しておいて下さい。
前に入会していた@niftyはあらかじめ設定してありました。
※ よく下の文をテキストエディタで書きいて.htaccessという名前で保存して下さいなんて書いてありますが。
下の文は何なのかを少し理解しておきましょう。
Options ExecCGI Includes Indexes AddType text/x-server-parsed-html .html AddType text/x-server-parsed-html .htm AddType application/x-httpd-cgi .cgi |
Option
ExecCGI Includes Indexes
ExecCGI CGIプログラムの実行を許可します。
Includes SSIの実行を許可します。
Option ExecCGI Includes
Indexesを書くことでindex.htmlのないディレクトリを呼び出しても、ディレクトリの中身が
さらけ出されないようにするための文です。
AddType text/x-server-parsed-html .html
AddType text/x-server-parsed-html .htm
拡張子が.htmlと.htmのファイルをSSIが扱えるファイルにするという文です。
AddType application/x-httpd-cgi .cgi
拡張子が.cgiのファイルをCGIのスクリプトであることを認識させる文です。
※CGI設置以外の記述はたくさんありますが、CGI設置に必要なものは上記のようなものになります。
”必要なもの”を記述して下さい。
”必要なもの”と書きましたけど、・・・
それはSSIが利用出来ないのにOption
Includes やAddType text/x-server-parsed-html .html
AddType text/x-server-parsed-html .htmを記述してもサーバーに負荷をかけてしまうだけですから必要か
(SSIが使えるか又は、すでに管理者が設定してないか)確認して下さい。
※以上の説明から”必要なもの”をメモ帳などのテキストエディタでスペース(空白)に注意して記述して名前を
「.htaccess」として保存するのですが、メモ帳だと「.htaccess.txt」となってしまうと思います。それでも構いません
アップロードしてから名前は変えればよいからです。 (名前の先頭のドットも忘れずに)
Options ExecCGI Includes Indexes AddType text/x-server-parsed-html .html AddType text/x-server-parsed-html .htm AddType application/x-httpd-cgi .cgi |
−☆.htaccessファイルの設置場所を間違えない☆−
私はそのまま書いて「cgi-bin」の中に設置してしまいました、するとCGIは作動しませんでした。”あたりまえ”です
作動する訳がありません。なぜでしょう そうなんです設置するディレクトリが違うんです。
そうと知らずにCGIを設置して呼び出してみると ガガガガガーン なっなっ何と・・・
「スクリプトの中身が表示されいるではありませんか」。このエラーの原因調査にだいぶ時間がかかってしまいました。
調査の結果このエラーはCGIが作動していないという事は分かりました。なぜ、作動しないのかが分かりませんでした。
その原因が判明するのに、夜の2時過ぎまで掛かっても出来ませんでした。調べていると次のように書かれているのを
見つけました。
スクリプトの中身が見えてしまうエラーの場合「.htaccess」が正しく設置されていないか、”サーバー管理者が
CGIの実行を許可していない”かですと書かれていました。
わたしはすぐにプロバイダーのサポートセンターにEメールを「CGIの作動がしません、そちらで設定がされていないんじゃ
ないですか?」なーんて出しちゃったんです。 本当にお恥ずかしい次第です。今では笑い話です。
次の朝よーく調べてみると、な な なんとプロバイダーのサポートセンター(下のアドレスの所)に書いてありました。
それによるとCGIについてに、下記のように書いてありました。
CGIを動かすには、「.htaccessファイル」が必要です。.htaccessについては、お客様側で設置してください
http://www.○○○.ne.jp/***/
の下へおいていただければと存じます。 自分のディレクトリの中ですね。
「あせると周りが見えなくなる、これがうわさの”CGIトラップか”?」一度そのトラップにはまると中々脱出が出来ません。
→
違った方向から見られなくなり誤りに気が付かないんです。
注 意・・・.htaccessの記述の最後のx-httpd-cgi .cgiの最後は必ず改行を入れて下さい。
私の調べた範囲で説明しています。
どうかよろしくお願いします。 m(_ _)m