HomeXAMPPNewsTeamProjectsDocsExtrasLinksContact

XAMPP Windows版FAQ

著者: Kay Vogelgesang   kvo@apachefriends.org
バージョン: 2005年10月31日

1. 一般的な質問

XAMPPがWIndows XP SP2で動作しません
Vistaにまつわる問題!
トップページをどこで変更できますか?
PerlやTomcatを使いたいのですが・・・!
MD5チェックサムの確認方法は?
"php.ini"を変更したが反映されないのは何故ですか?
ヘルプ!XAMPPにウイルスがあります!
システムに十分なメモリがありません
Apacheが起動しません
ApacheのCPU使用率が常に99%です
画像とスタイルシートが表示されません
サーバをWindowsサービスとしてインストールしたいです
どのようにMySQL"root"ユーザのパスワードを設定するのですか?(方法1)
どのようにMySQL"root"ユーザのパスワードを設定するのですか?(方法2)
XAMPPのMySQL以外のMySQLを起動できますか?
すべての人がPHPMyAdminにアクセスできてしまいます!
PHP用のIMAPはサポートされていますか?
ほかのオープンソースのプログラム(CMSのような)が動作しません!
インストール後、XAMPPのinstallフォルダを削除できますか?
Frontpage拡張モジュールはありますか?
XAMPPをほかのフォルダに移動したいのですが!
eacceleratorを有効にする方法は?
SQLServerに接続できません!
PHP mcrypt拡張はどのようにすればよいですか?
XAMPPでMicrosoft Activer Server Page(ASP)は動作しますか?

1. 一般的な質問

* XAMPPがWIndows XP SP2で動作しません

SP2に搭載されているファイアウォールが原因です。このファイアウォールは自動的に始動し、重要な80ポート(http)と443ポート(https)をすべてブロックするため、Apacheが起動できません。

手短な解決策:

Microsoftファイアウォールを無効にしてからXAMPPをもう一度起動させてみてください。より好ましい解決策としては、セキュリティセンター内に例外を定義します。

基本的な機能に使用されるポートは以下のとおりです:

  • Apache (HTTP):
    Port 80
  • Apache (WebDAV):
    Port 81
  • Apache (HTTPS):
    Port 443
  • MySQL:
    Port 3306
  • FileZilla (FTP):
    Port 21
  • FileZilla (Admin):
    Port 14147
  • Mercury (SMTP):
    Port 25
  • Mercury (POP3):
    Port 110
  • Mercury (IMAP):
    Port 143
  • Mercury (HTTP):
    Port 2224
  • Mercury (Finger):
    Port 79
  • Mercury (PH):
    Port 105
  • Mercury (PopPass):
    Port 106
  • Tomcat (AJP/1.3):
    Port 8009
  • Tomcat (HTTP):
    Port 8080

* Vistaにまつわる問題!

Microsoft Windows Vistaに関しては、いくつか問題があります。

1) ユーザアカウント制御 (UAC)

  1. 書き込み権限の欠如:
    "C:\program files"フォルダでは、Adminにも完全な書き込み権限がありません。限られた権限しかありません(例えば、".\xampp\htdocs"に対する権限など)。この場合、ファイルの編集ができません。
    回避策: エクスプローラで権限を上げる(右クリック/セキュリティ)か、ユーザアカウント制御(UAC)を無効にします。
  2. コントロールパネルでサービスを起動できない:
    "C:\xampp" へWindowsサービスとしてApache/MySQLをインストールしましたが、"XAMPP Control Panel"でそれらのサービスを起動/停止できません。また、アンインストールもできません。
    回避策: Windowsのサービス管理コンソールを使用するか、ユーザアカウント制御(UAC)を無効にします。

ユーザアカウント制御(UAC)の無効化

UACを無効にするには、プログラム "msconfig" を使用します。「ツール」へ行き、「UACの無効化」を選択して確定させます。そしてWindowsを再起動します。再度UACを有効化する際にも、同じ要領です。

* トップページをどこで変更できますか?

DocumentRootフォルダは、"\xampp\htdocs"です。ここには、"http://localhost/"を実行すると読み込まれる実際のスタートページ(inde.php)があります。このページは、削除しても構いませんし、独自の"index.php" や "index.html"と置き換えても結構です。

