如何在 Ubuntu 22.04 上安装 Adminer 数据库管理工具
在此页
- 先决条件
- 在 Ubuntu 服务器上进行管理员安装
- 安全管理员安装
- 更改默认 URL 路径
- 添加 Apache 基本身份验证
- 设置数据库用户(MySQL/MariaDB)
- 从管理员登录到 MariaDB 服务器
- 结论
Adminer(以前称为 phpMinAdmin)是一个功能齐全的数据库管理工具,它支持 RDBMS(关系数据库管理系统),例如 MySQL/MariaDB、PostgreSQL、SQLite、MS SQL 和 Oracle,以及 NoSQL,例如 MongoDB 等(通过插件) .它是一款轻量级、用户友好且高性能的数据库管理工具,可轻松用于管理您的数据库。
Adminer 是作为 phpMyAdmin 的替代品而创建的,它是用 PHP 编写的,由一个很小的 PHP 文件组成,并在 Apache 许可(或 GPL v2)下分发。
在本教程中,我们将向您展示如何在 Ubuntu 22.04 服务器上安装数据库管理工具“Adminer”的分步说明。
先决条件
在开始使用以下指南之前,您必须满足以下一些要求:
- 一台 Ubuntu 22.04 服务器。
- 具有根/管理员权限的非根用户。
- 您的机器上安装了数据库服务器。 Adminer 工具支持多种 RDBMS(关系数据库管理系统),例如 MySQL/MariaDB、PostgreSQL、SQLite3 和 OracleDB。
Ubuntu 服务器上的管理员安装
在较新的 Ubuntu 系统(包括 Ubuntu 22.04)上,Adminer 数据库工具在 Ubuntu Universe 存储库中默认可用。这使管理员更容易安装 Adminer,无需任何第三方存储库或任何额外的基本安装步骤。
在开始安装 Adminer 之前,请运行以下 apt 命令来更新和刷新您的 Ubuntu 存储库包索引。
sudo apt update
现在您可以使用以下命令检查 \adminer\ 包。在撰写本文时,Ubuntu 存储库提供了最新版本的 Admuiner v4.8,可在 \universe/web\ Ubuntu 存储库中找到。此外,您还可以看到 Adminer 有一些依赖包,其中包括用于多个 RDBMS(例如 MySQL/MariaDB、PostgreSQL 和 SQLite3)的 PHP 驱动程序。
sudo apt info adminer

现在您可以使用下面的apt 命令安装“Adminer”数据库管理工具。输入 Y 确认安装并按 ENTER 继续,\Adminer\ 安装将开始。
sudo apt install adminer

\Adminer\ 安装完成后,您需要为 Adminer \/etc/apache2/conf-available/adminer.conf\ 激活默认的 Apache2 配置。
运行以下命令以激活 Apache2 Web 服务器的管理员配置。
sudo ln -s /etc/apache2/conf-available/adminer.conf /etc/apache2/conf-enabled/
接下来,使用以下命令检查并验证 Apache2 配置。然后,重新启动 Apache2 服务以应用新更改。
sudo apachectl configtest
sudo systemctl restart apache2

