XAMPPの設定(バーチャルホストなど)を別フォルダに分ける方法

Windows XPをクリーンインストールしたのをきっかけに、XAMPPの設定(Apache&MySQL&PHP&バーチャルホストなど)を専用のフォルダに分け、管理がしやすくなるように変更してみました。

前提条件

XAMPPのインストールは、既に完了しているものとします。今回は、インストール先を「C:\Program Files\xampp\」としました(以降、「XAMPPフォルダ」とします)。

そして、ApacheやMySQL、PHPの設定等は「D:\My Documents\xampp\」に保存することにします(以降、「データフォルダ」とします)。

Apacheの設定

Apacheの設定は「XAMPPフォルダ\apache\conf\httpd.conf」に記述されています。設定を追加・上書きできるようにするために、「XAMPPフォルダ\apache\conf\httpd.conf」の最後にIncludeディレクティブを追加します。

Include "D:/My Documents/xampp/apache/conf/httpd.conf"

設定ファイル「D:\My Documents\xampp\apache\conf\httpd.conf"」が追加で読み込まれるようになります。

ドキュメントルートの設定

データフォルダ\apache\conf\httpd.conf」を新規作成し、ここにドキュメントルートの設定を追加、デフォルトの設定を上書きします。また、外部からのアクセスも禁止しておきます。

DocumentRoot "D:/My Documents/xampp/htdocs"

<Directory "D:/My Documents/xampp/htdocs">
  Options Indexes FollowSymLinks Includes ExecCGI
  Order deny,allow
  Deny from All
  Allow from localhost 127.0.0.1
</Directory>

「http://localhost」にアクセスした際に、「データフォルダ\htdocs\」が表示されるようになります。

MySQLの設定

MySQLの設定は「XAMPPフォルダ\mysql\bin\my.cnf」に記述されています。「XAMPPフォルダ\mysql\bin\my.cnf」の最後に次の行を追加することで、別のファイルから設定を読み込めるらしいのですが、うまくいきませんでした。

!include "D:/My Documents/xampp/mysql/bin/my.cnf"

今回は、「XAMPPフォルダ\mysql\bin\my.cnf」を直接書き換えて、データベースの保存場所を変更することにします。

省略
datadir="D:/My Documents/xampp/mysql/data"
省略
innodb_data_home_dir = "D:/My Documents/xampp/mysql/"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "D:/My Documents/xampp/mysql/"
省略

次に、「XAMPPフォルダ\mysql\data\」の中身を全て「データフォルダmysql\data\」にコピーします。

データベースが「データフォルダ\mysql\data\」に対して読み書きされるようになります。

PHPの設定

PHPの設定は「XAMPPフォルダ\apache\bin\php.ini」に記述されています。設定ファイルの読み込み場所を変更するために、「データフォルダ\apache\conf\httpd.conf」にPHPIniDirディレクティブを追加します。

DocumentRoot "D:/My Documents/xampp/htdocs"

<Directory "D:/My Documents/xampp/htdocs">
  Options Indexes FollowSymLinks Includes ExecCGI
  Order deny,allow
  Deny from All
  Allow from localhost 127.0.0.1
</Directory>

PHPIniDir "D:/My Documents/xampp/php"

次に、「XAMPPフォルダ\apache\bin\php.ini」を「データフォルダ\php」にコピーします。

設定ファイルとして、「データフォルダ\php\php.ini」が読み込まれるようになります。

バーチャルホストの設定

ドメインでローカルサーバーにアクセスできると便利なので、バーチャルホストの設定もしておきます。

バーチャルホストの設定は「XAMPPフォルダ\apache\conf\extra\httpd-vhosts.conf」に記述されています。設定を追加・上書きできるようにするために、「XAMPPフォルダ\apache\conf\extra\httpd-vhosts.conf」の最後にIncludeディレクティブを追加します。

Include "D:/My Documents/xampp/apache/conf/extra/httpd-vhosts.conf"

設定ファイル「D:\My Documents\xampp\apache\conf\extra\httpd-vhosts.conf"」が追加で読み込まれるようになります。

次に、「データフォルダ\apache\conf\extra\httpd-vhosts.conf」を新規作成し、バーチャルホストの設定を追加します。

NameVirtualHost 127.0.0.1:80

# localhostの設定
<VirtualHost 127.0.0.1:80>
  DocumentRoot "D:/My Documents/xampp/htdocs"
  ServerName localhost
  <Directory "D:/My Documents/xampp/htdocs">
    Options Indexes FollowSymLinks Includes ExecCGI
    Order deny,allow
    Deny from All
    Allow from localhost 127.0.0.1
  </Directory>
</VirtualHost>

# phize.netの設定
<VirtualHost 127.0.0.1:80>
  DocumentRoot "D:/My Documents/xampp/htdocs/phize.net"
  ServerName phize.net
  <Directory "D:/My Documents/xampp/htdocs/phize.net">
    Options Indexes FollowSymLinks Includes ExecCGI
    Order deny,allow
    Deny from All
    Allow from localhost 127.0.0.1
  </Directory>
</VirtualHost>

最後に、「C:\WINDOWS\system32\drivers\etc\hosts」にホスト名を追加します。

127.0.0.1       localhost
127.0.0.1       phize.net

「http://phize.net」にアクセスした際に、「データフォルダ\htdocs\phize.net\」が表示されるようになります。

以上で、XAMPPで使用されるユーザー固有のデータのほとんどを別のフォルダに分けることができました。MySQLの設定を分けることができなかったのが残念ですが、以前よりは快適な開発環境が構築できました。

MySQLサーバーをバッチファイル「XAMPPフォルダ\mysql_start.bat.bat」から起動する場合は、次のように変更することで設定ファイルの場所を指定することができます。

mysql\bin\mysqld --defaults-file="D:\My Documents\mysql\bin\my.cnf" --standalone --console

コメント (0)

この記事へのコメントはまだありません。

コメントフォーム

トラックバック (0)

この記事へのトラックバックはまだありません。

この記事のトラックバックURI
http://dxd8.com/archives/182/trackback/
この記事のURI
http://dxd8.com/archives/182/