XAMPP for Windowsインストール後の設定
久しぶりにXAMPPをダウンロードして使ってみたら、けっこう仕様が変わっていたようにみえた。最新バージョンは1.7.4、リリース日が2011/1/26になっている。ちょっと戸惑うところがあったので、実際に行った設定を整理してみた。
ちなみに、XAMPP for Windowsのトップページから、XAMPP Liteが無くなっていた。けっこう好きだったんだけど……。
XAMPPの推奨設定
推奨かどうかはわからないけど、XAMPPをインストールして最初に開く画面「XAMPP Windows版へようこそ!(http://localhost/xampp/)」にある「セキュリティ」を開くと、警告になっている項目がいくつかある。
この二つの設定はこの画面上で行えるから、そのまま設定した。
他に、Filezilla(FTPサーバ)とMercury(メールサーバ)も出ているけど、デフォルトでは動作しないし使わなければ設定不要。
PHPMyAdminが開けるようにする
XAMPPのメイン画面でMySQLのrootパスワードを設定すると、PHPMyAdminが開けなくなってしまう。
#1045 - Access denied for user 'root'@'localhost' (using password: NO)
設定ファイルに定義されている管理ユーザ(controluser)での接続に失敗しました
MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください
1.7.4より前のバージョンでこういうことは起きなかったと思うけど、メッセージにあるように設定したrootユーザのパスワードをconfig.inc.phpに記述する必要がある。
config.inc.phpは、「%XAMPP\phpMyAdmin」にある*1。
/* %XAMPP\phpMyAdmin\config.inc.php */ /* Authentication type and info */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based) $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '(設定したパスワード)'; $cfg['Servers'][$i]['extension'] = 'mysql'; $cfg['Servers'][$i]['AllowNoPassword'] = true;
同じネットワーク内のPCからXAMPP関連の画面を開けるようにする
XAMPPをインストールして最初から使える画面、たとえば「http://localhost/xampp/」やセキュリティの確認画面や、PHPMyAdminなど。これらはインストールしたPCから開くことはできるけど、同じネットワークにある他PCから開くと、403エラーと次のメッセージが出力されてしまう。
新しいXAMPPのセキュリティコンセプト:
は、要求のディレクトリへのアクセスは、ローカルネットワークから入手可能です。
この設定は、ファイル"で設定することができますのhttpd - xampp.conf " 。
これもおそらく、バージョン1.7.4から追加された設定だと思う。このままで問題ないことも多いと思うけど、他のPCからも開けるようにしたいのであれば、メッセージに従ってファイル[httpd-xampp.conf」を編集する。
# 場所: %XAMPP\apache\conf\extra\httpd-xampp.conf # # New XAMPP security concept # <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))"> Order deny,allow Deny from all Allow from 127.0.0.0/8 ErrorDocument 403 /error/HTTP_XAMPP_FORBIDDEN.html.var </LocationMatch>
「Allow from 127.0.0.0/8」この箇所を適切な値に変える必要がある。今回の自分の環境だと、「192.168.1.XXX」のIPが振られた端末から開けるようになればいいので、次のように変更する。
# 場所: %XAMPP\apache\conf\extra\httpd-xampp.conf # # New XAMPP security concept # <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))"> Order deny,allow Deny from all Allow from 127.0.0.0/8 Allow from 192.168.1.0/24 ErrorDocument 403 /error/HTTP_XAMPP_FORBIDDEN.html.var </LocationMatch>
これで同一ネットワークないの他PCからXAMPPやPHPMyAdminが開けるようになる。この設定はApache2を再起動した時点から有効になる。設定した値が不適切だとApacheが起動しないので、その場合は変更箇所を確認してみる。
「Allow from 127.0.0.0/8」をコメントアウトするのをやめました。確かに不要ですね。はてブでアドバイスくれたひと、どうもありがとう!
PHPのエラー出力を抑制する
KonaWikiをインストールして開いてみたら、「NOTICE」のメッセージがバカスカ出力されてしまった。みた感じでは警告程度のメッセージ。これも従来バージョンのXAMPPでは起きなかったことだな……。対処方法はいろいろあると思うけど、単純にメッセージ出力を抑えたかっただけなので、ファイル「php.ini」を編集した。
php.iniで次のような記述があるので、
; 場所: %XAMPP\php\php.ini display_errors=On
「On」を「Off」にするだけ。
php.iniを書き換えた時点で設定は有効になる。
*1:%XAMPPはXAMPPのインストール先