« Fish Bank Tokyo | ホーム | ヨーグルトはじめました »

06 March

VISTAにXAMPPをインストール

備忘録。

社内の営業さんの顧客管理ツールをAccessで作って使ってもらってるんだけど、これから人数が増えるので各ローカルPCのAccessの差分管理をやるのにODBCで接続するMySQLを使おうかと。サーバには既にMySQLはインストールされているものの、開発していく上でローカルのMySQLが必要になったので、XAMPPをインストール。

XAMPPとは?
XAMPPはザンプ(ヨーロッパおよび開発者)または、エグザンプ(アメリカ圏)と読みます。
XAMPP とは、Apache、MySQL、PHP、Perlの頭文字をつなげたものです。これらのアプリケーションをひとつにまとめ、簡単にインストール・アンインストールできるようにしたアプリケーションです。XAMPPは全てオープンソースソフトウェア(OSS)で構成され、無償で利用でき、手軽に利用することができます。【ApacheFriends】

Web上にWindows Vistaでのメモがなかったので残しておく。


インストール

ApacheFriendsのサイトからダウンロード。今回はインストーラをダウンロードしインストール。

「Japanese」→(Vistaのユーザアカウント制御の注意書き)「OK」→「次へ」→インストール先を[D:\xampp]にして「次へ」*1→[Apache・MySQL・FileZillaのサービスをインストール]のチェックを外して「インストール」→(暫く待って)→「完了」→インストール成功!


XAMPPのセキュリティ設定

デフォルトの設定だと外部からアクセスされかねないので、セキュリティ設定。

[D:\xampp\htdocs](ファイルパスはインストール先によって違うので注意)に、 「.htaccess」というファイルを作成。中身は以下。

Order deny,allow
Deny from All
Allow from localhost 127.0.0.1 

「htdocs」は、HTTP でアクセスした際の一番最初のパスになるんで、ここを制限しておけば HTTP での外部からのアクセスは防ぐことができるだろう。


XAMPPのPHP設定

今回のツールでは使わないんだけど、一応マルチバイトの設定くらいはやっておこうかなぁと。

[D:\xampp\apache\bin\php.ini]を開く。

[mbstring]
部分 mbstring~ で始まる部分で ; で始まる行の; をはずしてコメント化を解除。

この設定は、PHP4,5を切り替える際に元に戻ってしまうので、[D:\xampp\php] 以下の *.ini ファイルに関しても同様の編集を行うとぐー。


Apacheが起動しない

使うのにXAMPPのコントロールパネルアプリを起動させればいいんだけど、注意が必要。Skypeを起動しているとApacheが起動しない。厳密にいうと、SkypeがPort80を占拠してしまっているため、Apacheが起動できなくなってしまっていた。

対策として、Skypeを終了してApacheを起動するか、Skypeの設定で[ツール]→[設定]→[詳細]→[接続]のところで、「上記ポートに代わり、ポート80を使用」のチェックを外してSkypeを再起動すればOK。


インストールできてるか確認

2008/12/19 追記
インストールした XAMPP を起動し、Apache・MySQL・FileZillaを開始する。

[http://localhost]に接続。XAMPPのロゴと言語の選択がでればOK。


MySQL -root のパスワードを設定

rootにパスワードないと、いろいろと大変になるので、パスワードを設定。

コマンドプロンプトを起動してMySQLを起動。

d:
cd xampp/mysql/bin

rootでログインする

mysql -u root -p

「Enter password:」と聞かれるので、何も入力しないでEnter。でログイン完了。コマンドプロンプトで下のようになってればログイン完了。

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 5.0.51a Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

パスワードを設定する。(○○○にパスワード)

mysql>UPDATE user SET Password=PASSWORD('○○○')
    ->WHERE User='root';
mysql>FLUSH PRIVILEGES;

それか、phpAdminでもできた。[http://localhost]から左側のメニューで、phpAdminを選択し起動。トップ画面から「データベース」を選択して「特権」タブを選択。ここからユーザを選択し、パスワードを設定できる。(こっちのほうが簡単!)

が、しかし、このままパスワードを設定すると、以下のエラーがでる。

MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください

これはそのままで、phpAdminで管理しているパスワードと、MySQL側のパスワードがアンマッチしているのだろう。なので、[D:\xampp\phpMyAdmin\config.inc.php]を開き、下の△△△の箇所に、上で設定した○○○のパスワードを入れてあげればOK。

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '△△△';

これで使えるはず。
使うとき以外は、XAMPPのコントロールパネルで、ApacheとかMySQLのサービスをきっておくことを忘れないように。

*1 Windows VistaではC:\Programfilesのフォルダのパーミッションが限定されているので、通常のインストールではインストールが成功しない場合がある。 xampp用のフォルダをCドライブの直下とかにディレクトリを作成することをApacheFriendsでは勧めしてました。

参考サイト

Apacheが起動しない・・・ XAMPP試してみました[こころあてに・・・]



« Fish Bank Tokyo | ホーム | ヨーグルトはじめました »