XAMPPでデモ環境をつくる
今までWindowsに、PHPでプログラミングがしたくて、Apache、MySQL、PHPを別々に落としたり、XOOPSをさわってみたくて XAIOを入れてみたり、Movable Type(MTOS)をさわってみたくて InstaMTを入れてみたりしていました。えぇ、まったくもって無計画きわまりないです。
そこで、さすがに考えを改めて、XAMPPをベースにして、適宜XOOPSなり、Movable Type(MTOS)なりを入れていこうと思った次第でございます。
XAMPPとは?
ちなみに、XAMPPは、Webサーバを稼動させたいときに、よく利用されているフリーウェアを集めて、パッケージしたものです。XAMPPを導入すると、次のようなものが利用できます。
- Apache
- MySQL
- PHP
- Perl
- SQLite
Windowsだけでなく、MacやLinux、Solarisでも利用できるそうです。Windowsでのデモ版というイメージが強かったのだけれど、UNIXサーバなどに導入して実運用する場合にも使えるようです。
XAMPPのダウンロード
さっそく、XAMPPをダウンロードしてみました。
いつもは、勘で導入作業したりもするのですが、今回は荒木さんの『Movable Type 4.2 パーフェクトガイド』を参考にして、ちゃんと進めることにしました。(P34~51)
もちろん、本などは無くても、XAMPP for windowsのページに、ダウンロードとあわせて、インストールや演習についても記載されているので心配いりません。
XAMPPをインストール
XAMPPをインストールします。特にややこしいことはないはずです。ちょっと気になるのは、次の「サービス」というチェック項目ではないでしょうか。
- Apacheをサービスとしてインストール
- MySQLをサービスとしてインストール
- FileZilaをサービスとしてインストール
「サービス」と言うのは、「ソフトウェアを常駐起動させるか?」というお話とのことです。チェックを入れておくと、Windowsが起動したときに、併せて起動してくれるわけですね。私はデモ環境なので、チェックを外しておきました。必要なときだけ、手動で上げれば特に問題はありません。
XAMPPの起動確認
ApacheとMySQLを、「XAMPPコントロールパネルアプリケーション」で起動(開始)させて、ブラウザに、http://127.0.0.1/を入力し、「XAMPP for Windows(http://127.0.0.1/xampp/)」でステータス確認します。
XAMPPのセキュリティ確認
次に左側メニューのセキュリティをクリックします。次のような警告メッセージが表示されているはずです。1、2、3については、作業が必要になります。4については、管理者判断になります。
- これらのXAMPPページは一般的にネットワーク経由でアクセス可能です。
- MySQLユーザルートにパスワードがありません。
- PhpMyAdminはネットワーク上から自由にアクセスできてしまいます。
- PHPは"safe mode"で起動していません。
MySQLのROOTパスワードとXAMPPディレクトリ制御を設定
警告メッセージの表の下に、「http://localhost/security/xamppsecurity.php」というリンクがあります。これをクリックすると、セキュリティに対処するページへ行きます。
- MYSQL 項目: "ROOT" パスワード
- XAMPPのディレクトリ制御 (.htaccess)
それぞれ、パスワード、ユーザIDとパスワードを設定しましょう。.htaccessの方は、ユーザIDとパスワードです。間違ってパスワードを2回入れないようにしましょう。
ApacheとMySQLを再起動すれば、反映されます。次の手順で再起動すると良いそうです。Apacheは、起動・停止に時間がかかる場合があるようです。10~20秒程度は待ったほうが良いようです。
- Apacheを停止 → MySQLを停止
- MySQLを起動 → Apacheを起動
ただ、いくら待っても何も起こらない場合もあるようです。そういうときは、しょうがないので、もう一度クリックしてみるしかありません。
PHPをセーフモードにする
PHPをセーフモードにしておく場合は、php.ini(C:\xampp\apache\bin\php.ini)の設定を変更します。php.iniをテキストエディタで開き、「safe_mode = On」を、「safe_mode = Off」にします。
設定を反映するには、Apacheの再起動が必要になります。
MySQLデータベース作成
phpMyAdminを使って、MySQLデータベースを作成します。左側メニューのphpMyAdminをクリックして、特権をクリックします。「新しいユーザを追加する」をクリックします。
ユーザ名:任意、ホスト:ローカル、パスワード:任意、ユーザ専用データベースで、「同名のデータベースを作成してすべての特権を与える」を選択し、[実行する]クリックします。
Perlのインストール
なぜか分かりませんが、XAMPP for Windowsには、Perlが入っていないそうです。XAMPPなのにぃ?ActivePerlをインストールすることにします。(http://www.activestate.com/Products/ActivePerl/)
「Get ActivePerl」をクリックし、「Download」をクリック、さらに「Continue」をクリックします。(Contact Detailsは入力不要)
ActivePerl 5.8.8.824の「MSI」をクリックすると、ダウンロードが始まります。(5.10.0以降はMovable Type動作サポート対象外だそうです)
ダウンロードできたら、ActivePerl-5.8.8.824-MSWin32-x86-287188.msiをダブルクリックして、インストールをはじめます。
保存場所の変更が必要みたいです。Browseをクリックし、C:\usr\へ変更します。これをしないと、Perlのプログラム冒頭で、「#!/usr/bin/perl」というパスで通らなくなります。いちいち、「#!/xampp/usr/bin/perl」と書かないといけなくなるみたい。
インストールが終わったら、コマンドプロンプトから、「perl -v」を打鍵して確認します。さらに簡単なプログラムを作成して、動かしてみると良いそうです。test.cgiなどの名前でプログラムを作成し、C:\xampp\htdocs下におきます。ブラウザにhttp://127.0.0.1/test.cgiと入力して表示します。(以下、『Movable Type 4.2 パーフェクトガイド』より)
DBD-mysqlモジュールを追加する
DBD-mysqlモジュールをインストールします。DBD-mysqlモジュールを追加することで、PerlからMySQLを操作できるようになるそうです。
コマンドプロンプトから、「ppm」を打鍵すると、PPM(Perl Package Manager)が起動します。ここで、[View]-[All Packages]を選んですべてのパッケージを表示します。
検索から、DBD-mysqlを入力して探してみましょう。見つかったら、「DBD-mysql」を選択し、右上にあるアイコン「Mark for install[+]」をクリックし、右矢印(Run marked actions)をクリックすると追加できるようです。
私は見つからなかったので、「Index of /PPMPackages/zips/8xx-builds-only/Windows」で落として、コマンドラインから「ppm install DBD-mysql.ppd」して追加しました。(DBD-mysql-3.0002追加)
PPMでエラーがでたら?
ひとつ残念なお知らせがあります。前述のコマンドラインでの「ppm」ですが、次のようなエラーになることがあるようです。
これは、ユーザ名を漢字で作成している場合に起こるみたいです。(Documents and Settings下のフォルダ名が漢字のため文字化けしたのかな?)
しょうがないので、ユーザ名を英数字に変えようと思ったんですが、これがなかなか厳しい。ユーザ名は変更できるみたいですが、Documents and Settings下のフォルダ名は変わらないようです。
ちなみに、ユーザ名を変えたいだけなら、コマンドラインから「rundll32 netplwiz,UsersRunDll」を打鍵して、「ユーザーアカウント」の設定画面にて変更できます。
それで、どうすれば良いかというと、新たに英数字でユーザ名を作成して、プロファイル(設定)をコピーするしかないようです。方法は、Microsoftさんのページで『Windows XP でユーザー プロファイル名を変更する方法』紹介されています。
ただ、試してみたんですが、これでも私は出来ませんでした。「コピーする権限がない」とか何とか言われました。Administratorでログインしているのに権限がないって、どういうことでしょうね。
「使用を許可するユーザー / グループ」も設定して、何度か試してみましたがダメでした。(コピー先のユーザ環境が破壊される可能性があります)
しょうがないので、ちまちま設定を手動で移し変えています。ユーザ名を英数字にしたら、前述のエラーは出ませんでした。
えぇ、そうです。ユーザ名を漢字なんかで作成した私がすべて悪いんです。Windowsというのは、そういうものです。
こんばんは!
実は自分も先日、wordPressのためにXAMMPいれたばっかです。
一気にできるのっていいよね
でも、kumacrowさんの記事での、
「Perlのインストール」以下はやってないやー
やったほういいかな
ひろこさん、こんにちは。
コメントありがとうございます。
おぉ!XAMPP入れてたんだぁ。
WordPressは、どんな塩梅ですか?
Perlは、どうなんでしょうね。
MT入れるなら、必要になるよね、きっと。
特にすぐに必要にならなければ、
後回しでいいんじゃないかしら。(ФωФ)んにゃー
おぱようございます!
そっかあ、じゃあ必要になったら入れたいと思うよ。
実はXAMMP入れただけで結構「なんぞこれ」と言う感じなので
ちょっとずつやってく(;´∀`)
うん。
WordPressは、PHPベースやから、Perlはいらんもんな。
ひろこさんの好きなデータベース(MySQL)も、いじれますなぁ。
私は久しぶりに、
PHPプログラミングをぼちぼちやっています。
久しぶり過ぎて、すっかり忘れているけれど。(´Д`;)やんもう