DocumentRootのインデックスページを変更した後も、XAMPPのデモページは http://localhost/xampp/でご覧いただけます。

* PerlやTomcatを使いたいのですが・・・!

このツールはXAMPPアドオンに存在します。これらの拡張パッケージはXAMPPメインパッケージでのみ動作します。XAMPP Liteでは動作しません。現在のところ、以下のアドオンが提供されています:
  • Perl with mod_perl(XAMPP1.7.2からはメインパッケージに含まれています)
  • Tomcat with mod_jk 2 and Java JRE
XAMPP for Windowsのトップページにて、すべてのwin32用アドオンをご確認いただけます。また、以下には更にアドオンが存在しています:
http://sourceforge.net/projects/xamppaddon/

* MD5チェックサムの確認方法は?

ファイルを比較する際、チェックサムがよく使用されます。標準的なチェックサムは、MD5です(Message Digest Algorithm 5)。

このMD5チェックサムを使って、ダウンロードしたXAMPPパッケージが真正か否かを確認できます。もちろん、これらのチェックサムを作成するプログラムが必要です。Windowsでは、Microsoftのツールを使用することができます:
可用性とは、ファイル チェックサム整合性検証ユーティリティの説明

また、GNU md5sumのような他のプログラムを使用することも可能です。

プログラムをインストールしたら(例:"fciv.exe")、以下の手順を行います。
  1. XAMPPをダウンロードします。(例:"xampp-win32-1.7.2.exe")
  2. チェックサムを作成します:
    fciv.exe xampp-win32-1.7.2.exe
  3. すると、結果が出ます:
    14c2e3e35f9792b9aec674548472348b xampp-win32-1.7.2.exe
  4. このチェックサムと、XAMPP for Windowsトップページにあるチェックサムとを比較します。
両方のチェックサムが同じであれば、すべて問題ありません。差異がある場合は、ファイルが改ざんされていたり破損しています。

* "php.ini"を変更したが反映されないのは何故ですか?

XAMPP1.7.1以降 "php.ini" は、"\xampp\php"ディレクトリに存在します。XAMPP1.7.0までは、"\xampp\apache\bin"ディレクトリにありました。

"php.ini"を変更しても反映されない場合、PHPが今だ他の方を使用している可能性があります。 phpinfo()を使ってこれを確認できます。 http://localhost/xampp/phpinfo.phpにアクセスし、"Loaded Configuration File"を見てください。 この値は、PHPが実際に使用している"php.ini"を示します。

注意:
"php.ini"を変更した後は必ずApacheを再起動してください。再起動により、Apache/PHPが新しい設定を読み込みます。

* ヘルプ!XAMPPにウイルスがあります!

残念なことに、ファイルをウィルスや不正プログラムとして誤検出するウィルススキャナは、常に存在するものです。検出されたプログラムがブロックされたり削除されたりすると、ほとんどの場合はXAMPPの停止に支障が出ます。ダウンロードしたアーカイブがブロックされた場合は、起動ができません。

初期のXAMPPでは、"kill.exe"や"pv.exe"がしばしば検出されていました。現在は、"xampp-control.exe"が時折検出されることがあります。

私達は常にウィルススキャナを使ってパッケージをテストし、問題ないことを確認してからサーバーにアップしています。現在使用しているのは Kaspersky Online Virus Scannerです。

* システムに十分なメモリがありません

このようなメッセージは、Windows95/98/MEなどのHomeシステムで表示されます。
Windowsは、"command.com"環境に最大160KBを用意していますが、それ以上を要するサーバーもあります。

解決方法:
"c:\config.sys"ファイルに以下の一行を追加してください。
shell=c:\windows\command.com c:\windows /e:2048 /p

システムを再起動して、もう一度XAMPPの起動を試してください。"command.com"が、メモリを2048KMまで利用できるようになっています。十分なメモリ量です。

* Apacheが起動しません

