この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:8
ページ更新者:atom
更新日時:2026-06-11 07:12:00

タイトル: XAMPP
SEOタイトル: XAMPP 完全ガイド — インストールから運用まで(Apache + MariaDB + PHP)

この記事の要点
  • XAMPP は Apache HTTP Server + MariaDB(旧 MySQL)+ PHP + Perl を 1 つにまとめたクロスプラットフォーム開発環境バンドル
  • Windows / macOS / Linux 対応。Apache Friends が配布する OSS で、ローカルでの Web 開発・PHP 学習・WordPress 検証に定番
  • インストール後は コントロールパネルで Apache / MySQL / FileZilla / Mercury を起動・停止できる
  • ポート競合(80 / 3306)に注意。Skype / IIS / MySQL 既存環境とぶつかる → 8080 / 3307 へ変更
  • 近年は Docker / Laravel Sail / Laragon 等のモダン代替もあるが、初学者・スタンドアロン用途では今も第一候補

XAMPP とは

XAMPP(ザンプ)は、Web 開発に必要なソフトウェアをワンクリックでインストールできる無料のバンドル製品です。名前は次の頭文字に由来します:

  • X: Cross-platform(Windows / macOS / Linux)
  • A: Apache HTTP Server
  • M: MariaDB(旧 MySQL)
  • P: PHP
  • P: Perl

Apache Friends が開発・配布しており、商用利用も無料です。phpMyAdmin / OpenSSL / Tomcat(追加)/ FileZilla Server / Mercury Mail なども同梱されます。

インストール手順(Windows)

  1. apachefriends.org から PHP バージョン別 (8.2 / 8.1 / 7.4 等) インストーラを取得
  2. 管理者として実行。インストール先は C:\xampp(パスにスペースを含めない)
  3. コンポーネント選択画面で必要なものだけチェック(Tomcat / Mercury は不要なら外す)
  4. 完了後、XAMPP Control Panel を起動して Apache と MySQL の「Start」をクリック
  5. ブラウザで http://localhost/ にアクセス → ダッシュボードが出れば成功

コントロールパネルの使い方

モジュール役割主なポート
ApacheWeb サーバ。htdocs/ 配下を公開80 / 443
MySQL (MariaDB)データベース3306
FileZillaFTP サーバ21
MercurySMTP / POP3 メールサーバ25 / 110
TomcatJava サーブレット8080

ポート競合の解消

もっとも多いトラブルがポート 80(Apache)と 3306(MySQL)の衝突です。Skype 旧版 / IIS / 既存 MySQL が掴んでいると Apache が起動できません。

# C:\xampp\apache\conf\httpd.conf を編集
Listen 8080
ServerName localhost:8080

# C:\xampp\apache\conf\extra\httpd-ssl.conf
Listen 8443
<VirtualHost _default_:8443>
# C:\xampp\mysql\bin\my.ini を編集
[client]
port = 3307

[mysqld]
port = 3307

変更後、コントロールパネルの「Config」→「Service and Port Settings」でも 8080 / 3307 を指定し、再起動します。

競合元を調べるコマンド:

# Windows: 80 番を使っているプロセス
netstat -ano | findstr :80
tasklist /FI &quot;PID eq 4&quot;

# Mac/Linux
sudo lsof -i :80
sudo lsof -i :3306

htdocs ディレクトリ

C:\xampp\htdocs\(Mac は /Applications/XAMPP/htdocs/)が Web の公開ディレクトリです。ここにファイルを置くと http://localhost/ から見えます。

<?php
// C:\xampp\htdocs\hello.php
echo "Hello XAMPP! PHP " . phpversion();

// アクセス: http://localhost/hello.php

プロジェクトごとに htdocs/myapp/ のようにサブディレクトリを切るか、VirtualHost で複数サイトを管理します。

phpMyAdmin と DB 操作

MySQL を起動して http://localhost/phpmyadmin/ にアクセスすると、ブラウザから DB を操作できます(初期 user: root / password 空)。

本番環境では必ずパスワード設定を行ってください:

-- MariaDB に接続
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword';
FLUSH PRIVILEGES;

-- phpMyAdmin 設定も同期
-- C:\xampp\phpMyAdmin\config.inc.php
-- $cfg['Servers'][$i]['password'] = 'YourStrongPassword';

PHP バージョンの切替

XAMPP 自体は 1 つのバージョンしか同梱しませんが、複数版を別ディレクトリにインストールすれば切替可能です:

  • C:\xampp82\(PHP 8.2)
  • C:\xampp81\(PHP 8.1)
  • C:\xampp74\(PHP 7.4 — レガシー検証用)

同時起動はポート競合するため、片方の Apache を停止してから他方を起動してください。

SSL(HTTPS)の有効化

XAMPP は自己署名証明書を C:\xampp\apache\conf\ssl.crt\server.crt に同梱しています。https://localhost/ で接続できますが、ブラウザは「安全でない」と警告します。本格運用なら mkcert でローカル CA を作るのが推奨:

# Chocolatey で mkcert 導入
choco install mkcert

# ローカル CA を OS に登録
mkcert -install

# 証明書発行
mkcert localhost 127.0.0.1 ::1

# 生成された .pem を Apache に設定
# C:\xampp\apache\conf\extra\httpd-ssl.conf
# SSLCertificateFile      &quot;conf/ssl.crt/localhost.pem&quot;
# SSLCertificateKeyFile   &quot;conf/ssl.key/localhost-key.pem&quot;

他のローカル開発環境との比較

製品特徴向いている用途
XAMPP定番。スタンドアロン GUIPHP 学習 / WordPress 検証 / 単発開発
LaragonWindows 専用。軽量、Auto VirtualHost、Node 同梱Windows + PHP モダン開発
MAMPMac 寄り。GUI 良好、Pro は有料Mac での PHP 開発
Dockerコンテナ。本番と環境揃えやすいチーム開発 / 本番想定
Laravel SailDocker ベースの Laravel 公式Laravel プロジェクト
WSL2 + NginxLinux ネイティブで快適Linux 本番想定の Windows 開発者

セキュリティ注意

  • XAMPP はあくまで開発用。本番公開は禁止(デフォルト設定でセキュリティが緩い)
  • 外部からアクセス可能な PC に置く場合は Listen 127.0.0.1:80 でローカル限定に
  • phpMyAdmin / MariaDB の root パスワードは必ず設定
  • 不要なモジュール(FileZilla / Mercury)は同梱を外す

FAQ

Q: Apache が起動しない / 即停止する
A: ポート 80 の競合が 9 割。netstat -ano | findstr :80 で確認し、8080 へ変更。VMware / IIS / Skype 旧版が原因のこと多し。

Q: MySQL のパスワードを忘れた
A: C:\xampp\mysql\bin\my.iniskip-grant-tables を追加して再起動 → mysql -u root でパスワードリセット → 設定を戻す。

Q: XAMPP を本番で使ってはいけない理由は?
A: デフォルトで MariaDB がパスワード無し、phpMyAdmin が外部公開、Apache のエラー詳細が露出する等のリスクがあるためです。本番は CentOS / Ubuntu + Apache/Nginx を別途構築してください。