ミ- z -ミ_。
Book of the miracles
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
XAMPPでLAN内CGIテスト環境構築

以前は ローカルPC1台でCGIのテスト環境を作るため、WindowsServer2003+IISのWebサーバ構築のメモを書いたりしましたが今回LAN(しかも台数に余裕なし)内で同様のCGIテスト環境を作ることになったのでその設定メモです。

  1. VirtualPCで仮想サーバーを立てる
    1. VirtualPCのセットアップ
    2. ダウンロード
      ググル時に「Virtual PC 2007 SP1」てキーワード使わないと、Win7のXPモード用のページになりやがる
    3. インストール
    4. 起動
    5. VirtualHardDiskの設定 (ファイル⇒新しいバーチャルハードディスク)
      WindowsXP(SP2をSP3にアップ済み)がだけのものを用意し、アプリはそのディスクに対して「差分ディスク」を作って保存すること。
      ただしベースディスクはもう変更できないので注意(実は変更出来るしその変更は差分ディスクにも引き継がれるが、エラーメッセージが出るのでやがてこわれるのかも)
    6. VirtualMachine(VMC)の設定
      途中で「既存のVHDD」を選んで上で作ったものを指定。
      メモリは多めに設定しておく。 (最低でも512MB)
      起動したら、拡張機能を必ず設定。じゃないとVGAで、マウスも不自由
      マウスを外に出すには右Altキー押
      終了してる間にVPCコンソールから「設定-画面」で、「ゲストOSの解像度を使用する」を選択。こうしないと窓が小さすぎて何するのも大変。
    7. Windows Update
      ネット見るならFLASH と ADOBE Readerも忘れずに
    8. IEのアップグレード(7や8へ)セキュリティソフトの設定など
  2. XAMPPでWebサーバとFTPサーバを立てる
    1. XAMPPのセットアップ
      1. ダウンロード
        今回使用したのは1.7.3。ネット上には色々XAMPP設定のヒントがあるが、わりと1,6xxxが多い。セットアップ中の画面やら、Apacheの設定やらが結構違う。
      2. インストール
        1.7.3の最後には、setup XAmpp.batが起動する。文面を読んで、まあデフォどおり(Y とか Nとか)進めて、この画面にきたら、「1」
        xamp3.jpg

      3. コンソールでサービスの起動xamp5.jpg
        ApacheとFileZillaを使う。(FileZillaはFTPサーバ。今回はクライアントからのアップロードをFTPで行うため。ファイル共有で行う場合は、User用フォルダを共有フォルダに入れればOK)
      4. セキュリティ設定
        Apacheが起動したら、「ADMIN」ボタンをクリック。
      5. 「日本語」をクリック
        xamp6.jpg
      6. 「おめでとーございます」画面が出たら、画面の指示に従って、左メニューの「ステータス」クリック。状態確認。
        xamp7.jpg

      7. 次にセキュリティをクリック。↓がその画面。初期ではこの画面にネットワーク経由で誰でも入れるのでパスワード設定が必要。
        xamp8_.jpg

      8. ↑の画面を少し下にスクロールしたところに「ここクリック」、って書いてあるところをクリックして、XAMPP設定画面(今見てる画面)にユーザー&パスワードを設定。MySQL入れてる人はそれの設定も。
        ここではMySQLは入れてないので設定用のテキストボックスが出てない。
        xamp9_.jpg  
      9. Apacheの設定
        設定はダイアログボックスなどGUIで行うのではなく、設定記述ファイルへの記載変更でおこなうキャラクタベース。この設定については、ネットをあさると「xxx行目のxxx」というのが多かったが、多分Apache単体とXAMPPのAPACHEとの設定ファイルは違う、XAMPPのVerによっても異なると思われ、あてにならなかったのでここでも記載しない。「検索」機能などで探すこと。
        1. httpd.confの確認と編集
          必ず元ファイルをリネーム(httpd.oldなど)し、設定をとっておくこと。んで、変更したら毎回Apacheを再起動すること。

          出来れば行番号のわかるエディタがあるとよい。

設定項目httpd.conf)
C:\xampp\apache\conf\httpd.conf を開く。
httpd.confは、#で始まる行は「コメントアウト」されていて、設定値が無効になっている。以下の記述を探して確 認・変更すること
   1. ServerRoot "c:/xampp/apache"
      Apacheフォルダの位置。デフォ通り
   2. Listen 80 ポート番号。デフォ通り
   3. DocumentRoot "c:/xampp/htdocs"
      htdocsフォルダの位置=htmlファイル格納場所。変更可能だがその場合は自分でフォルダを作る。ただし、多ユーザの場合はUserフォルダを作る。後述。
      .haccess(アクセス権設定ファイル)はこの中の「\xampp」フォルダ内にある
   4. 

          Options FollowSymLinks

          AllowOverride None

          Order deny,allow

          Deny from all
     
      デフォルトのAccess設定。全てのアクセスを拒否する。
   5.
      Options Indexes FollowSymLinks Includes ExecCGI

      AllowOverride All

      Order Allow,Deny

      Allow from All は、
      ⇒Allow from 192.168.1.0/24 (に書き換え)
  

      DocumentRootで指定したフォルダへのアクセスや、CGIなどの実行権限
          * Options~  :SSI(Includes)、CGI(ExecCGI)の実行を許可する。
          * AllowOverride All :.htaccessによるアクセス制御を全て許可
          * Allow from 192.168.1.0/24:LAN内からのアクセスのみ許可
   6. 
      AllowOverride None
      Options None→Options Indexes FollowSymLinks Includes ExecCGI へ変更
      Order allow,deny
      Allow from all⇒ほんとはLAN内に限った方がいいかも。
     
      CGI置き場の設定。
   7. AddHandler cgi-script .cgi .pl .asp
      拡張子cgiなどを登録。コメントアウトされていたら#をとる
   8. AddType text/html .shtml
      拡張子shtmlをSSIとして動かす登録。コメントアウトされていたら#をとる
   9. LoadModule userdir_module modules/mod_userdir.so
      コメントアウトされているので、行頭#を取る。コレをしないとUser別フォルダ設定が死ぬ。
  10. ScriptAlias /cgi-bin/ "C:/xampp/cgi-bin”/cgi-bin/ "C:/xampp/cgi-bin/"
      末尾に/がないのでつける。

設定項目httpd-usedir.conf)
# httpd-userdir.conf の設定(c:\xampp\apache\conf\extra)ここでユーザー別フォルダを設定する。

   1. Usedir "フォルダの場所"
      どこでもいいが、前項5で、ドキュメントルートを全解放しているので、その中でもいい。このフォルダは自動生成されないので、自分で作る。そしてその中にユーザー名のフォルダをユーザー数分だけ作っておく。
      http://(WebServerのIPアドレス/~ユーザー名/
      で、ユーザー別のindex.htmlにリダイレクトされるようになる。


テーマ:CGI(Perl) - ジャンル:コンピュータ

コメント
コメント
コメントの投稿
URL:
本文:
パスワード:
非公開コメント: 管理者にだけ表示を許可する
 
トラックバック
トラックバック URL
トラックバック
copyright © 2017 ミ- z -ミ_。 all rights reserved.
Powered by FC2ブログ.