CSS Nite in OSAKA, Vol.17 「Blog & CMS を PC へインストール! ~AMP 環境でオフライン制作~」 セミナー補足資料: 「xampp でサブドメインを使用する方法」 カゴヤ・ジャパン株式会社 吉岡和彦 ■概要 xampp(Windows)で、サブドメインを使用する方法を解説します。 今回、設定するサブドメインは「sub.localhost」となります。 ■ポイント 1. サブドメイン「sub.localhost」の名前解決先を、ローカル PC へ向ける 2. 「sub.localhost」のコンテンツを置くディレクトリを作成する 3. Apache が「sub.localhost」で応答するよう、設定を追加する 4. 追加した Apache の設定が反映するよう、Apache を再起動する ■手順 1. サブドメイン「sub.localhost」の名前解決先を、ローカル PC へ向ける windows のシステムファイルである「hosts」(*1)ファイルをテキストエディタで開き、 下記の行を追加し、保存します 127.0.0.1 sub.localhost ※hosts ファイルへ IP アドレスとホスト名(ドメイン名)のペアを登録することにより、ローカル環境で静的な 名前解決を行うことが可能となります *1. hosts ファイルの場所は、WindowsXP(Vista)であれば下記のディレクトリに存在します ⇒ 「C:\WINDOWS\system32\drivers\etc\」 2. 「sub.localhost」のコンテンツを置くディレクトリを作成する 今回は、 「xampp のインストールディレクトリ\htdocs\sub.localhost」をコンテンツの 置き場所(ドキュメントルート)とします。 xampp のインストールディレクトリが「C:\xampp\」であれば、「C:\xampp\htdocs\」へ移動し、 「sub.localhost」という名前のディレクトリを作成します。 3. Apache が「sub.localhost」で応答するよう、設定を追加する Apache の設定ファイルである、 「httpd-vhosts.conf」(*2)ファイルを編集します。 a.サブドメインでアクセス可能となるように、下記の 4 行を追加します。 <VirtualHost *:80> ServerName sub.localhost DocumentRoot /xampp/htdocs/sub.localhost </VirtualHost> ※DocumentRoot は、2 で作成したディレクトリの場所を指定します b.複数のドメイン(サブドメイン)を利用可能とする為、下記設定を追加します。 NameVirtualHost *:80 ※「##NameVirtualHost *:80」となっている行を「NameVirtualHost *:80」と修正しても構いませ ん(#のコメントアウトを外す) c.そのままでは「http://localhost/」が利用できなくなるため、設定を追加します。 <VirtualHost *:80> ServerName localhost DocumentRoot /xampp/htdocs </VirtualHost> ※DocumentRoot はインストールしている xampp のパスに合わせて下さい。xampp を「C:\xampp」へ インストールしている場合は、 「/xampp/htdocs」で問題ありません *2.「httpd-vhosts.conf」 ファイルは、xampp をインストールしたディレクトリの、 「apache\conf\extra」 の中に存在します。 xampp のインストールディレクトリが「C:\xampp\」であれば、 「httpd-vhosts.conf」ファイルは、 「C:\xampp\apache\conf\extra」ディレクトリの中に存在します。 4. 追加した Apache の設定が反映するよう、Apache を再起動する xampp コントロールパネルで、Apache を停止します(「Stop」もしくは「停止」ボタンをクリック) xampp コントロールパネルで、Apache を起動します(「Start」もしくは「開始」ボタンをクリック) (※インターフェースが日本語となっている場合は、Start/Stop ボタンではなく開始/停止ボタンとなります) 5.サブドメインでアクセスしてみる サブドメインを使用するための設定作業は完了しました。 「sub.localhost」のコンテンツを置くディレクトリに、テスト用ファイル(例)「test.html」を作成 して下さい。 ブラウザで「http://sub.localhost/test.html」へアクセスし、上記で作成したテスト用ファイルの 内容が表示されれば、サブドメインで正常にアクセスできています。 ■注意事項 ・Windows Vista で hosts ファイルを変更できない場合は、下記を参照下さい ⇒http://support.microsoft.com/kb/923947/ ・XAMPP for Windows の初期設定では、 「xampp のインストールディレクトリ/htdocs」ディレクトリ以下、 もしくは「xampp のインストールディレクトリ/cgi-bin」ディレクトリのみ、CGI の実行が許可されてい ます。 上記以外のディレクトリにサブドメイン(ドメイン)を割り当てる場合は、 「httpd.conf」もしくは 「httpd.conf」から Include されている設定ファイル内で、当該ディレクトリに対し、CGI の実行を許 可する設定を追加してください。 (例) <Directory /hoge.localhost> Options +ExecCGI </Directory> ・hosts ファイルの変更は、セキュリティソフト等によってブロックされる可能性がある為、注意してく ださい。 ■補足 ・ローカル PC 上のみで、サブドメイン「sub.localhost」を使用する方法を解説しましたが、 「実際に取 得しているドメインのサブドメインをローカル PC へ割り当て、インターネットからアクセスさせたい」 場合は、DNS で名前解決が行われる必要があります。 こちらの場合の手順としては下記となります。 [手順](※割り当てるサブドメインを「sub.example.jp」と仮定します) 1. DNS にローカル PC の IP アドレス(*a)とホスト名を登録する 2. Apache が「sub.example.jp」で応答するよう、設定を追加する(Apache の再起動も行います) 1-2 で作業は完了です。hosts ファイルを編集する必要はありません。 *a. グローバル IP アドレスである必要があります。例えばルーターにグローバル IP アドレスが付 与され、ローカル PC にプライベート IP アドレスが付与されている場合には、ルーターのグロ ーバル IP アドレスを DNS に登録すると共に、インターネットからローカル PC へのアクセスが 可能なように、IP マスカレード等の設定が行われている必要があります。 [注意事項] ・インターネットからのアクセスを受ける場合、必要なアクセスがファイヤーウォールやセキュリテ ィソフトでブロックされないよう、注意してください。 ・インターネットからのアクセスを受ける場合、攻撃を受ける可能性が十分にあります。必要なポー ト(例えば 80 番ポートや 443 番ポート)のみへのアクセスを許可し、その他のポートへのアクセス は拒否する等の対策を行ってください。 ・IP アドレスが変動する場合は、DNS の登録情報を都度変更する必要がある為、ダイナミック DNS 等 のサービスを利用することをお勧めします。
© Copyright 2024 ExpyDoc