みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

CGI設置時のpublic.html等の意味。

皆様初めまして。

この度、レンタル掲示板から、レンタルサーバ+CGI掲示板に移行する事としました。

HTMLの知識は殆ど理解しているつもりで、レンタル掲示板やレンタルカウンタやJavaScriptの組み込み方法も問題ありません。

CGIに関しては完全な初心者の為、配布サイトからDLするして対応しています。

ここからが設置の苦労と苦難の連続でした。
あらゆるサイトを読みまくり勉強して、pealパス設定、パーミッション、文字コード、FTPソフトやエディターの問題点はクリアしました。

しかし、設置方法で行き詰まったのが、「ディレクトリのパス」です。
いくら調べても挑戦しても解決に辿り着きません。

ます、どのCGI配布先の説明文にも必ず書いてある「構成図」の見方が分かりません。
一段づつ右にズレて行くのは階層構造を示している事は分かりました。
そこで質問させて頂きます。
質問(1) 殆どのCGI構成図の一番上部には、
/home/USER/
と書いてありますが、これはフォルダ「home」を作成して、その中に「USER」との名前のフォルダを作成すると言う意味でしょうか?
過去に設置に成功した掲示板のCGIは、これを気にせず、“何の指定も無い一番上の階層に”設置しただけで何の問題もなく動きました。

因みに、私がレンタルしたサーバーは「ポケットサーバー」の有料プランです。
参考:http://www.pocket-server.com/service.html

質問(2) 同様にして、構成図の2~3段目付近に書いてある、
public_html / index.html
は何を意味しているのでしょうか?
フォルダ「public_html」の中に、ファイル「index.html」を作成すると言う意味でしょうか?

質問(3) フォルダ「cgi-bin」と「public.himl」について。
私なりに色々と勉強した結果、「(cgi-bin)は、一部のプロバイダでは、このフォルダ以下にCGIを設置しなくてはならない」と書いてあります。
しかし、「ポケットサーバー」の仕様書では「CGIはどこに設置しても可能」との事でしたので、私は掲示板CGIを「どのフォルダに設置」しても問題なく動きました。

同様に「public.html」も、一部のプロバイダでは、このフォルダ内にHTMLファイルを設置しなくてはならない」と書いてあります。

これも同様、私の借りているサーバーでは、この指定も無くどこでも設置可能です。

そこで質問ですが、ポケットサーバーの様にフォルダ「cgi-bin」や「public.himl」の設置が不要なサーバーに、敢えて設置した場合のメリットやデメリットはありますか?
また、この二つのフォルダは、元々何の為に有るのでしょうか?

質問(4) また、ポケットサーバーの様に仕様書上は「public.himl」が不要な場合でも、構成図には書いてある場合には、敢えて作成しなくてはならないでしょうか?

質問(5) 私がレンタルしているサーバーの初期状態のファイルマネジャーを見ると、そこにあるのは以下2つです。
・フォルダ:toiawase
・ファイル:start-page.html
私は後者のstart-page.htmlをindex.htmlに変更してサイトのトップページを作成しました。
さらに、この2つに加えて、「○○bbs」や「○○mail」を言ったCGIを設置しました。
この様な構成で良いのでしょか?_

質問(6) 今後の課題は、配布先Kent Webさんのパスワード制限用CGIである「Password Manager」です。
参考:http://www.kent-web.com/pwd/pwmgr.html

このCGIの構成図を見ても、やはり一番上は「/home/USER/」と書いてありますが、この場合は“何と言うフォルダ”を作成しなければならないのでしょうか?
私の借りているサーバーに例えたら、どの階層に作れば良いのでしょか?

長文でわかりにくい説明で申し訳御座いませんが宜しくお願い致します。

投稿日時 - 2013-02-19 20:00:05

QNo.7953981

困ってます

質問者が選んだベストアンサー

根本的な部分を間違えている。
UNIXはごく普通にされていますが、Windowsしか知らないと分からないかも
どのOSでも、エイリアス(別名)とショートカットという仕組みを持っています。
Windowsの マイ ドキュメント が、いわゆるエイリアスに当たります。
いすれにしろ、

・物理的ディレクトリ/ファイル構成
・OSの認識しているディレクトリ/ファイル構成
・サーバー(この場合プログラムの意味)の認識するディレクトリ/ファイル構成
は別物だということです。

HTTPサーバー(http://hoge.com)が、/abc/efg/hij の要求されたとき、HTTPサーバーの設定で、OSの /user/yosername/public_html をルートとして設定されていると、/user/yosername/public_html/abc/efg/hij を要求されたと判断します。
 一方、ftpサーバーには、ルートがOSのOSの /user/yosername/ だとすると、そのファイルは、/user/yosername/public_html/abc/efg/hij になります。
 よく行われる方法に、CGIとHTMLを異なる物理的HDDに保存させる場合があります。HTTPから見ると、http://hoge.com/cgi-bin/board.cgi 、FTPから見るとftp://hoge.com/cgi-binなのですが、物理的には、/user/usercgi/yousername/board.cgiだったり、

 大事なことは、CGIから見たときのディレクトリが、HTTPサーバーのパスがどうであるかの理解です。
 もちろん、/user/yosername/public_html/abc/efg/hij というファイルが実在するとは限りません。abcがCGI実体で、/efg/hijは単なるデータ(PATH_INFO)と言う可能性もあります。
 もう一点、public.htmlの.はUNIXでは拡張子ではないのでしょう。.htmlを拡張子と判断するのはWindows使いのおちいる誤解の場合があります。
http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/test.html/danmitsu.html/abc.efg.hil
とか・・・

投稿日時 - 2013-02-20 15:56:02

お礼

ご丁寧に有難う御座いました。
初心者の私にとってはとても参考になりました。

投稿日時 - 2013-02-20 16:01:31

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

/home/USER/ = public_html

投稿日時 - 2013-02-20 11:48:53

補足

 

投稿日時 - 2013-02-20 15:55:39

あなたにオススメの質問