TOTAL:705, TODAY:81

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.exeIIS(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.iniC:\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

ホームページ

日記

Copyright (C) 2007 Arakin , All rights reserved.