本教程适用于以下操作系统版本

  • Debian 12(Bookworm)
  • Debian 10(Buster)

本页内容

  • 前置条件
  • 在 Debian 上安装 Adminer
  • 加固 Adminer 安装
  • 配置 MySQL/MariaDB 服务器
  • 通过 Adminer 登录 MySQL 服务器
  • 通过 Adminer 创建新数据库和用户
  • 结语

Adminer(前身为 phpMinAdmin)是一款使用 PHP 编写的功能完备的数据库管理工具,既支持 MySQL/MariaDB、PostgreSQL、SQLite、MS SQL 和 Oracle 等关系型数据库管理系统(RDBMS),也支持 MongoDB 等 NoSQL 数据库(通过插件)。

Adminer 是 phpMyAdmin 的替代品。它是一款轻量、易用且高性能的数据库管理工具,可轻松用于管理你的各类数据库。

在本指南中,我们将演示如何在 Debian 12 服务器上安装 Adminer 数据库管理工具。你还将通过 Apache 的 basic_auth 模块来加固 Adminer。

前置条件

在开始之前,请确保你已具备以下条件:

  • 一台 Debian 12 服务器。
  • 一个拥有管理员权限的非 root 用户。
  • 已安装 MySQL/MariaDB 数据库。

在 Debian 上安装 Adminer

Adminer 是 phpMyAdmin 的替代品,同时也支持 PostgreSQL 数据库。它同样使用 PHP 编写,几乎可以在任何搭载 Apache 或 Nginx Web 服务器的操作系统上运行。

在 Debian 上,adminer 软件包默认可用,你可以轻松地通过仓库安装它。我们建议在一台全新的服务器上安装 adminer,因为它会自动安装 PHP 软件包和 Apache Web 服务器。

在安装 adminer 之前,请使用以下命令更新你的 Debian 软件包索引。

sudo apt update

在 Debian 12 上安装 Adminer 数据库管理工具

使用以下命令在默认的 Debian 仓库中查找 adminer 软件包。

sudo apt info adminer

如下图所示,adminer 软件包在 Debian 仓库的 `web` 分类下可用,要求至少 PHP 8.2 和 Apache Web 服务器。

在 Debian 12 上安装 Adminer 数据库管理工具

现在使用以下命令安装 adminer。这会同时自动安装 PHP 和 Apache 等所需软件包。输入 y 确认安装。

sudo apt install adminer

在 Debian 12 上安装 Adminer 数据库管理工具

安装完成后,使用以下命令验证 Apache 服务。确保 Apache 服务正在运行。

sudo systemctl status apache2

在 Debian 12 上安装 Adminer 数据库管理工具

加固 Adminer 安装

既然你已经安装了 adminer,下一步就是配置你的 adminer 安装。在本示例中,你将更改 Adminer 的默认 URL 路径,并通过 basic_auth 添加额外的认证。这样,你将拥有两层认证。

另外,你需要知道,adminer 会在 /etc/apache2/conf-available/adminer.conf 生成新的 Apache 配置文件。你将修改此文件来配置 adminer 安装。

在编辑配置之前,运行以下命令生成密码文件 /etc/adminer/.htpasswd。同时,请务必将用户名 dbmanager 替换为你自己的用户。

/etc/adminer/.htpasswd 将作为 Adminer 通过 Apache basic_auth 模块的额外认证使用。

sudo htpasswd -B -c /etc/adminer/.htpasswd dbmanager

出现提示时输入你的密码并重复确认。

在 Debian 12 上安装 Adminer 数据库管理工具

现在使用 nano 编辑器打开为 adminer 生成的 Apache 配置文件 /etc/apache2/conf-available/adminer.conf。

sudo nano /etc/apache2/conf-available/adminer.conf

在第一行中,将 '/adminer' 的默认 URL 更改为新的 URL 路径。本示例中,adminer 将通过 URL 路径 ' /dbmanager ' 访问。

Alias /dbmanager /etc/adminer
<Directory /etc/adminer>
Require all granted
DirectoryIndex conf.php
</Directory>

插入以下配置,为 ' /dbmanager ' 路径启用 Apache basic_auth。这样,每次访问 ' /dbmanager ' 路径时,都会提示你进行额外的 Apache basic_auth 认证。

<Location /dbmanager>
 AuthType Basic
 AuthName "Restricted Resource"
 AuthBasicProvider file
 AuthUserFile /etc/adminer/.htpasswd
 Require valid-user