この問題は、いくつかの原因が考えられます。
  1. 既にほかのHTTPサーバ(IIS,Sambar,Zeusのような)が起動している。
    ひとつのサーバだけが80ポートを利用できます。以下のようなエラーメッセージが表示される場合は、これが原因です。
    "(OS 10048)... make_sock: could not bind to adress 0.0.0.0:80 no listening sockets available, shutting down"
  2. "Skype"のような他のソフトウェアが80ポートをブロックしている。
    原因がSkypeの場合、「設定」>「詳細」>「接続」にて「上記のポートに代わり、ポート80を使用」のチェックを外してSkypeを再起動します。これで解決するはずです。
  3. Apacheのポートをブロックしているファイアウォールが存在する。
    Apacheと互換性を持たないファイアウォールもあります。ファイアウォールを無効化するだけでは十分でない場合もあり、その際はアンインストールが必要になります。下記エラーメッセージが表示されるなら、ファイアウォールが原因です。
    "(OS 10038)Socket operation on non-socket: make_sock: for address 0.0.0.0:80,apr_socket_opt_set: (SO_KEEPALIVE)
  4. ファイアウォールと同様の現象が、ウィルススキャナでも起こり得ます。
  5. XP Professionalにサービスパック1が適用されていない。
    XAMPPには、SP1が少なくとも1つ必要です。
  6. Windows 95を利用していて、winsockのバージョンが古い、もしくはwinsockが壊れている。
    Apacheは最低でもwinsock2が必要です。 WinSock2 更新からダウンロードしインストールしてください。
  7. Winsock2の情報がプログラム(ウィルス等)によって書き換えられている。
    WinSock XP Fixにて修復してみてください。
参考:"xampp-portcheck.exe"はXAMPPが利用するポートのステータスを表示するソフトウェアです。ステータスが「Free」であれば、利用することができます。

* ApacheのCPU使用率が常に99%です

あるいは、ブラウザがサーバーには接続しているが何も表示されない(ページをずっと読み込んでいる状態)場合、"\xampp\apache\conf\extra\httpd-mpm.conf"ファイルの "#Win32DisableAcceptEx"行にある "#"を削除します。もし該当の行が記述されていない場合は、"Win32DisableAcceptEx"行を最終部に追加します。

* 画像とスタイルシートが表示されません

画像やスタイルシートの表示に問題が生じる場合があります。特に、これらのファイルがネットワークドライブに置かれている場合です。"\xampp\apache\conf\httpd.conf"ファイル内にある以下の行を有効化することで解消されます。
EnableSendfile off
EnableMMAP off
この問題は「NetLimiter」等の帯域調整によって生じる可能性もあります。

* サーバをWindowsサービスとしてインストールしたいです

Windows 2000、Windows XP、Vistaでは、どのサーバもWindowsサービスとしてインストールすることが可能です。バッチファイルを実行するだけです。例えばMySQLの場合:
\xampp\mysql\mysql_installservice.bat

コントロールパネルを使ってサービスを始動することもできます。("Svc"チェックボックスにチェック)

サービスをアンインストールするためのバッチファイルもあります。例えばMySQLの場合:
\xampp\mysql\mysql_uninstallservice.bat

* どのようにMySQL"root"ユーザのパスワードを設定するのですか?(方法1)

一番簡単な方法は、セキュリティコンソールを使うことです。こちらでアクセス可能です: http://localhost/security/

この「console」が、MySQLの「root」ユーザへパスワードを作成し、phpMyAdmin設定を調整します。

* どのようにMySQL"root"ユーザのパスワードを設定するのですか?(方法2)

「XAMPP Shell」(コマンドプロンプト)を使ってパスワードを変更することもできます。シェルを開いてこのコマンドを実行します:
mysqladmin.exe -u root password secret

もちろん、パスワードは "secret" であるべきではありません。次の手順で、phpMyAdmin設定を調整します。"\xampp\phpMyAdmin\config.inc.php"ファイル内にある以下の行を変更します:
変更前:
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';

変更後:
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'secret';


XAMPPシェルの代わりにphpMyAdminを使ってパスワードを変更し、その後phpMyAdmin設定を調整することも可能です。

* XAMPPのMySQL以外のMySQLを起動できますか?

可能です。 XAMPPのMySQLを起動しないでください。XAMPPのMySQLサーバ以外のMySQLサーバが起動できます。
注意:二つのサーバは同じポートを利用するので、同時に利用することはできません。もし、rootユーザのパスワードを設定しているなら、config.inc.phpの変更を忘れないでください。

* すべての人がPHPMyAdminにアクセスできてしまいます!

XAMPPの基本設定では、誰でもphpMyAdminにアクセス可能です。"config.inc.php"を使ってこの"gap"を閉じることができます。phpMyAdminの設定ファイルを開いて、"auth_type"の行を編集します。
変更前:
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'secret';
変更後:
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'secret';


phpMyAdmin LoginMySQLサーバにアクセスする前に、phpMyAdminはユーザ名とパスワードを聞いてきます。最初に"root"ユーザへパスワードを設定することを忘れないでください。

* PHP用のIMAPはサポートされていますか?

Windows98のような個人向けOSで原因不明のエラーが報告されるため、XAMPPのデフォルト設定ではPHP用のIMAPは無効になっています。NT系のOSでXAMPPを動かしている場合、/xampp/apache/bin/php.iniの以下の行のセミコロンを削除するとこの機能を有効にすることができます。

extension=php_imap.dll

Apacheを再起動してください。PHPのモジュール設定を変更したときには、必ずApacheの再起動をしてください。

* ほかのオープンソースのプログラム(CMSのような)が動作しません!

LinuxとWindowsでは違いがあります。PHP関連なら、ほとんどが同じ動きをしますが、他は異なっています。特に、OSSプログラマーはLinuxを使う人が多く、他のOSとの差異を考慮せず作成し、ポータブルコードも用意しない場合があります。また、LinuxとWindowsでしか使えないPHPの拡張機能も存在します。

* インストール後、XAMPPのinstallフォルダを削除できますか?

削除することはお勧めできません。このスクリプトは、アドオンをインストールするときやXAMPPをアップグレードするときに必要です。

* Frontpage拡張モジュールはありますか?

ApacheのFrontpage拡張モジュールは、Linuxのみです。Windowsでは存在しません。

* XAMPPをほかのフォルダに移動したいのですが!

はい、可能です。XAMPPパッケージをコピー/移動させたら、必ず "setup_xampp.bat" を使用してください。設定ファイル内のパスが調整されます。

Windowsサービスとしてインストールしているサーバーがある場合には、まずそのサービスを削除して、XAMPPを移動してください。その後、そのサービスを再インストールしてください。

警告:
独自スクリプトの設定ファイル(例:フォーラムソフトウェア phpBB)は、この作業では調整されません。ご自身で行ってください。ただ、"plug-in" を書いて、これらのファイルも調整されるようにすることは可能です。

* eacceleratorを有効にする方法は?

他の(Zend)エクステンションと同じように、"php.ini"にて有効にします。以下の行を変更してください。

変更前:
";zend_extension = "\xampp\php\ext\php_eaccelerator.dll"".
変更後:
zend_extension = "\xampp\php\ext\php_eaccelerator.dll"

* SQLServerに接続できません!

もし、pho.ini に SQL拡張モジュールが設定されているなら、TCP/IPだけを使ってアクセスしようとすると稀に問題が発生します。 修正するためには最新の "ntwdblib.dll" をMicrosoftサイトからダウンロードしてください。"\xampp\apache\bin" と "\xampp\php" の古いファイルを、ダウンロードした新しいファイルに置き換えてください。ライセンスの都合上、XAMPPにこのファイルの新バージョンを梱包することはできないのです。

* PHP mcrypt拡張はどのようにすればよいですか?

この問題の解決策は、フォーラムの以下のトピックに存在します。 http://www.apachefriends.org/f/viewtopic.php?t=3012

* XAMPPでMicrosoft Activer Server Page(ASP)は動作しますか?

残念ながら、動作しません。Apache::ASP と Perl Add-Onは別物です。Apache::ASPは、Perl-Scriptしか理解しません。ただ、Internet Information Server (IIS) のASPは、通常のVBScriptも理解します。 ASP.NETに関しては、サードパーティ製のApacheモジュールがあります。