XAMPPのインストールが完了したのでローカルサーバ環境を構築できるようになりました。
実際にサーバを起動してサンプルを用い表示確認をしてみたいと思いますが、その前にドキュメントルートについて説明しておきます。
ドキュメントルート(Document Root)について
標準でHTMLやPHPファイルを入れる場所は C:¥xampp¥htdocs¥ となり(OSインストール先がcドライブの場合)、このフォルダを ドキュメントルート(Document Root)と呼びます。
レンタルサーバによって異なりますが “example.com/public_html/” や “www/htdocs/”に当たる部分と考えて頂ければいいと思います。
ドキュメントルートに保存したファイルへのアクセスはブラウザから http://localhost/ または http://127.0.0.1/ となります。
では実際に表示を確認したいと思います。
まずXAMPPコントロールパネルからApacheとMySQL(今は必要ありませんが後の作業の為)を開始します。
以下のソースをテキストエディタに入力し sample.php で C:¥xampp¥htdocs¥ に保存、http://localhost/sample.php にアクセスすると “Hello WordPress” の表示が確認できると思います。
[sample.php]
<?php echo "Hello WordPress";
ブラウザのリクエストURL | http://localhost/sample.php |
コンテンツの保存先 | C:¥xampp¥htdocs¥sample.php |
実習では C:¥xampp¥htdocs¥ 以下にフォルダを作成してそのフォルダを1つのウェブサイトとしてWordPressを構築していきます。
ただ、このままでは以下の様にサブディレクトリ形式となり、独自ドメインでの運用を想定した時に違和感を感じてしまいます。
ウェブサイトhoge | http://localhost/hoge/ |
ウェブサイトhuga | http://localhost/huga/ |
そこでバーチャルホストの設定をして以下の様に独自ドメインでの運用と同様のURLでアクセスできるようにしたいと思います。
ウェブサイトhoge | http://hoge/ |
ウェブサイトhuga | http://huga/ |
バーチャルホストの設定
バーチャルホストという用語は、1 台のマシン上で (www.company1.com and www.company2.com のような) 二つ以上のウェブサイトを扱う運用方法のことを指します。 バーチャルホストには、各ウェブサイトに違う IP アドレスがある 「IP ベース」と、それぞれの IP アドレスに 複数の名前がある「名前ベース」とがあります。 複数のサイトが物理的に同じサーバで扱われている、ということはエンドユーザには 明らかではありません。
Apache バーチャルホスト説明書
上記引用の通りバーチャルホストは1台のマシン上で複数のウェブサイトを扱う運用方法です。今回は「名前ベース」の手法を用い、127.0.0.1(ループバックアドレス:ネットワーク上における自分自身の仮想的なアドレス)に複数のホスト名を設定したいと思います。
編集が必要なファイルは以下2つ、hosts ファイル(IPアドレスとホスト名の対応を記述したテキストファイル)と httpd.conf(Apacheの設定ファイル)です。
- C:¥Windows¥System32¥drivers¥etc¥hosts
- C:¥xampp¥apache¥conf¥httpd.conf
また、前提として C:¥xampp¥htdocs¥ に wbkagawa フォルダを作成、先ほどの sample.php を index.php にリネームし wbkagawa フォルダに移動、http://wbkagawa/ でこれが閲覧できるように設定します。
hosts ファイル
Windows7 64bit環境(Vista環境)では hosts ファイル編集に管理者権限がとなります。hosts ファイルに関してはメモ帳で編集可能なのでメモ帳を使用します。
まず、”メモ帳アイコン上で右クリック > 管理者として実行”
ユーザーアカウント制御ダイアログが出るので「はい」をクリック。
“ファイル > 開く” から hosts ファイルがあるディレクトリまで辿り、「テキスト文書(*.txt)」を「すべてのファイル(*.*)」に変更。ファイル一覧が出てくるので hosts ファイルを選択し「開く」。
“127.0.0.1 wbkagawa”を追加して上書き保存で hosts ファイル編集完了です。
[hosts]
127.0.0.1 localhost ::1 localhost 127.0.0.1 wbkagawa
httpd.conf
テキストエディタで httpd.conf を開き一番下に以下ソースを追加します。
[httpd.conf]
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/wbkagawa/" ServerName wbkagawa </VirtualHost>
1行目の NameVirtualHost ディレクティブは名前ベースのバーチャルホストを用いる時に必要で、バーチャルホストのためのIPアドレスを指定しています。
今回はすべてのIPアドレスを受け入れ80ポートを指定しています。
NameVirtualHost ディレクティブ
3-6,8-11行目で、扱うホスト名に対して VirtualHost を作成しています。 VirtualHost ディレクティブの引数は NameVirtualHost ディレクティブで指定した引数 *:80 に正確に合っている必要があ ります。
そして VirtualHost の中に各ホスト名に関しての設定を記述しています。
設定項目は最低限必要な、どのホスト名が扱われるかを示す ServerName ディレクティブ(hosts ファイルで設定したホスト名)、そのホスト名のドキュメントルートの場所を示す DocumentRoot ディレクティブとなります。
また、既存サーバにバーチャルホストを設定するとメインホストがなくなるため、1つ目の VirtualHost で再定義しています。
名前ベースのバーチャルホスト
XAMPPコントロールパネルからApacheを再起動して、ブラウザで http://wbkagawa/ へアクセスすると “Hello WordPress” の表示が確認できると思います。
以上でローカル環境でサーバが動作しているのが確認できたと思います。
ただ、XAMPP環境設定がデフォルトのままだとセキュリティに問題があるので次はXAMPPの環境設定(セキュリティ設定)を行なっていきます。