[PR] 本記事にはプロモーションが含まれています。

【XAMPP】Windowsへのインストールと初期設定|動作の確かめ方、rootのパスワード、ポートがぶつかるとき

XAMPP

Windows のパソコンに XAMPP(ザンプ)を入れて、PHP の開発を手元で試せるようにする手順です。XAMPP を入れると、Web サーバー(Apache)、データベース(MariaDB)、PHP がまとめて使えるようになります。

XAMPP は、自分のパソコンの中で試すためのものです。使いやすいように、守りより手軽さを優先した設定になっているので、インターネットに公開するサーバーには使いません。

今の版と中身

2026年10月11日に公式サイトで確かめたところ、Windows 版は 8.0.30、8.1.25、8.2.12 の3つが配られていました。版の番号は、入っている PHP の版と同じです。いちばん新しい 8.2.12 には、次のものが入っています。

中身版
Apache2.4.58
MariaDB10.4.32
PHP8.2.12
phpMyAdmin5.2.1

この版は2023年から更新されていません。Laravel などの新しい版は、もっと新しい PHP を求めることがあるので、使いたいフレームワークがどの PHP で動くかを先に確かめておきます。

インストールする

  1. XAMPP の公式サイトから、Windows 向けのインストーラー(.exe)をダウンロードする。特に理由がなければいちばん新しい版を選ぶ
  2. インストーラーを実行する。ユーザーアカウント制御(UAC)についての注意が出たら「OK」で進める
  3. 入れるもの(Select Components)は、そのままでよい
  4. 入れる場所は、最初の C:\xampp のままにする。C:\Program Files の中に入れると、書き込みの権限でうまく動かないことがある
  5. 言語は「English」を選ぶ

初めて Apache を動かしたときに、Windows のファイアウォールの画面が出たら、「プライベート ネットワーク」だけを許可します。「パブリック ネットワーク」は許可しないでおきます。

コントロールパネルで動かす

「XAMPP Control Panel」を開き、Apache と MySQL の「Start」をクリックします。名前のところが緑色になれば動いています。止めるときは「Stop」をクリックし、右側の「Quit」でパネルを閉じます。

Windowsへのインストールと初期設定:コントロールパネルで動かす

パネルでは「MySQL」と表示されますが、中身は MySQL から分かれて作られた MariaDB です。使い方はほとんど同じで、Laravel などからも MySQL としてつなぎます。

コントロールパネルを開いたときに「Cannot create file xampp-control.ini」と出るときは、「xampp-control.iniのアクセス拒否エラーの原因と直し方」をご覧ください。

PHP が動くか確かめる

Apache が公開するファイルの置き場所(ドキュメントルート)は C:\xampp\htdocs です。ここに test.php を作り、次のように書いて保存します。

PHP
<?php
echo "Hello XAMPP!";

ブラウザで http://localhost/test.php を開き、「Hello XAMPP!」と表示されれば PHP が動いています。

Windowsへのインストールと初期設定:PHP が動くか確かめる

PHP だけが書かれたファイルでは、最後の ?> は書かなくても構いません。書かないほうが、後ろに余計な空白が入って困ることがありません。

root のパスワードを設定する

入れたばかりの XAMPP では、データベースの管理者(root)にパスワードがありません。自分のパソコンの中だけで使うとしても、設定しておきます。

  1. コントロールパネルの MySQL の「Admin」で phpMyAdmin を開く
  2. 「ユーザアカウント」を開く
  3. ユーザ名が root の行ごとに「権限を編集」→「パスワードを変更する」で設定する

root は、ホスト名が localhost、127.0.0.1、::1 の3つあります。3つとも同じパスワードにしておきます。どれかが空のままだと、つなぎ方によってはパスワードなしで入れてしまいます。

phpMyAdmin にログイン画面を出す

パスワードを設定すると、phpMyAdmin が「アクセス拒否」で開けなくなります。ログイン画面でパスワードを入れる形にするため、C:\xampp\phpMyAdmin\config.inc.php の次の行を書き換えます。

PHP
// 変更前
$cfg['Servers'][$i]['auth_type'] = 'config';

// 変更後
$cfg['Servers'][$i]['auth_type'] = 'cookie';

保存して phpMyAdmin を開き直すと、ログイン画面が出ます。

アプリの設定も合わせる

Laravel など、データベースにつなぐアプリをすでに作っているときは、その設定(Laravel なら .env の DB_PASSWORD)も新しいパスワードに変えます。

ポートがぶつかって起動しないとき

Apache は80番(と443番)、MySQL は3306番のポートを使います。ほかのソフトが同じ番号を使っていると、「Start」を押してもすぐ止まります。

どのソフトが使っているか調べる

コマンドプロンプトで次のように実行すると、そのポートを使っているプログラムの番号(PID)がいちばん右に出ます。

BAT (Batchfile)
netstat -ano | findstr ":80 "
tasklist /FI "PID eq 1234"

2行目の 1234 を、出てきた番号に置き換えると、プログラムの名前が分かります。よくあるのは、Windows の IIS(World Wide Web 発行サービス)や、ほかに入れた Web サーバーです。使っていなければ、そちらを止めるのがいちばん簡単です。

Apache のポートを変える

ぶつかるソフトを止められないときは、Apache のポートを変えます。コントロールパネルの Apache の「Config」→「Apache (httpd.conf)」を開き、次の行を変えて保存します。

Apache
# 変更前
Listen 80

# 変更後
Listen 8080

Apache を動かし直すと、以後は http://localhost:8080/ のようにポート番号を付けて開きます。443番がぶつかるときは、「Config」→「Apache (httpd-ssl.conf)」の Listen 443 を同じように変えます。

MySQL のポートがぶつかるとき

ほかに MySQL を入れていると、3306番がぶつかります。そちらのサービスを止めるか、MySQL の「Config」→「my.ini」の port=3306(2か所あります)を 3307 などに変えます。変えたときは、Laravel の .env の DB_PORT も合わせます。

MySQL が「shutdown unexpectedly」と出て起動しないときは、「MySQLが「shutdown unexpectedly」で起動しないときの直し方」をご覧ください。備えとして、「MySQLを定期的に自動バックアップする」も設定しておくと安心です。

まとめ

  • XAMPP は手元で試すためのもの。Windows 版の最新は 8.2.12(PHP 8.2.12、MariaDB 10.4.32)で、新しいフレームワークには PHP が古いことがある
  • C:\xampp に入れ、ファイアウォールはプライベートネットワークだけ許可する
  • htdocs に test.php を置いて、http://localhost/test.php で確かめる
  • root のパスワードは3つとも設定し、phpMyAdmin は cookie に。アプリの設定も合わせる
  • 起動しないときは netstat でポートを使っているソフトを調べ、止めるかポートを変える
ほかの開発・プログラミングの記事は、開発・プログラミングメモの目次から、テーマ別に探せます。

このブログは、にほんブログ村と人気ブログランキングに参加しています。記事が役に立ったら、下のランキングのバナーのどれかを押して応援してもらえると励みになります。

ブログランキング・にほんブログ村へにほんブログ村

サーバー構築・運用ランキング プログラムランキング

XAMPP
watasoftdevをフォローする

コメント