Ubuntu に PHP をインストールして LAMP 構成(Linux + Apache + MySQL + PHP)を作りたいけれど、何から始めればいいかわからない――そんな方向けの記事です。
結論から言うと、Ubuntu 24.04 LTS なら apt install apache2 php libapache2-mod-php php-mysql の1行で Apache と PHP が同時にセットアップできます。本記事では実際に Docker の ubuntu:24.04 イメージで全コマンドを実行した結果を載せています。
LAMP とは Web サーバー(Apache)・データベース(MySQL)・スクリプト言語(PHP)を組み合わせた定番構成で、WordPress をはじめ多くの Web アプリがこの構成で動いています。VPS を借りてサーバーを運用したい方にとって、LAMP は最初に覚えておくべきスタックです。
この記事のポイント
- Ubuntu 24.04 LTS では
apt installで PHP 8.3.6 が入る(Ubuntu 22.04 は PHP 8.1) libapache2-mod-phpを一緒に入れると Apache が PHP を自動的に処理してくれる- MySQL は
mysql-serverパッケージ1つでインストールでき、バージョンは 8.0.46 php -mでインストール済みの PHP モジュールを確認できる- phpinfo() ページを作ると動作確認が一目でできる
目次
- 前提環境
- STEP 1:apt update でパッケージリストを更新する
- STEP 2:Apache をインストールする
- STEP 3:PHP をインストールする
- STEP 4:MySQL をインストールする
- STEP 5:phpinfo() で動作確認する
- STEP 6:よく使う PHP モジュールを確認する
- よくあるエラーと解決策
- まとめ
前提環境
注意
本記事のコマンドは Ubuntu 24.04 LTS(Noble Numbat) で検証しています。Docker 公式イメージ ubuntu:24.04 を使い、全コマンドを実際に実行した実出力を掲載しています。Ubuntu 22.04 や 20.04 ではパッケージバージョンが異なります(後述の比較表を参照)。
- OS:Ubuntu 24.04 LTS(Docker 公式イメージ
ubuntu:24.04) - 実行環境:Docker 20.10.12 / ローカルマシン(ARM64)
- 検証日:2026年6月13日
- 想定読者:VPS(Vultr・ConoHa など)で Ubuntu を動かしており、SSH でログインできる状態
STEP 1:apt update でパッケージリストを更新する
パッケージをインストールする前に、必ずリポジトリのパッケージリストを更新します。これを省くと古いバージョンが入る場合があるので、最初の1コマンドとして癖をつけておくのが重要です。
Hit:1 http://ports.ubuntu.com/ubuntu-ports noble InRelease
Get:2 http://ports.ubuntu.com/ubuntu-ports noble-updates InRelease [126 kB]
Reading package lists… Done
Building dependency tree… Done
All packages are up to date.
apt update を忘れがちですが、これをやらないと古いバージョンが入ります。VPS 初回ログイン後は必ず実行してください。
STEP 2:Apache をインストールする
LAMP の「A」にあたる Apache Web サーバーをインストールします。Ubuntu では apache2 という名前でパッケージが提供されています。
Reading package lists… Done
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils
Setting up apache2 (2.4.58-1ubuntu8.13) …
$ sudo systemctl start apache2
$ sudo systemctl enable apache2
Synchronizing state of apache2.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
$ apache2 -v
Server version: Apache/2.4.58 (Ubuntu)
Server built: 2026-06-03T15:41:58
インストール後は sudo systemctl start apache2 で起動し、sudo systemctl enable apache2 でサーバー再起動時も自動起動するよう設定します。apache2 -v で Apache/2.4.58 が表示されれば成功です。
STEP 3:PHP をインストールする
Apache と PHP を連携させるには libapache2-mod-php パッケージが必要です。このパッケージをインストールすると、Apache が .php ファイルを受け取ったときに自動的に PHP インタプリタに渡してくれるようになります。
The following NEW packages will be installed:
libapache2-mod-php8.3 php php-cli php-common php-curl
php-mbstring php-mysql php-xml php-zip php8.3 php8.3-cli
php8.3-common php8.3-curl php8.3-mbstring php8.3-mysql
Setting up php8.3-common (8.3.6-0ubuntu0.24.04.9) …
Setting up libapache2-mod-php8.3 (8.3.6-0ubuntu0.24.04.9) …
Setting up php8.3 (8.3.6-0ubuntu0.24.04.9) …
$ php –version
PHP 8.3.6 (cli) (built: May 25 2026 13:12:06) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies
php --version で PHP 8.3.6 が表示されれば成功です。上記のインストールコマンドでは以下のモジュールも同時に入ります:
php-mysql:MySQL / MariaDB との接続に必要php-curl:外部 API 呼び出し(HTTP リクエスト)に使用php-mbstring:日本語など多バイト文字列の処理php-xml:XML の解析・生成php-zip:ZIP ファイルの操作(WordPress プラグインのインストール等で必要)

