Raspberry Pi Trixie に nginx-1.30 php-8.5 mariadb-11.8 を インストール

Raspberry Pi Web サーバーの構築
Trixie(トリクシー)
nginx-1.30 php-8.5 mariadb-11.8 のインストール
 
Raspberry pi の最新OS「Trixie」に、最新版のミドルウェアをインストールし、WordPress用のWebサーバーを構築する。
 
# ブラウザで確認(IPアドレスを入力)
 
以下、最新版のミドルウェアを apt でインストールする手順を記録。
 
 

 

スポンサー リンク

 

 
 
 
 
 
1. nginx-1.30 のインストール
 
 
最新版のNginxを apt でインストールする手順。
✅ 1. パッケージリストを更新し最新の状態にする
sudo apt update
sudo apt upgrade

✅ 2. インストール可能な nginx のバージョンを確認する
sudo apt-cache policy nginx

$ sudo apt-cache policy nginx
nginx:
  インストールされているバージョン: (なし)
  候補:               1.26.3-3+deb13u2
  バージョンテーブル:
     1.26.3-3+deb13u2 500
        500 http://deb.debian.org/debian trixie/main arm64 Packages
        500 http://deb.debian.org/debian-security trixie-security/main arm64 Packages

✅ 3. 必要なパッケージの準備
sudo apt install -y curl gnupg2 ca-certificates lsb-release debian-archive-keyring

✅ 4. nginx の署名キーを取得・登録
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
  | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

# キーが正しいか確認(フィンガープリントが 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 であることを確認):
mkdir /home/yaopi/.gnupg
gpg --dry-run --quiet --no-keyring \
  --import --import-options import-show \
  /usr/share/keyrings/nginx-archive-keyring.gpg

$ gpg --dry-run --quiet --no-keyring   --import --import-options import-show   /usr/share/keyrings/nginx-archive-keyring.gpg
gpg: *警告*: homedir '/home/yaopi/.gnupg'の安全でない許可
pub   rsa4096 2024-05-29 [SC]
      8540A6F18833A80E9C1653A42FD21310B49F6B46
uid                      nginx signing key <signing-key-2@nginx.com>

pub   rsa2048 2011-08-19 [SC] [有効期限: 2027-05-24]
      573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid                      nginx signing key <signing-key@nginx.com>

pub   rsa4096 2024-05-29 [SC]
      9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3
uid                      nginx signing key <signing-key-3@nginx.com>

✅ 5. Nginx 公式リポジトリ(Stable版)を追加

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian trixie nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list

✅ 6. 公式リポジトリを優先させる設定を行う
Debian標準のnginxより公式リポジトリのnginxを優先させるためのピン設定:
echo -e "Package: *\nPin: origin nginx.org\nPin-Priority: 900" \
| sudo tee /etc/apt/preferences.d/99nginx

✅ 7. パッケージリストを更新してインストール
sudo apt update
sudo apt install -y nginx

✅ 8. 動作確認
# バージョン確認
nginx -v

# サービス起動・有効化
sudo systemctl start nginx
sudo systemctl enable nginx

# ステータス確認
sudo systemctl status nginx

# curlで確認
curl http://localhost

# ブラウザで確認(IPアドレスを入力)
Welcome to nginx! のページが返れば成功。
 
✅ 2. インストール可能な nginx のバージョンの確認。
インストール可能な nginx のバージョンの確認
 
✅ 3. 必要なパッケージの準備。
必要なパッケージの準備
 
✅ 4. nginx の署名キーを取得・登録。
nginx の署名キーを取得・登録
 
キーが正しいか確認。
キーが正しいか確認
 
✅ 5. Nginx 公式リポジトリ(Stable版)を追加。
Nginx 公式リポジトリ(Stable版)を追加
 
✅ 6. 公式リポジトリを優先させる設定を行う。
公式リポジトリを優先させる設定を行う
 
✅ 7. パッケージリストを更新してインストール。
パッケージリストを更新してインストール
 
パッケージリストを更新してインストール
 
