Microsoftのサポートが終了したWindows XPマシンを再利用し、我が家ではそれをサーバーにして自分のブログのテスト環境を構築しています。先日、以前から使用していたHPのマシンがダウンしてしまい、代役を富士通のFMVに任すことにしました。以前に下記の記事を書いたことがあるのですが、今回、新しい方法を見つけたのでそれをここで記事にします。
XAMPPをインストールしたサーバー側の設定
①XAMPPのインストール
Apache Friendsのサイト
Xamppのダウンロードサイトは直ぐ見つかると思いますが、私は上記のサイトからダウンロードしました。Windows 7以降であれば最新のバージョンをダウンロードすることで問題ないでしょうが、私の場合はWindows XPだったので
『Windows XP or 2003 are not supported. You can download a compatible version of XAMPP for these platforms here.』
という表示に従って『here』からダウンロードしました。
Xamppのインストール方法については、多くの記事が見つかるはずなのでそれを参照してください。ダウンロード方法は結構変更されているらしく、なるべく新しい記事を探して参考にすると良いでしょう。
②サイト設置用フォルダの作成
普段、私たちがインターネットのサイトを訪問する際、ブラウザにURLを記述します。ここでは自分のブログを自分のPCに置き、置いたホルダ名をブラウザで指定することでアクセスしようというものです。PC用語ではバーチャルホストと呼んでいますが、PCの特定のフォルダを仮想的にホスト(サイト)とみなしてアクセスすることになります。
まず、サイトを置くフォルダを作成します。名前は何でも良いのですが、ここでは『test1』としてみました。問題はこのフォルダを作成する場所なのですが、インストールしたxamppの『htdocs』というフォルダの下に作ってください。仮にXAMPPをCドライブにインストールしたとすると、
- C:/xampp/htdocs
となっているハズです。
- C:/xampp/htdocs/test1
のようにhtdocsの下にtest1を作成してください。
③テスト用ページの用意
ブラウザでtest1にアクセスした時、表示されるページを用意します。htdocsフォルダの中に『index.html』というファイルがあるのですが、それを使うのが良いと思います。このファイルをTeraPadなどで開いて『It works!』を『It works! test1』のように書き換えてください。書き換え終わったら、それを先ほどのtest1フォルダの中に置きます。これからやる設定が全てうまくいった場合、ブラウザに『It works! test1』と表示されるはずです。
④バーチャルホストの設定
いよいよバーチャルホストの設定です。設定を記述するファイルは『httpd-vhosts.conf』という名前で以下の場所にあります(XAMPPをCドライブ直下にインストールした場合)。
- C:\xampp\apache\conf\extra\httpd-vhosts.conf
『httpd-vhosts.conf』の中は以下のようになっています。
# Virtual Hosts # # Required modules: mod_log_config # If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at # <URL:http://httpd.apache.org/docs/2.4/vhosts/> # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # ##NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ##ServerName or ##ServerAlias in any <VirtualHost> block. # ##<VirtualHost *:80> ##ServerAdmin webmaster@dummy-host.example.com ##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com" ##ServerName dummy-host.example.com ##ServerAlias www.dummy-host.example.com ##ErrorLog "logs/dummy-host.example.com-error.log" ##CustomLog "logs/dummy-host.example.com-access.log" common ##</VirtualHost> ##<VirtualHost *:80> ##ServerAdmin webmaster@dummy-host2.example.com ##DocumentRoot "C:/xampp/htdocs/dummy-host2.example.com" ##ServerName dummy-host2.example.com ##ErrorLog "logs/dummy-host2.example.com-error.log" ##CustomLog "logs/dummy-host2.example.com-access.log" common ##</VirtualHost>
上の記述を見ると、行頭に#や##がついています。これはコメントアウトと呼ばれているもので、これが付いている行の処理は行われません。つまり、XAMPPのバーチャルホストの機能は、ディフォルトでは停止されている訳です。
test1のフォルダをバーチャルホスト化するため、文末に以下の記述を追加してください。
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/test1" ServerName test1 </VirtualHost>
⑤XAMPPを置いたサーバー内でアクセス可にする
④の設定でバーチャルホスト『test1』と実際のフォルダ『test1』の関係をセットしましたが、これだけではブラウザからうまくアクセスできません。『test1』というホストが何処のサーバー(PC)にあるのかがこのままでは不明だからです。その為、以下のファイルを一部書き換えます。
- C:\Windows\System32\drivers\etc\hosts
ここで問題がでてくるのですが、TeraPadでそのファイルを開こうとすると、『他のプロセスにより書き込みが禁止されている可能性があります。書き換え禁止をセットしました。』というコメントが表示されて修正が一切行えなくなります。この場合はTeraPadを一旦終了させ、TeraPadを右クリックして出てきたメニューの中から『管理者として実行』をクリックしてください。今度は問題なく開くと思います。
注:XPの場合はこのような禁止措置は行っていないようです
『hosts』を開くと以下のようになっていると思います。ここも大半がコメントアウトされており、機能しているのは最下行の『127.0.0.1 localhost』の部分だけです。ここで使われているIPアドレス『127.0.0.1』は特別なアドレスで、自分自身を指しています。そしてそのIPアドレスのホスト名(サーバー名)が『localhost』ということになります。
# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. 127.0.0.1 localhost
ここでやることは、先ほど設定したバーチャルホストを自分自身に向けることです。『localhost』に続けて以下のように記述してください。これで『test1』というホストが自分自身に存在していることをサーバーに知らせているのです。
127.0.0.1 localhost 127.0.0.1 test1
⑥XAMPPサーバー内でのテスト
ここでこれまでの設定がうまく行われたかどうかをテストします。その前に、XAMPPを動かしながら行っていた場合は一旦Apacheを終了させて再度立ち上げてください。
ブラウザのURL入力欄に『http://test1/』と入力して下さい。ブラウザに『It works! test1』と表示されていれば成功です。
サーバーにアクセスする他のPC側の設定
①XAMPPのあるPCのIPアドレスを取得する
これからの設定はバーチャルホストにアクセスするPC側の設定です。準備作業として、アクセスしたいサーバー側のIPアドレスを調べてください。アクセスするPC側でブラウザのURL欄に『http://test1/』と入力した場合、LAN内のどのPCにアクセスすれば良いかをアクセスするPPCに教えてあげる訳です。
IPアドレスは簡単に調べられるのでメモって置いてください(その方法はここでは省略します)。
②アクセスするPC側の設定
アクセスする側のPCの設定は、サーバー側の設定で最後に行ったものと同じ作業です。サーバー側では『test1』というホストが『127.0.0.1=自分自身』にあることをサーバーに伝えたのですが、今回は『test1』というホストが『調べたIPアドレス=サーバー』にあることをアクセスしようとしているPCに教えるのです。変更を加えるファイルは、アクセスするためのPC上の以下のファイルです。
- C:\Windows\System32\drivers\etc\hosts
localhostの記述の後に、先ほど調べたIPアドレスとtest1の記述を加えてください。参考に私の例を表示します(ここのIPアドレス『192.168.1.3』は私のPCのアドレスです)。
127.0.0.1 localhost 192.168.1.3 test1
③最終テスト
まず、アクセスする側のPCを再起動させてください。そしてブラウザを開き、URL欄に『http://test1/』と入力して改行します。ブラウザに『It works! test1』と表示されていれば成功です。
これでXAMPPを導入したサーバーに他のPCからアクセスすることが可能になりました。新たにWordpressで(テスト用の)サイトを立ち上げる場合、フォルダ『test1』にWordpressをインストールして作成することができるようになりました。アクセスするPCのブラウザで『http://test1/wp-login.php』と入力すると、Wordpressの管理画面に入ることができます。
バーチャルホストの名前を『test1』としてきましたが、同じ作業を行えば『test2』、『test3』・・・・と幾らでも数を増やすことができることを示したかったからです。