フォローアップ資料(PDF/5ページ/456KB)

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 等
のサービスを利用することをお勧めします。