✅ 8. 動作確認。
# バージョン確認。
# バージョン確認
 
# サービス起動・有効化とステータスの確認。
# サービス起動・有効化とステータス確認
 
# curlで確認。
# curlで確認
 
# ブラウザで確認(IPアドレスを入力)。
# ブラウザで確認(IPアドレスを入力)
 
 
 
2. php-8.5 のインストール
 
 
最新版のPHPを apt でインストールする手順。
✅ 1. リポジトリ追加に必要なツールをインストール
sudo apt install -y lsb-release ca-certificates curl

✅ 2. GPGキーの追加
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg \
  https://packages.sury.org/php/apt.gpg

✅ 3. PHPリポジトリの追加
# PHPの公式サードパーティリポジトリ(sury.org)をUbuntu/Debianに追加する
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] \
  https://packages.sury.org/php/ $(lsb_release -cs) main" \
  | sudo tee /etc/apt/sources.list.d/php.list

✅ 4. apt update を実行
sudo apt update
# エラーは出ず、成功する。

✅ 5. apt-cache policy php コマンドについて
# 📌 apt-cache policy php を実行すると、候補には 8.4 が表示される。
apt-cache policy php

$ apt-cache policy php
php:
  インストールされているバージョン: (なし)
  候補:               2:8.4+101~+0~20260212.63+debian13~1.gbp7da167
  バージョンテーブル:
     2:8.4+101~+0~20260212.63+debian13~1.gbp7da167 500
        500 https://packages.sury.org/php trixie/main arm64 Packages
        500 https://packages.sury.org/php trixie/main armhf Packages
     2:8.4+96 500
        500 http://deb.debian.org/debian trixie/main arm64 Packages
        500 http://deb.debian.org/debian trixie/main armhf Packages

# 8.5 を指定して確認してみると、8.5 が候補として表示される。
apt-cache policy php8.5

$ apt-cache policy php8.5
php8.5:
  インストールされているバージョン: (なし)
  候補:               8.5.5-1+0~20260411.12+debian13~1.gbp24683b
  バージョンテーブル:
     8.5.5-1+0~20260411.12+debian13~1.gbp24683b 500
        500 https://packages.sury.org/php trixie/main arm64 Packages
        500 https://packages.sury.org/php trixie/main armhf Packages

✅ 6. php 8.5 のインストール
sudo apt install -y \
  php8.5-fpm \
  php8.5-mysql \
  php8.5-xml \
  php8.5-mbstring \
  php8.5-curl \
  php8.5-zip \
  php8.5-gd \
  php8.5-intl \
  php8.5-bcmath \
  php8.5-imagick

# 📌 提案パッケージ「php-pear」のインストール
sudo apt install -y php-pear

✅ 7. PHPのバージョンを確認
php -v

$ php -v
PHP 8.5.5 (cli) (built: Apr 11 2026 06:53:33) (NTS)
Copyright (c) The PHP Group
Built by Debian
Zend Engine v4.5.5, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.5, Copyright (c), by Zend Technologies

sudo update-alternatives --config php

$ sudo update-alternatives --config php
alternative php (/usr/bin/php を提供) には 1 個の選択肢があります。

  選択肢    パス           優先度  状態
------------------------------------------------------------
* 0            /usr/bin/php8.5   85        自動モード
  1            /usr/bin/php8.5   85        手動モード

現在の選択 [*] を保持するには 、さもなければ選択肢の番号のキーを押してください: 

✅ 8. 自動起動設定・起動・ステータス確認
sudo systemctl enable php8.5-fpm
sudo systemctl start php8.5-fpm
sudo systemctl status php8.5-fpm
 
✅ 1. リポジトリ追加に必要なツールをインストール。
✅ 2. GPGキーの追加。
✅ 3. PHPリポジトリの追加。
✅ 4. apt update を実行。
1. リポジトリ追加に必要なツールをインストール。 2. GPGキーの追加。 3. PHPリポジトリの追加。 4. apt update を実行。
 
