Windows用XAMPPの導入
これまで、PHPの動作を確認するために、玄箱HGの特別なディレクトリに一旦おいて確認していました。しかし、やっぱり面倒なので、PHPSPOTさんのサイトを参考に、Windows上でもApache、PHP、MySQLをインストールしました。別々にインストールすることも可能ですが、XAMPP(ザンプと呼ぶみたいです)という簡単にインストールできるものを使用しました。当初、玄箱ともOpenGLとも関係ないので、インストール方法を紹介するつもりはなかったのですが、ハマってしまったので、私のような人もいるかな?と思い、インストール方法を書きました。
XAMPPのインストール
XAMPPのサイトから最新版をダウンロードします。07/04/28時点では、v1.6.1が最新でした。どうやら、Apache, PHP, MySQL以外にも色々なものがくっついているみたいです。次のように、インストーラ版、ZIP版、EXE版とあるみたいですが、最も簡単そうなインストーラ版をダウンロードしました。

インストール自体は簡単で、途中、次のような画面がでてきますが、デフォルトどおりで構いません。ちなみに、下の3種類のオプションは、Apache、MySQL、FileZilla(たぶんFTPみたいなサーバ)をサーバとして自動起動させるかどうかの設定ですが、後からでてくるコントロールパネルで設定可能です。

この後、次のようなXAMPPのコントロールパネルが起動されます。

ここで、ApacheやMySQLの開始ボタンを押して、次のように起動すれば成功です。

Apacheが起動できない場合
上記のように、すんなり、Apacheが起動できた方は問題ないので、http://loaclhost/とすれば、XAMPPの画面になります。しかし、私の場合は、Apacheを起動することができませんでした。最初、原因がよく分からなかったのですが、DOS窓でXAMPPがインストールされたディレクトリC:\xamppに移動し、apache_start.batを起動しようとすると、次のように失敗します。

ネットでいろいろ調べてみると、「(OS 10048)通常、各ソケット、アドレスに対してプロトコル、ネットワークアドレス、またはポートのどれか1つのみを使用できます。」というエラーメッセージは、ポートがぶつかっているらしく、この場合、ポート80を既に何かのプロセスが使っているようです。多くのサイトで、skypeがポート80を使用していて動かなかった例が紹介されています。しかし、私はskypeなんて知りませんし、動いてもいませんでした。また、Windows FireWallの例外設定でポート80を追加する例もネットで見つけましたが、これも駄目でした。半ばあきらめていましたが、各プロセスがどんなポートを使用しているかを調べるソフトTcpViewがあることを知り、早速ダウンロードして動かしてみました。フォントを大きくして動かしてみると(デフォルトではフォントが小さいので、TcpViewのメニューで大きくした方がいいです)、次のようになります。

最初、ポート80が見当たらず、困ってしまいましたが、よくよく見ると、inetinfo.exeがhttpポートを使用していることに気付きました。このinetinfoが何者かはまったく知りませんでしたが、inetinfo.exeはIIS(Internet Information Service)を動かしているプログラムで、WEBサーバやFTPサーバを起動しているみたいです。私のPCはWindows XPでありWindows Serverではないため、そんなものは動いていないと思っていたのですが、XP Professionalから制限付きで入っているみたいです。「そんなもん勝手に動かさないで欲しいなー!」と思いましたね。で、このIISの停止方法ですが、Windowsの「コントロールパネル」→「管理ツール」→「サービス」を開きます。すると、次のようなサービス(Linuxでいうところのデーモン?)が動いています。

IISを停止するためには、World Wide Web Publishingというサービスを停止します。また、起動が自動になっているので、手動に切り替えます。これで、XAMPPで入れたApacheを起動することができます。XAMPPのコントロールパネルを起動し、次のようにApacheとMySQLを起動します。私の場合、両者をサービス(デーモン)として起動しました。

この後、http://localhost/で次のような画面がでれば、成功です。

この画面は1回目だけで、ここで日本語を選んだ後は、次のような画面になります。最初からApacheやMySQLをサーバーとしてインストールした場合も、次のような画面になります。

XAMPPの設定
XAMPPは、あくまでPHPの開発用であり、このPCでしかアクセスできないようにします。トップディレクトリであるC:\xampp\htdocs、及びC:\xampp\htdocs\xamppに次のような.htaccessファイルを置く事で、XAMPPがインストールされているPCでしかアクセスできないようにします。
Order deny,allow Deny from All Allow from localhost 127.0.0.1
C:\xampp\htdocs\xamppには要らないような気もしますが、あっても害にはならないので置きました。また、C:\xampp\php\php.iniとC:\xampp\apache\bin\php.iniの両方について、次のようなマルチバイトストリングの設定を行いました。と言っても、4箇所のコメント「;」を外しただけです。この辺りは、PHPを使用したばかりで、本格的に日本語を扱ったことがないので、正しいのかどうかよく分かりません。自宅WEBサーバの確認用として最適な設定が分かれば、訂正したいと思います。
[mbstring] ; language for internal character representation. mbstring.language = Japanese ; internal/script encoding. ; Some encoding cannot work as internal encoding. ; (e.g. SJIS, BIG5, ISO-2022-*) mbstring.internal_encoding = EUC-JP ; http input encoding. mbstring.http_input = auto ; http output encoding. mb_output_handler must be ; registered as output buffer to function mbstring.http_output = SJIS
上記以外は、そのままです。このXAMPPには、phpMyAdminもインストールされているので、早速これを使って、MySQLのrootのパスワードを設定しました。phpMyAdminのページから「特権」を選択します。すると、次のような画面になるので、右側のアイコンをクリックします。

すると、次のような画面になるため、パスワードを入れます。

この後、C:\xampp\phpMyAdmin\config.inc.phpにあるrootのパスワードを設定しておきます。
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user $cfg['Servers'][$i]['password'] = '******'; // MySQL password
これで大体設定は終わりです。玄箱HGでは重過ぎて使い物にならなかったphpMyAdminも、PC(私のPCはPentium4 3.0GHz)では、動作が軽いですね。玄箱PROはどうなんでしょう?
最新の7件
OpenGL
電子工作
玄箱HG
- ClamAVのアップデート
- Smartyも入れてみる
- etchでPHP4->PHP5
- etchでのSamba設定
- etchでのメール設定
- 玄箱HGのetch化
- Webdruidでログ解析
- PEARも入れてみる
- 玄箱WEBのUTF-8化
- phpMyAdminでMySQL
- postmasterの変更
- ウィルスメール対策
- SPAMメール対策
- メールサーバ(IMAP)
- メールサーバ(Postfix)
- 猫にXOOPS
- PHPも入れてみる
- MySQLを入れてみる
- Subversion導入
- WebDav導入
- Apacheのrewrite機能
- Apacheディレクトリ設定
- Apache1.3->2.0
- ddclientの設定
- 静かな玄箱
- ユーザ追加