现在您可以使用默认 URL 路径“/adminer”(即:http://192.168.5.75/adminer)通过 Web 浏览器访问它。并且您应该获得“Adminer”数据库管理工具的登录页面。

Adminer 是一个多数据库管理工具,它与仅支持 MySQL/MariaDB 或 PostgreSQL 的 pgAdmin 等数据库管理工具有很大不同。
您可以使用“Adminer”连接到多个 RDBMS,例如 MySQL/MariaDB、PostgreSQL、SQLite 和 OracleDB。要使用“管理员”连接到您的数据库,您只需在“管理员”登录页面上输入详细的数据库用户、密码和数据库即可。

保护管理员安装
安装 Adminer 后,现在您将使用不同的方法保护安装。
下面您将使用两种方法保护“Adminer”安装:
- 更改默认的 URL 路径:默认的 Adminer 安装位于路径 URL \/adminer\,攻击者可以猜测。更改默认 URL 路径将使您的 Adminer 更加安全,因为只有您知道 Adminer 安装的 URL 路径访问权限。
- 添加基本身份验证:这将在您获得管理员登录页面之前添加身份验证。可以使用 Apache2 模块 basic_auth 创建基本身份验证。
更改默认 URL 路径
默认的 Adminer 安装包括 Apache2 配置文件\/etc/apache2/conf-available/adminer.conf\,可用于在服务器上设置 Adminer 数据库管理工具。
使用以下命令编辑文件 \/etc/apache2/conf-available/adminer.conf\。
sudo nano /etc/apache2/conf-available/adminer.conf
在该行的顶部,您可以看到“Alias ...”选项,它定义了 Adminer 的默认 URL 路径。在演示中,我们将使用以下配置将默认 URL 路径从 \/adminer\ 更改为自定义路径 \/mydbadmin\。
Alias /mydbadmin /etc/adminer
完成后保存并关闭文件。
接下来,运行以下命令来检查和验证 Apache2 配置。如果您得到诸如“Syntax OK”之类的输出消息,则表示您的 Apache2 配置是正确的。
sudo apachectl configtest
现在使用以下命令重新启动 Apache2 服务以应用新的更改。
sudo systemctl restart apache2
最后,您可以在新的 URL 路径“/mydbadmin”(即:http://192.168.5.75/mydbadmin)上访问您的 Adminer 安装。您应该获得 Adminer 数据库管理工具的登录页面。

添加 Apache 基本身份验证
更改默认路径 URL 安装后,是时候使用 Apache2 模块“basic_auth”向管理员添加基本身份验证了。
运行以下命令为 Apache 基本身份验证创建一个新的用户文件“/etc/adminer/.htpasswd”。在此示例中,您将 Apache 基本身份验证的新用户定义为 \dbadmin\。
现在输入用户 \dbadmin\ 的密码并重复密码。并且将创建用于 Apache 基本身份验证的新用户文件。
sudo htpasswd -B -c /etc/adminer/.htpasswd dbadmin
如果只是想增加一个新用户,可以去掉选项“-c”,即新建一个数据库用户文件。因此,添加新用户的命令应如下所示。
sudo htpasswd -B /etc/adminer/.htpasswd newuser
接下来,使用以下命令编辑配置\/etc/apache2/conf-available/adminer.conf\。
sudo nano /etc/apache2/conf-available/adminer.conf
将以下配置添加到文件中。使用该配置,用户文件\/etc/adminer/.htpasswd\ 上的唯一有效用户将被允许登录并访问 URL 路径上的 Adminer 数据库管理工具\</mydbadmin\。
<Location /mydbadmin>
AuthType Basic
AuthName "Restricted Resource"
AuthBasicProvider file
AuthUserFile /etc/adminer/.htpasswd
Require valid-user
</Location>
完成后保存并关闭文件。
现在运行以下命令来检查和验证 Apache 配置文件。然后,重新启动 Apache2 服务以应用新更改。
sudo apachectl configtest
sudo systemctl restart apache2

最后,返回您的 Web 浏览器并访问您的 Adminer URL 安装(即:http://192.168.5.75/mydbadmin)。现在,在获得管理员登录页面之前,系统会提示您进行 Apache 基本身份验证。
输入用户“dbadmin”和密码,然后单击“登录”。你应该得到管理员登录页面。

设置数据库用户 (MySQL/MariaDB)
在这个例子中,我们将在不同的服务器上使用 MariaDB 数据库。因此,您需要为非本地主机设置数据库详细信息,例如用户名和密码。
在创建新的 MariaDB 用户之前,您需要将 MariaDB 设置为在私有 IP 地址上运行,这可以通过 MariaDB 配置 \/etc/mysql/mariadb.conf.d/ 进行设置50-server.cnf\”。
使用以下命令编辑 MariaDB 配置文件 \/etc/mysql/mariadb.conf.d/50-server.cnf\。
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
将默认的“侦听”地址更改为 MariaDB 服务器私有 IP。在此示例中,MariaDB 服务器 IP 地址为“192.168.5.20”。
listen = 192.168.5.20
完成后保存并关闭文件。
现在运行以下命令重新启动 MariaDB 服务并应用新更改。
sudo systemctl restart mariadb
接下来,登录到您的 MySQL/MariaDB 服务器并运行下面的 mysql 命令。
sudo mysql -u root -p
现在运行以下 MariaDB 查询为您的 MariaDB 服务器创建一个新的用户和密码。在此示例中,MariaDB 用户“[email ”将能够从具有 IP 地址“192.168.5.75”的管理服务器连接到 MariaDB 服务器。
CREATE USER 'dbadmin'@'192.168.5.75' IDENTIFIED BY 'dbpassword';
GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'192.168.5.75' WITH GRANT OPTION;
FLUSH PRIVILEGES;

接下来,运行以下查询来检查和验证用户“[email ”的权限将能够访问 MariaDB 服务器上的所有数据库。
SHOW GRANTS FOR ;
quit

现在,如果您的 MariaDB 服务器上运行了 UFW 防火墙,您还可以添加新的 UFW 规则来保护 MariaDB 访问。运行以下命令以仅允许来自管理服务器 IP 地址“192.168.5.75”的 MySQL/MariaDB 端口。
sudo ufw allow from 192.168.5.75 to 192.168.5.20 port 3306 proto tcp comment 'allow mysql access for Adminer'
sudo ufw reload
之后,使用以下命令验证 UFW 规则列表。您应该会看到 UFW 防火墙上提供了在端口 \3360/tcp\ 上访问 MySQL/MariaDB 的新规则。
sudo ufw status

从管理员登录到 MariaDB 服务器
在您的系统上设置数据库用户后,是时候从 Adminer 数据库管理工具连接到数据库服务器了。
在管理员登录页面上,输入详细信息数据库主机、用户名和密码。然后,单击“登录”按钮进行登录。

登录后,您现在可以从管理员仪表板管理您的数据库。此外,您还会注意到数据库版本和当前用于连接服务器的用户。

结论
恭喜!您现在已经在 Ubuntu 22.04 上成功安装了 Adminer 数据库管理工具。您还通过更改默认 URL 路径并使用 Apache 模块 basic_auth 添加基本身份验证来保护 Adminer 安装。最后,您还配置了可用于使用 Adminer 登录的数据库用户 (MySQL/MariaDB)。