Raspberry Pi 4 + Ubuntu 24.04にZabbix 7.0 LTSをインストールする《AIとのハマりポイント徹底解説》

まえがき

Raspberry Piを使って自宅サーバーを構築するのは、非常にエキサイティングなプロジェクトです。特に、Zabbixのような強力な監視ツールを導入できれば、その可能性は無限に広がります。

しかし、特定の環境、特にRaspberry Pi 4のようなARMアーキテクチャに、最新のUbuntu 24.04 LTSZabbix 7.0 LTSを組み合わせようとすると、公式ドキュメントだけでは乗り越えられない、いくつかの「罠」が潜んでいます。

この記事は、単なるインストール手順書ではありません。AIアシスタント(Google Gemini)と筆者(ユーザー)が、リアルタイムで試行錯誤を繰り返し、数々のエラーを乗り越えてようやくたどり着いた、生きたトラブルシューティングの記録です。

AIですら頭を抱えた「ハマりポイント」とその完全な解決策を共有することで、あなたの貴重な時間を節約し、必ず成功に導くことをお約束します。

前提環境

  • デバイス: Raspberry Pi 4 Model B
  • OS: Ubuntu 24.04.2 LTS (aarch64 / arm64)
  • インストール対象: Zabbix 7.0 LTS
  • データベース: MariaDB
  • Webサーバー: Nginx

完成版・パーフェクトインストール手順

まずは、私たちが最終的にたどり着いた、正しいインストール手順の完全版を記載します。

ステップ1: Zabbixリポジトリの正しい設定【最重要ポイント】

# Zabbixの公開GPGキーを取得
sudo wget https://repo.zabbix.com/zabbix-official-repo.key -O /usr/share/keyrings/zabbix-official-repo.key

# arm64専用の正しいURLでリポジトリ設定ファイルを作成
echo "deb [signed-by=/usr/share/keyrings/zabbix-official-repo.key] https://repo.zabbix.com/zabbix/7.0/ubuntu-arm64 noble main" | sudo tee /etc/apt/sources.list.d/zabbix.list

# パッケージリストを更新
sudo apt update

ステップ2: Zabbixと関連コンポーネントのインストール

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent mariadb-server

ステップ3: MariaDBのデータベース設定

対話式のセキュリティ設定を実行します。

sudo mysql_secure_installation

(rootパスワードの設定など、画面の指示に従って進めてください)

Zabbix用のデータベースとユーザーを作成します。

# MariaDBにrootでログイン
sudo mysql -u root -p

# 以下のSQLコマンドを1行ずつ実行(パスワードは変更してください)
CREATE DATABASE zabbix character set utf8mb4 collate utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix用の強力なパスワード';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;
QUIT;

ステップ4: Zabbixスキーマのインポート

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

(上記で設定したZabbix用パスワードの入力を求められます)

ステップ5: ZabbixサーバーとMariaDBの設定

# Zabbixサーバー設定ファイルにDBパスワードを記述
sudo vim /etc/zabbix/zabbix_server.conf
# -> DBPassword=zabbix用の強力なパスワード

# MariaDBの設定を元に戻す
sudo mysql -u root -p
# -> SET GLOBAL log_bin_trust_function_creators = 0;
# -> QUIT;

ステップ6: NginxとPHP-FPMの設定

# Zabbix用Nginx設定ファイルのlistenポート等を修正
sudo vim /etc/zabbix/nginx.conf
# -> listen 80;
# -> server_name _;
# (行頭の#を削除して有効化)

# 英語ロケールを生成(Web UIでのエラー回避のため)
sudo locale-gen en_US.UTF-8

ステップ7: サービスの起動と自動起動設定

sudo systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm
sudo systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm

ステップ8: Nginxのデフォルト設定無効化

# Nginxのデフォルトページ設定を無効化
sudo rm /etc/nginx/sites-enabled/default

# Nginxを再起動
sudo systemctl restart nginx

ステップ9: Webブラウザでの最終設定

ブラウザで http://<RaspberryPiのIPアドレス>/ にアクセスし、画面の指示に従って設定を完了させます。データベースの種類は「MySQL」を選択してください。


AIとの軌跡:ハマりポイント徹底解説

ここからは、なぜ上記の手順にたどり着いたのか、AI(Gemini)と私をどん底に叩き落とした3つの大きな罠について解説します。

ハマりポイント①:最大の罠・リポジトリURLの真実

  • 症状: apt update を実行すると、Skipping acquire... as repository '...' doesn't support architecture 'arm64' という通知が出て、Zabbixパッケージをインストールできない。
  • AIの誤算: 当初、AIはこれを「リポジトリ設定の記述方法の問題」と判断しました。[arch=arm64]というオプションを追記したり、aptのキャッシュをクリアしたりと、あらゆる標準的なトラブルシューティングを試しましたが、全て失敗に終わりました。
  • 正解:ARM64 (aarch64)用のリポジトリは、URL自体が異なっていたのです。
    • 間違い: https://repo.zabbix.com/zabbix/7.0/ubuntu
    • 正解: https://repo.zabbix.com/zabbix/7.0/ubuntu-arm64
  • 教訓: ARMアーキテクチャにインストールする際は、リポジトリのURLがアーキテクチャ別に用意されていないかを最優先で確認すべきです。

ハマりポイント②:「Welcome to nginx!」地獄

  • 症状: Zabbixをインストールし、IPアドレスにアクセスしても、Zabbixのセットアップ画面ではなくNginxのウェルカムページが表示される。
  • 原因: Nginxをインストールすると、デフォルトのサイト設定 (/etc/nginx/sites-enabled/default) が有効になります。これが、私たちが設定したZabbix用の設定よりも優先されてしまっていました。
  • 解決策: 上記ステップ8の通り、sudo rm /etc/nginx/sites-enabled/default コマンドでこのデフォルト設定を無効化することで、Zabbix用の設定が正しく読み込まれるようになります。

ハマりポイント③:最後の刺客・ロケールエラー

  • 症状: ZabbixのWebセットアップ画面で、「System locale」の項目が Fail となり先に進めない。
  • 原因: Zabbixは、グラフ描画などの機能で内部的に英語ロケール (en_US.UTF-8) を要求します。Ubuntu Serverのミニマルな環境では、このロケールがデフォルトで生成されていないことがあります。
  • 解決策: 上記ステップ6の最後に追記した通り、sudo locale-gen en_US.UTF-8 コマンドで要求されているロケールを生成し、関連サービスを再起動することで解決します。

まとめ

AIとの協業は、時に驚くほどスムーズですが、今回のように前例の少ないケースでは、AIも人間と同じように「思い込み」に囚われることがあります。しかし、論理的な切り分けと粘り強い試行錯誤を繰り返すことで、どんなに複雑な問題でも必ず解決できるということを、改めて証明できたのではないでしょうか。

この記事が、同じ志を持つあなたのプロジェクトの一助となれば、これほど嬉しいことはありません。

コメント

コメントを残す

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