</Location>

完成后保存并关闭文件。

接下来,运行以下命令在 Apache 上启用附加配置 'adminer.conf',并验证 Apache 的整体语法。

sudo a2enconf adminer.conf
sudo apachectl configtest

确保语法正确,并看到类似 Syntax OK 的输出。

在 Debian 12 上安装 Adminer 数据库管理工具

最后,运行以下命令重启 Apache 服务,并应用 Adminer 的新配置。执行该命令后,你的 Adminer 安装应该就准备就绪了。

sudo systemctl restart apache2

配置 MySQL/MariaDB 服务器

至此,你的 Adminer 已经就绪,但你仍需为 MySQL 服务器创建一个专用于 Adminer 登录的新用户来做好准备。不建议直接使用 root 用户。

Note: If you're connecting through a remote host, make sure you're via SSH tunneling to encrypt your connection. If you're using a single server (MySQL + Adminer on the same server), you're ready to go.

使用以下命令登录 MySQL/MariaDB 服务器。出现提示时输入你的 MySQL root 密码。

sudo mysql -u root -p

运行以下查询,为你的 MySQL 服务器创建一个名为 dbmanager 的新用户。本示例中,该用户将用于通过 Adminer 登录 MySQL 服务器。因此,请务必将下列密码替换为新的密码。

CREATE USER 'dbmanager'@'127.0.0.1' IDENTIFIED BY 'dbpassword';
GRANT ALL PRIVILEGES ON *.* TO 'dbmanager'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;

在 Debian 12 上安装 Adminer 数据库管理工具

现在,运行以下查询验证 MySQL 服务器中的用户列表。你应该会看到用户 dbmanager,其默认主机为 127.0.0.1。

SELECT user,host FROM mysql.user;

在 Debian 12 上安装 Adminer 数据库管理工具

最后,输入 quit 退出 MySQL 服务器。

通过 Adminer 登录 MySQL 服务器

打开你的网页浏览器,访问 Adminer 安装 URL http://192.168.5.15/dbmanager。如果安装成功,你将会看到 basic_auth 认证提示。输入你创建的用户名和密码,然后点击 Sign In(登录)。

在 Debian 12 上安装 Adminer 数据库管理工具

登录成功后,你应该会看到 Adminer 的登录页面。现在将数据库系统选择为 MySQL,然后输入 MySQL 服务器的主机、端口、用户名和密码信息。点击 Login(登录)确认。

在 Debian 12 上安装 Adminer 数据库管理工具

如果你的数据库凭据正确,你就应该能通过 Adminer 连接到 MySQL。

在 Debian 12 上安装 Adminer 数据库管理工具

通过 Adminer 创建新数据库和用户

在本节中,你将学习如何通过 Adminer 在 MySQL/MariaDB 上创建新数据库和用户。随后,你还将使用新用户登录到新数据库。

在 Adminer 仪表盘上,点击 Create Database(创建数据库)链接。你将看到如下页面。

输入你的新数据库名称并点击 Save(保存)。本示例中,你将创建一个名为 testdb 的新数据库。

在 Debian 12 上安装 Adminer 数据库管理工具

接下来,要创建新的 MySQL/MariaDB 用户,请点击仪表盘上的 Privileges(权限),然后点击 Create user(创建用户)。

在 Debian 12 上安装 Adminer 数据库管理工具

输入数据库用户名和密码,然后在权限部分输入你的数据库名称。向下滚动并点击 Save(保存)。

在下面的示例中,你将创建一个名为 testuser 的新用户,并赋予该用户访问 testdb 数据库的权限。

在 Debian 12 上安装 Adminer 数据库管理工具

最后,使用用户 testuser 登录 Adminer 并访问数据库 testdb。

在 Debian 12 上安装 Adminer 数据库管理工具

如果成功,你就应该已经通过 Adminer 登录到 testdb。

图片

在 Debian 12 上安装 Adminer 数据库管理工具

结语

恭喜!你已成功在 Debian 12 服务器上将 Adminer 安装为 MySQL/MariaDB 和 PostgreSQL 的数据库管理工具。你还通过更改默认 URL 路径并启用 Apache basic_auth 模块提供的额外认证层,加固了 Adminer。最后,你已经通过 Adminer 工具登录了 MySQL 服务器。