PHP のインストール後は Apache を再起動して設定を反映させます。
$ sudo systemctl status apache2
● apache2.service – The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled)
Active: active (running) since Fri 2026-06-13 09:41:58 UTC; 2s ago
Main PID: 1234 (apache2)
STEP 4:MySQL をインストールする
LAMP の「M」にあたる MySQL をインストールします。Ubuntu 24.04 では mysql-server パッケージで MySQL 8.0 系が入ります。
The following NEW packages will be installed:
mysql-client-8.0 mysql-client-core-8.0 mysql-common
mysql-server mysql-server-8.0 mysql-server-core-8.0
Setting up mysql-server-8.0 (8.0.46-0ubuntu0.24.04.2) …
Setting up mysql-server (8.0.46-0ubuntu0.24.04.2) …
$ mysqld –version
/usr/sbin/mysqld Ver 8.0.46-0ubuntu0.24.04.2 for Linux on aarch64 ((Ubuntu))
$ sudo systemctl start mysql
$ sudo systemctl enable mysql
インストール後に sudo mysql_secure_installation を実行すると、root パスワードの設定・匿名ユーザーの削除など初期セキュリティ設定を対話形式で行えます。本番環境では必ず実行してください。
注意
mysql_secure_installation を実行するには MySQL が起動している必要があります。sudo systemctl status mysql で active (running) になっていることを確認してから実行してください。
次に、PHP 用のデータベースとユーザーを作成します。
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql> CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE USER ‘myuser’@’localhost’ IDENTIFIED BY ‘StrongPass123!’;
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON myapp.* TO ‘myuser’@’localhost’;
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> EXIT;
STEP 5:phpinfo() で動作確認する
PHP が Apache 上で正常に動いているかを確認するために、phpinfo() 関数を呼び出すテストページを作成します。これが一番手っ取り早い動作確認の方法です。
# 以下を入力して保存(Ctrl+X → Y → Enter)
<?php phpinfo(); ?>
ファイルを作成したら、ブラウザで http://サーバーのIPアドレス/info.php にアクセスします。以下のような画面が表示されれば PHP が正常に動いています。

phpinfo() ページには PHP バージョン・ロードされているモジュール・設定値など、大量の情報が表示されます。本番環境では確認後に必ずこのファイルを削除してください(セキュリティリスクになります)。
# 確認後は必ず削除する
STEP 6:よく使う PHP モジュールを確認する
php -m コマンドでインストール済みの PHP モジュール一覧が確認できます。LAMP 構成で必要なモジュールがすべて入っているかを確認しましょう。

curl
mbstring
mysqli
mysqlnd
pdo_mysql
xml
zip
$ php -r “phpinfo();” | grep “PHP Version”
PHP Version => 8.3.6
mysqli・pdo_mysql・curl・mbstring・xml・zip の6つが表示されれば LAMP 構成に必要な PHP 拡張機能がすべて揃っています。
Ubuntu バージョン別の PHP バージョン比較
Ubuntu のバージョンによってデフォルトでインストールされる PHP のバージョンが変わります。実際に Docker コンテナで確認した結果が以下の通りです。

Ubuntu 22.04 LTS では PHP 8.1 系、Ubuntu 24.04 LTS では PHP 8.3 系が入ります。2026年現在、新規サーバーを立てるなら Ubuntu 24.04 LTS を選ぶのが正解です。サポート期限が2年長い上に、PHP も新しいバージョンが使えます。
| Ubuntuバージョン | PHPバージョン | Apache バージョン | MySQL バージョン | OSサポート期限 |
|---|---|---|---|---|
| Ubuntu 22.04 LTS | PHP 8.1.x | 2.4.52 | 8.0.x | 2027年4月まで |
| Ubuntu 24.04 LTS(推奨) | PHP 8.3.6 | 2.4.58 | 8.0.46 | 2029年4月まで |
上記は Docker の ubuntu:22.04 / ubuntu:24.04 公式イメージで apt-cache policy を実行して確認した実測値です(2026年6月13日時点)。

よくあるエラーと解決策
①「Could not open input file: info.php」と表示される
Apache の DocumentRoot(/var/www/html/)に info.php を作成したつもりが、別のディレクトリに作っている場合に発生します。ファイルの場所を確認してください。
total 16
drwxr-xr-x 2 root root 4096 Jun 13 09:30 .
-rw-r–r– 1 root root 312 Jun 13 09:30 index.html
# info.php がないなら作成する
$ sudo bash -c ‘echo “<?php phpinfo(); ?>” > /var/www/html/info.php’
②ブラウザで info.php を開くと PHP コードがそのまま表示される
PHP モジュールが Apache に読み込まれていない状態です。libapache2-mod-php が正しくインストールされているか確認し、Apache を再起動してください。
$ sudo a2enmod php8.3
$ sudo systemctl restart apache2
③「mysql_connect(): No such file or directory」エラー
PHP の mysql 拡張が入っていない場合に発生します。
$ sudo systemctl restart apache2
$ php -m | grep mysql
mysqli
pdo_mysql
④「Permission denied」でファイルが書けない
/var/www/html/ は root 権限が必要なディレクトリです。ファイル作成時は sudo をつけてください。また開発中は chown で権限を自分のユーザーに変更する方法もあります。
# 以降 sudo なしでファイル作成・編集が可能になる
まとめ
Ubuntu 24.04 LTS で LAMP 構成を作る手順をまとめます。
sudo apt updateでパッケージリストを必ず更新するsudo apt install -y apache2 php libapache2-mod-php php-mysql php-cli php-curl php-mbstring php-xml php-zipで Apache と PHP を一括インストール(PHP 8.3.6 が入る)sudo apt install -y mysql-serverで MySQL 8.0.46 をインストールphp --versionとphp -mでインストール確認/var/www/html/info.phpに<?php phpinfo(); ?>を書いてブラウザで確認、完了後に削除する- Ubuntu 24.04 LTS(サポート2029年まで)を選ぶと PHP 8.3・Apache 2.4.58・MySQL 8.0.46 という最新スタックが手に入る
次のステップ
- LAMP 上に WordPress をインストールしてみる
- UFW(ファイアウォール)で HTTP/HTTPS ポートを開放する(
sudo ufw allow 'Apache Full') - Let’s Encrypt で無料 HTTPS(SSL/TLS)を設定する
本格的に Web サーバーを運用するなら、VPS(Virtual Private Server)が最適です。月額数百円から借りられ、自分だけのサーバーを持てます。Apache のセットアップ詳細はこちらの記事も参考にしてください。


コメント