UbuntuにAdminerを導入して軽量にDBを管理する方法

サーバー構築

サーバーを構築していると、データベースの管理に頭を悩ませることがありますよね。「コマンドラインでSQLを直接叩くのは少し不安」「でもphpMyAdminは重すぎてメモリを圧迫する」——そんな時に圧倒的に便利なのが「Adminer」です。

Adminerは、単一のPHPファイル(または軽量なDockerイメージ)で動作するデータベース管理ツールです。phpMyAdminと比べて動作が非常に軽く、導入が簡単という決定的な特徴があります。

本記事では、実際に Ubuntu 24.04 LTS 環境で Docker を使用して Adminer と MariaDB を立ち上げ、実測データと実際の画面スクリーンショットを交えながら導入手順を解説します。VPSでサーバー運用を始めたばかりの方でも、20分程度で管理画面をブラウザで開くところまで到達できます。

この記事のポイント

  • Adminer は単一コンテナで動作するため、docker run コマンド1行で即座に管理画面が立ち上がる
  • phpMyAdminと比較してメモリ使用量が少なく、1GBメモリの廉価なVPSプランでも快適に動作する
  • MariaDB / MySQL / PostgreSQL など、主要なデータベースに1つのUIで統一して接続・管理が可能

動作確認済み環境

本記事の手順と実行結果は、以下の環境で実際にコマンドを実行し、動作を検証しています。バージョンが異なるとパッケージ名やオプションが異なる場合がありますのでご注意ください。




ubuntu@linuxlab: ~
$ cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME=”Ubuntu 24.04.4 LTS”
$ docker –version
Docker version 29.5.3, build d1c06ef

実行環境の詳細な仕様は、以下の通り実測データとして取得しています。

実行環境の仕様(実測値)
実行環境の仕様(実測値)

UbuntuへのAdminer導入手順(Docker)

最も手軽でホスト環境を汚さない方法は、Docker公式イメージを利用することです。すでに Docker がインストールされていることを前提に進めます。(未導入の場合は、まず UbuntuへのDocker導入ガイド を参照してください。)

手順1:Dockerサービスの状態を確認する

まず、Docker デーモンが正しく起動しているかを確認します。




ubuntu@linuxlab: ~
$ systemctl is-active docker
active

注意

もし inactive または failed と表示された場合は、sudo systemctl start docker コマンドでサービスを起動してください。

手順2:管理対象のデータベース(MariaDB)を立ち上げる

Adminer 自体は「管理画面」を提供するだけのツールなので、接続先のデータベースが必要です。ここではテスト用に MariaDB コンテナを起動します。




ubuntu@linuxlab: ~
$ docker run -d \
–name linuxlab_mariadb \
-e MYSQL_ROOT_PASSWORD=dummy_root_pass_123 \
-e MYSQL_DATABASE=testdb \
-e MYSQL_USER=testuser \
-e MYSQL_PASSWORD=dummy_user_pass_456 \
mariadb:10.11
Unable to find image ‘mariadb:10.11’ locally
10.11: Pulling from library/mariadb

Status: Downloaded newer image for mariadb:10.11
7e2dc0886f7336ddad4367bed39f49d9b8b1a08803b107f99f6e01774eecf0f4

手順3:Adminer コンテナを起動する

いよいよ Adminer を起動します。公式イメージは非常に軽量で、追加の設定ファイルを作成する必要がありません。




ubuntu@linuxlab: ~
$ docker run -d \
–name linuxlab_adminer \
–link linuxlab_mariadb:db \
-p 8585:8080 \
adminer:latest
Unable to find image ‘adminer:latest’ locally
latest: Pulling from library/adminer

Status: Downloaded newer image for adminer:latest
568e5d105973eb5776b5adbd28e297e2909aca203e0bb712bf5573e27e651c2a

起動が完了すると、以下のようなログが記録されます。この実測ログからも、複雑な依存関係の解決なしに即座に起動していることが分かります。

Adminer コンテナの起動と接続確認ログ
Adminer コンテナの起動と接続確認ログ

Adminerの初回起動とログイン画面

ブラウザを開き、http://<サーバーのIPアドレス>:8585 にアクセスします。すると、以下のようなクリーンで直感的なログイン画面が表示されます。

初期状態のログイン画面(実撮影)
初期状態のログイン画面(実撮影)

フォームに以下の情報を入力して「ログイン」ボタンをクリックします。

  • システム: MariaDB または MySQL
  • サーバー: db (Dockerの --link オプションで指定したエイリアス)
  • ユーザー名: testuser
  • パスワード: dummy_user_pass_456
  • データベース: testdb

セキュリティに関する重要事項

本番環境で運用する際は、ポート 8585 をインターネットに直接公開しないでください。Nginxをリバースプロキシとして Basic認証 をかけたり、特定のIPアドレスからのみアクセスを許可するファイアウォール設定を必ず行ってください。

実際にデータベースを操作してみる

ログインに成功すると、以下のようなメインの管理画面が表示されます。左側のサイドバーには、testdb 内のテーブル一覧がツリー形式で表示されます。

メイン管理ダッシュボード(実撮影)
メイン管理ダッシュボード(実撮影)

試しに、新しいテーブルを作成してみましょう。「テーブルを作成」リンクをクリックすると、直感的なUIでカラム名、データ型、主キーを設定する画面に遷移します。SQLの構文を完璧に覚えていなくても、GUIの支援を受けながら安全にデータベース設計を進められるのが Adminer の最大のメリットです。

データベース管理画面(実撮影)
データベース管理画面(実撮影)

よくあるエラーと解決策

① 「No such file or directory」または接続タイムアウトが発生する

「サーバー」欄に localhost127.0.0.1 を指定していませんか? Docker コンテナ内からは、ホストの localhost は見えません。上記手順のように --link オプションで別名(例: db)を付けて解決するか、Docker Compose を使用して同一ネットワーク内に配置してください。

② ブラウザで「このサイトにアクセスできません」と表示される

VPSのファイアウォール(UFWなど)またはクラウドプロバイダー側のセキュリティグループで、ポート 8585 が開放されているか確認してください。sudo ufw allow 8585/tcp で許可設定を追加できます。

まとめ

今回は、Ubuntu 24.04 環境において Docker を活用し、軽量なデータベース管理ツールである Adminer を導入する手順を実測データと共に解説しました。

  • 公式 Docker イメージを使えば、複雑な PHP/Apache のセットアップなしで数秒で環境が完成する
  • 管理画面は直感的で、SQL初心者がデータベース構造を把握するのに非常に役立つ
  • 本番運用時はポート公開に細心の注意を払い、リバースプロキシやIP制限と組み合わせるのが鉄則

もしこれからサーバー環境を構築するのであれば、安定性とコストパフォーマンスの観点から、東京リージョンを持つ海外VPSの採用も検討してみてください。1GBプランでも今回のような軽量ツールを余裕を持って動かすことができます。

さらにサーバー構築の基礎を学びたい方は、以下の関連記事もあわせてご覧ください。

  • Ubuntu サーバーの初期セットアップ手順まとめ(SSH鍵認証・ファイアウォール設定)
  • Docker Compose で複数のサービスを一元管理する実践ガイド

コメント

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