HomePage講座     Yukiの休息所
 Yukiの休息所(趣味の部屋)
 ホームページ講座
 CGI基礎講座
次の項目へ>>
<<前の項目へ


 CGIの使用方法、其の1

CGI基礎講座、第3回は、アクセス制限CGIの設定方法です。

 Lolipopでは、アクセス制限が使えますので、こちらは、CGIの練習用でしょうか?
 作者の、ちゃまねっと様は、数々のCGIを作成しておられます

     「http://www.chama.ne.jp/index.htm
    
 CGI,基礎講座、第3回 アクセス制限CGIの設定方法です。
   CGIファイルは、ちゃまねっと様のページからダウンロードできます。
 御自分の、サーバーのPerlのパスに合っている方をダウンロードして下さい。

 小生の場合、左側をダウンロードしました。中身は、Perlの部分以外は同じ物でしょう。

  http://www.chama.ne.jp/download/etc/basic/index.htm
 ちゃまねっと様のページ、ここからダウンロードできます。

 まず、ダウンロードして、解凍してから、総てのファイルを、 目的のディレクトリにアップロードします。
 目的のディレクトリとは、アクセス制限を掛けたいページのこと、 「v100」フォルダごとアップロードしてください。


 続いて、パーミッションの設定をします。
 パーミッションとは、ファイルに対するアクセス権限の事、 変更・使用等の権限を設定します。
 細かい事は抜きで、設定する方法のみにします。

 まず、フォルダは、総て「755」で良いでしょう。
 CGIファイルは、総て「755」をお勧めします。
 その他は総て「644」に設定しましょう。
 注意点は、「755」を「777」には、しない事です。

 パーミッションは、ビルダーのFTPツールでも、可能ですが、 「FFFTP」の使用が望ましいでしょう。
 「FFFTP」では、属性の変更で、パーミッションを変更可能です。


 次は、「.htpasswd」のパス設定

 「.htpasswd」は、Passwordを暗号化して格納するファイルです。
 このファイルのパスを、 「.htaccess」ファイルに設定するわけです。
 2つのファイルは、アクセス制限をするページに、置きます、 フォルダに入れてはいけません。

 当初の「.htaccess」ファイル、の設定は、上段のようになってますので、 下段のように書き換えます。

 AuthUserFile /cgi-bin/memo/data/.htpasswd
 AuthGroupFile /dev/null
 AuthName "Input ID and Password."
 AuthType Basic
 require valid-user
 <Files ~ "^.(htpasswd|htaccess)$">
  deny from all
 </Files>

 AuthUserFile /home/users/0/sat.jp-owner/web/milk/v100.htpasswd
 AuthGroupFile /dev/null
 AuthName "Homepage."
 AuthType Basic
 require valid-user
 <Files ~ "^.(htpasswd|htaccess)$">
  deny from all
 </Files>

 ここで、「.htpasswd」は、「.htaccess」と共に、 アクセス制限をする、ページ内におきます。
 なお、見本ファイルは、「data」、「folder」内におなじ物が入ってので、 これをコピーすればよい。
 コピーから、書き換えは、MyDocuments内のファイルを加工して、アップロードで、 位置を変えるのが最良です。
 「.htpasswd」と「.htaccess」、は同じフォルダ(アクセス制限を設定するページ)内に、 保存します。

 書き換えは2箇所、1箇所は、3行目のメッセージ部分、 実際に使ってみて変更するのが良いでしょう。
 
 ここで、問題になるのが、残る1箇所の設定に使用する、フルパスです。
 「/home/users/0/sat.jp-owner/web/milk/v100」
 これは、今回例として、使用した物ですから、このままでは使用できません。

 実際に、index.cgiにアクセスすれば、確認できますが、 レンタルサーバーの管理者に問い合わせる方法もある。
 問い合わせ方法は、小生の知らないところ、レンタルサーバーによって決まる物でしょう。


 では、index.cgiにアクセスする方法です。

 御自分のアクセス制限を掛けたいディレクトリに「v100」フォルダを アップロードして有りますね?
 この例の場合「http://milk.owner.sat.jp/v100/」になります、 「http://milk.owner.sat.jp/v100/index.cgi」でアクセスできない場合は、 「http://milk.owner.sat.jp/v100/」でアクセスしてください、 他に、indexの名のファイルが有る場合は困りますが、実際にはありえないでしょう。

 「ID」&「Password」は、「guest」&「1111」が、初期設定して有りますので、 これでログイン可能です。
 アクセス権の設定も、このフォームから、実行できますので、よく覚えてください。

 フォルダの指定はわかりますね、小生の場合は「../」になります。

 このフォームの中段辺りに、フルパスが表示されていますので、 参考にして、直ぐ上の欄に設定します。
 
 フルパス設定が済んだら、登録したい、ID&Passwordを設定して、 「設定」ボタンを押してください。

 事前に、「.htpasswd」と「.htaccess」を 所定の位置に置いておくのを忘れぬようにしてください。
 これで、設定終了、「.htpasswd」を確かめてみてください。

 この例では、「guest」、「1111」で設定し、以下のように設定されました。
 guest:UtOfbXz8t5Cbs
 
 追加、
 CGIの編集には「TeraPad」がお勧めです、無用なトラブルが起きません。
 この意味が、判らない場合は、CGIは、諦めた方が無難です。
 ちゃまねっと様のページで、Passwordの暗号化が、可能ですからこちらを使いましょう。
  http://www.chama.ne.jp/access/index.htm

 これで、アクセス制御CGIの設定方法終了です。