✅ 5. apt-cache policy php コマンドについて。
apt-cache policy php コマンドについて
📌 apt-cache policy php を実行すると、候補には 8.4 が表示される。
 
🧰 理由:php メタパッケージは「特定のバージョンを指す」。
apt-cache policy php で表示される候補は、php というメタパッケージ(実体のない橋渡し用パッケージ)が指しているバージョンで、このメタパッケージが現在 php8.4 を指すよう設定されているだけで、php8.5 が存在しないわけではない。
 
🎉 8.5 を指定して確認すると、8.5 が候補として表示される。
 
✅ 6. php 8.5 のインストール。
php 8.5 のインストール
 
各モジュールの役割:
fpm = Nginx連携に必須 / mysql = DB接続 / xml, mbstring = WordPress本体 /curl, zip = プラグイン更新 / gd, imagick = 画像処理 / opcache = キャッシュ高速化。
 
📌opcache について:
PHP 8.5では、OPcacheがPHPコアに組み込まれ、デフォルトで常に有効になったため、従来のphp.iniでの明示的なインストールや有効化が不要になった。この変更により、--disable-opcacheフラグは削除され、OPcacheは常にロードされた状態になる。
 
🧰 提案パッケージ「php-pear」のインストール。
提案パッケージ「php-pear」のインストール
 
✅ 7. インストールされたPHPのバージョンを確認。
インストールされたPHPのバージョンを確認
 
✅ 8. 起動時自動起動設定とサービスの起動、及び、ステータスの確認。
有効化・自動起動設定とステータスの確認
 
 
🧠 補足:壊れた設定ファイルの削除。
 sudo rm /etc/apt/sources.list.d/php.list
 
 
 
3. mariadb-11.8 のインストール
 
 
最新版のMariaDBを apt でインストールする手順。
✅ 1. Raspberry Pi OS(Trixie)でインストール可能な MariaDB の最新版を調べる
# 最もシンプルな方法
apt policy mariadb-server

# 利用可能な全バージョン一覧を見る
apt list -a mariadb-server

# 詳細情報も含めて確認
apt show mariadb-server

✅ 2. Debian(APT標準)版のインストールと起動
sudo apt install -y mariadb-server

# インストール後にバージョンを確認:
mariadb --version

$ mariadb --version
mariadb from 11.8.6-MariaDB, client 15.2 for debian-linux-gnu (aarch64) using  EditLine wrapper

# 📌 インストール後、MariaDB のデーモンが自動で起動する。

# サービスの稼働確認
sudo systemctl status mariadb

✅ 3. MariaDBのセキュリティ初期設定
sudo mariadb-secure-installation

✅ 4. バージョンの確認
# インストール後のバージョン
mysql -V
mysql from 11.8.6-MariaDB, client 15.2 for debian-linux-gnu (aarch64) using  EditLine wrapper

# サーバ内の実バージョン
mysql -u root -p -e "SELECT VERSION();"
11.8.6-MariaDB-0+deb13u1 from Debian
 
✅ 1. Raspberry Pi OS(Trixie)でインストール可能な MariaDB の最新版を調べる。
Raspberry Pi OS(Trixie)でインストール可能な MariaDB の最新版を調べる
 
✅ 2. Debian(APT標準)版のインストール。
Debian(APT標準)版のインストール
 
🔹 インストール後のバージョン確認。
インストール後のバージョン確認
 
🧰 インストール後、MariaDB のデーモンが自動で起動する。
 
🔹 サービスの稼働確認。
サービスの稼働確認
 
✅ 3. MariaDBのセキュリティ初期設定。
対話式で以下を設定する:
質問回答
 Enter current password for root or leave blank:  ← enterで次へ
 Switch to unix_socket authentication n
 Change the root password y → 強いパスワードを設定
 Remove anonymous users y
 Disallow root login remotely y
 Remove test database y
 Reload privilege tables y
MariaDBのセキュリティ初期設定
MariaDBのセキュリティ初期設定
 
✅ 4. バージョンの確認。
バージョンの確認
 
 
以上。
(2026.04.15)
 

 

スポンサー リンク

 

             

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください