XAMPPサーバ、ドライブ変更

目的は
web公開ディレクトリを デフォルトのディレクトリから
別のドライブのディレクトリに変更すること。

仮として
デフォルトの作業ディレクトリを
C:/xampp/htdocs
変更後のディレクトリを
Z:/www
とする。

/conf/extra以下だけイジればOK。
※タグ内のOptionとかの設定は諸々変更すればいい

1.作業ドライブを単純変更

httpd-vhosts.conf

<VirtualHost *:80>
Alias / "Z:/www/"
</VirtualHost>
<IfModule alias_module>
<IfModule mime_module>
<Directory "Z:/www/">
# Options Indexes FollowSymLinks
Options All FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
ServerSignature Off
</Directory>
</IfModule>
</IfModule>

を追加。

2.Document Rootも変更

mod_rewrite使うから、Document Rootも変更しないと都合が悪い
という場合。
httpd-vhosts.confに『1.』の前で、元々

<VirtualHost *:80>
DocumentRoot C:/xampp/htdocs
ServerName localhost
</VirtualHost>

となってるとこを

DocumentRoot Z:/www
<VirtualHost *:80>
# DocumentRoot C:/xampp/htdocs
ServerName localhost
</VirtualHost>

に変更。

元々なければ、上記の1行目だけを 『1.』の前に追加すればいい。

3.xamppも見れるようにしておきたい

xamppで元々見れるようになってた部分が見れなくなってる。
(この状態でも /mysqladmin と一部は見れる)

これを解消したい場合、httpd-xampp.confを変更するのだが、
バージョンによって違いがあるから注意。
まぁ、やってることは同じだけど…

xampp1.7.3では

<IfModule alias_module>
Alias /xampp "/xampp/htdocs/xampp"
<Directory "C:/xampp/htdocs/xampp">
<IfModule php5_module>
<Files "status.php">
php_admin_flag safe_mode off
</Files>
</IfModule>
AllowOverride AuthConfig
</Directory>

を変える

それより古いのだと

<Directory "/xampp/htdocs/xampp">
<IfModule php5_module>

となっている部分に一文を以下

Alias /xampp "/xampp/htdocs/xampp"
<Directory "/xampp/htdocs/xampp">
<IfModule php5_module>

のように追加。

4.元々作成しておいたものはそのまま見れるようにしておきたい

例えば
URL: http://localhost/test
PATH: C:/xampp/htdocs/test
というのを作成していたとして、これが見れなくなるのが都合が悪いとする。

この場合、
httpd-vhosts.confに『1.』よりも『2.』よりも前で

<VirtualHost *:80>
Alias /test "C:/xampp/htdocs/test"
</VirtualHost>
<IfModule alias_module>
<IfModule mime_module>
<Directory "C:/xampp/htdocs/test">
Options Indexes FollowSymLinks
Options All
AllowOverride All
Order allow,deny
allow from all
</Directory>
</IfModule>
</IfModule>

これで
http://localhost/test
にはアクセス出来るけど
http://localhost/test/test.php
にアクセス出来ないとかなった場合、

<VirtualHost *:80>
Alias /test/ "C:/xampp/htdocs/test"
</VirtualHost>

みたいな感じで
Alias に 設定した2つの情報の最後の文字『/』が揃ってない。
尻に『/』は付けないようにしておこう。

注意点

全部対応する場合、
httpd-vhosts.conf に書く順番としては
『4.』→『2.』→『1.』となる。
書く順番次第では全体的に見れなくなって「rootどこ!?」てなるよ。

これでも巧く行かない場合、
VirtualDocumentRoot が悪さしてることがある。
手っ取り早く消してしまえ。

あと他になんか出たりしたら
log/error.log を、読んだ方がいい…
組んだプログラムのScriptエラーが出たとき以外読んだこと無かったよ…汗

xamppアップデート

※xamppアップデート時にこの変更が戻ってしまうので、アップデート前に保存すること。
httpd-vhosts.conf ・ httpd-xampp.conf とSSL使ってる人はhttpd-ssl.confだけ保存しておけばいいけど、念のため /conf/extra まで保存しておいた方が何が変わったか確認出来るし無難かと。

メモ

Options Indexes
なのはindexを用意してないとこでは、ディレクトリ一覧が見たかったから。

ServerSignature Off
なのはローカルゆえ、どのサーバがエラーしたとかいう情報は要らないから。

phpMyadminが文字コードおかしい

場合によっては文字化けするのでその対応。
phpMyAdminで文字コードを変更

更新@2011.01.13 09:50
更新@2011.01.04 15:58
更新@2010.10.14 13:35
公開@2010.10.13 11:29

コメント

タイトルとURLをコピーしました