如何在 Debian 12 上安装 Adminer 数据库管理工具
Adminer(以前称为 phpMinAdmin)是一个用 PHP 编写的功能齐全的数据库管理工具,支持 RDBMS(关系数据库管理系统),例如 MySQL/MariaDB、PostgreSQL、SQLite、MS SQL 和 Oracle,以及 NoSQL,例如 MongoDB 等(通过插件)。
Adminer 是 phpMyAdmin 的替代品。它是一个轻量级、用户友好且高性能的数据库管理工具,可以轻松地用来管理您的数据库。
在本指南中,我们将向您展示如何在 Debian 12 服务器上安装 Adminer 数据库管理工具。您还可以通过 Apache basic_auth 模块保护管理员。
先决条件
在开始之前,请确保您具备以下条件:
- Debian 12 服务器。
- 具有管理员权限的非 root 用户。
- 安装了 MySQL/MariaDB 数据库。
在 Debian 上安装管理员
Adminer 是 phpMyAdmin 的替代品,但也支持 PostgreSQL 数据库。它也是用 PHP 编写的,几乎可以运行任何带有 Apache 或 Nginx Web 服务器的操作系统。
在 Debian 上,adminer 软件包默认可用,您可以通过存储库轻松安装它。我们建议您在新服务器上安装 adminer,因为它会自动安装 PHP 包和 Apache Web 服务器。
在安装 adminer 之前,请使用以下命令更新 Debian 软件包索引。
sudo apt update
使用以下命令在默认 Debian 存储库中查找 adminer 软件包。
sudo apt info adminer
您可以在下面看到管理程序包位于 Debian 存储库的“web”部分,并且至少需要 PHP 8.2 和 Apache Web 服务器。
现在使用以下命令安装管理员。这还会自动安装所需的软件包,例如 PHP 和 Apache。输入 y 确认安装。
sudo apt install adminer
安装完成后,使用以下命令验证Apache服务。确保 Apache 服务正在运行。
sudo systemctl status apache2
保护管理员安装
现在您已经安装了 adminer,下一步是配置您的 adminer 安装。在此示例中,您将更改 Adminer 的默认 URL 路径并通过 basic_auth 添加额外的身份验证。这样,您将拥有两层身份验证。
另外,您必须知道 adminer 在 /etc/apache2/conf-available/adminer.conf 中生成新的 Apache 配置文件。您将修改此文件来配置管理员安装。
在编辑配置之前,运行以下命令生成密码文件 /etc/adminer/.htpasswd 。另外,请确保将用户名 dbmanager 更改为您的用户。
/etc/adminer/.htpasswd 将通过 Apache basic_auth 模块为管理员用作附加身份验证。
sudo htpasswd -B -c /etc/adminer/.htpasswd dbmanager
出现提示时输入密码并重复。
现在使用 Nano 编辑器打开为管理员 /etc/apache2/conf-available/adminer.conf 生成的 Apache 配置。
sudo nano /etc/apache2/conf-available/adminer.conf
在顶行,将 '/adminer' 的默认 URL 更改为新的 URL 路径。在此示例中,可以通过 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 之类的输出。
最后,运行以下命令重新启动 Apache 服务并为 Adminer 应用新配置。执行命令后,您的管理员安装应该已准备就绪。
sudo systemctl restart apache2
设置 MySQL/MariaDB 服务器
此时,您的管理员已准备就绪,但您仍需要通过创建指定用于管理员登录的新用户来准备 MySQL 服务器。不建议直接使用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;
现在,运行以下查询来验证 MySQL 服务器中的列表用户。您应该会看到用户dbmanager,其默认主机127.0.0.1。
SELECT user,host FROM mysql.user;
最后,输入 quit 退出 MySQL 服务器。
通过管理员登录MySQL服务器
打开 Web 浏览器并访问 Adminer 安装 URL http://192.168.5.15/dbmanager。如果安装成功,系统应该提示您进行 basic_auth 身份验证。输入您创建的用户名和密码,然后单击登录。
成功后,您应该会看到管理员登录页面。现在选择数据库系统为 MySQL,然后输入 MySQL 服务器的主机和端口、用户名和密码的详细信息。单击登录进行确认。
如果您有正确的数据库凭据,您应该通过管理员连接到 MySQL。
通过管理员创建新数据库和用户
在本节中,您将学习如何通过 Adminer 在 MySQL/MariaDB 上创建新数据库和用户。然后,您还将通过新用户登录新数据库。
在管理员仪表板上,单击创建数据库链接。您将看到以下页面。
输入新的数据库名称,然后单击保存。在此示例中,您将创建一个新数据库 testdb。
接下来,要创建新的 MySQL/MariaDB 用户,请单击仪表板上的权限,然后单击创建用户。
输入数据库用户名和密码,然后在权限部分输入您的数据库名称。向下滚动并点击保存。
在以下示例中,您将创建一个新用户 testuser 并授予该用户对数据库 testdb 的权限。
最后,使用用户 testuser 登录到数据库 testdb 的管理员。
如果成功,您应该通过管理员登录到testdb。
皮克特
结论
恭喜!您现在已成功安装 Adminer 作为 Debian 12 服务器上 MySQL/MariaDB 和 PostgreSQL 的数据库管理工具。您还可以通过更改默认 URL 路径并通过 Apache basic_auth 模块启用附加身份验证层来保护 Adminer。至此,您已经通过Adminer工具登录到MySQL服务器了。