UbuntuにPHPをインストールしてLAMP構成を作る手順

開発環境

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 installPHP 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() ページを作ると動作確認が一目でできる

目次

  1. 前提環境
  2. STEP 1:apt update でパッケージリストを更新する
  3. STEP 2:Apache をインストールする
  4. STEP 3:PHP をインストールする
  5. STEP 4:MySQL をインストールする
  6. STEP 5:phpinfo() で動作確認する
  7. STEP 6:よく使う PHP モジュールを確認する
  8. よくあるエラーと解決策
  9. まとめ

前提環境

注意

本記事のコマンドは 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コマンドとして癖をつけておくのが重要です。




ubuntu@linuxlab: ~
$ sudo apt update
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 という名前でパッケージが提供されています。




ubuntu@linuxlab: ~
$ sudo apt install -y 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 -vApache/2.4.58 が表示されれば成功です。

著者アイコン
著者アイコン

VPS を使っている場合、ブラウザで http://サーバーのIPアドレス にアクセスすると Apache のデフォルトページが表示されます。「It works!」が出れば Apache は正常に動いています。

STEP 3:PHP をインストールする

Apache と PHP を連携させるには libapache2-mod-php パッケージが必要です。このパッケージをインストールすると、Apache が .php ファイルを受け取ったときに自動的に PHP インタプリタに渡してくれるようになります。




ubuntu@linuxlab: ~
$ sudo apt install -y php libapache2-mod-php php-mysql php-cli php-curl php-mbstring php-xml php-zip
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 --versionPHP 8.3.6 が表示されれば成功です。上記のインストールコマンドでは以下のモジュールも同時に入ります:

  • php-mysql:MySQL / MariaDB との接続に必要
  • php-curl:外部 API 呼び出し(HTTP リクエスト)に使用
  • php-mbstring:日本語など多バイト文字列の処理
  • php-xml:XML の解析・生成
  • php-zip:ZIP ファイルの操作(WordPress プラグインのインストール等で必要)
PHPインストール実行ログ(Ubuntu 24.04 実測)
PHPインストール実行ログ(Ubuntu 24.04 実測)

PHP のインストール後は Apache を再起動して設定を反映させます。




ubuntu@linuxlab: ~
$ sudo systemctl restart apache2
$ 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 系が入ります。




ubuntu@linuxlab: ~
$ sudo apt install -y mysql-server
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 mysqlactive (running) になっていることを確認してから実行してください。

次に、PHP 用のデータベースとユーザーを作成します。




ubuntu@linuxlab: ~
$ sudo mysql -u root
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() 関数を呼び出すテストページを作成します。これが一番手っ取り早い動作確認の方法です。




ubuntu@linuxlab: ~
$ sudo nano /var/www/html/info.php
# 以下を入力して保存(Ctrl+X → Y → Enter)
<?php phpinfo(); ?>

ファイルを作成したら、ブラウザで http://サーバーのIPアドレス/info.php にアクセスします。以下のような画面が表示されれば PHP が正常に動いています。

phpinfo() ページ(Apache+PHP 8.3.6 on Ubuntu 24.04 実撮影)
phpinfo() ページ(Apache+PHP 8.3.6 on Ubuntu 24.04 実撮影)

phpinfo() ページには PHP バージョン・ロードされているモジュール・設定値など、大量の情報が表示されます。本番環境では確認後に必ずこのファイルを削除してください(セキュリティリスクになります)。




ubuntu@linuxlab: ~
$ sudo rm /var/www/html/info.php
# 確認後は必ず削除する

STEP 6:よく使う PHP モジュールを確認する

php -m コマンドでインストール済みの PHP モジュール一覧が確認できます。LAMP 構成で必要なモジュールがすべて入っているかを確認しましょう。

phpinfo() モジュール確認・MySQL接続テスト(実測)
phpinfo() モジュール確認・MySQL接続テスト(実測)



ubuntu@linuxlab: ~
$ php -m | grep -E ‘(mysql|curl|mbstring|xml|zip)’
curl
mbstring
mysqli
mysqlnd
pdo_mysql
xml
zip
$ php -r “phpinfo();” | grep “PHP Version”
PHP Version => 8.3.6

mysqlipdo_mysqlcurlmbstringxmlzip の6つが表示されれば LAMP 構成に必要な PHP 拡張機能がすべて揃っています。

Ubuntu バージョン別の PHP バージョン比較

Ubuntu のバージョンによってデフォルトでインストールされる PHP のバージョンが変わります。実際に Docker コンテナで確認した結果が以下の通りです。

Ubuntuバージョン別PHPバージョン比較(実測)
Ubuntuバージョン別PHPバージョン比較(実測)

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日時点)。

phpinfo()ページ上部(PHP 8.3.6 表示、実撮影)
phpinfo()ページ上部(PHP 8.3.6 表示、実撮影)

よくあるエラーと解決策

①「Could not open input file: info.php」と表示される

Apache の DocumentRoot(/var/www/html/)に info.php を作成したつもりが、別のディレクトリに作っている場合に発生します。ファイルの場所を確認してください。




ubuntu@linuxlab: ~
$ ls -la /var/www/html/
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 を再起動してください。




ubuntu@linuxlab: ~
$ sudo apt install -y libapache2-mod-php
$ sudo a2enmod php8.3
$ sudo systemctl restart apache2

③「mysql_connect(): No such file or directory」エラー

PHP の mysql 拡張が入っていない場合に発生します。




ubuntu@linuxlab: ~
$ sudo apt install -y php-mysql
$ sudo systemctl restart apache2
$ php -m | grep mysql
mysqli
pdo_mysql

④「Permission denied」でファイルが書けない

/var/www/html/ は root 権限が必要なディレクトリです。ファイル作成時は sudo をつけてください。また開発中は chown で権限を自分のユーザーに変更する方法もあります。




ubuntu@linuxlab: ~
$ sudo chown -R $USER:$USER /var/www/html/
# 以降 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 --versionphp -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 のセットアップ詳細はこちらの記事も参考にしてください。

コメント

タイトルとURLをコピーしました