phpMyAdmin 是一个免费、开源的基于 PHP 的应用程序,旨在通过基于 Web 的界面简化 MySQL 和 MariaDB 服务器的管理。
phpMyAdmin 允许您管理 MySQL 数据库、用户帐户和权限、执行 SQL 语句、以各种数据格式导入和导出数据等等。
本教程描述了在 Debian 9 上使用 Apache Web 服务器安装和保护 phpMyAdmin 所需的步骤。
先决条件#
在继续本教程之前,请确保您已满足以下要求:
- Have 安装在 Debian 服务器上的 LAMP(Linux、Apache、MySQL 和 PHP)
.
- 登录身份为具有 sudo 权限的用户
.
尽管可选,但建议通过 HTTPS 访问您的 phpMyAdmin 安装。如果您的域名尚未受到 SSL 保护,您可以按照本指南来保护您的域名Apache 与 Debian 9 上的 Let’s Encrypt
.
安装 phpMyAdmin#
执行以下步骤在 Debian 9 上安装 phpMyAdmin:
-
更新软件包索引并将系统软件包升级到最新版本:
sudo apt update && sudo apt upgrade
-
通过键入以下内容从默认 Debian 存储库安装 phpMyAdmin 软件包:
sudo apt install phpmyadmin
安装程序将要求您选择应自动配置为运行 phpMyAdmin 的 Web 服务器,通过按选择 apacheSpace
进而Enter
.
接下来,系统会询问您是否使用dbconfig-common
要设置数据库,请选择Yes
并击中Enter
.
输入phpMyAdmin注册数据库的密码,选择OK
并按Enter
.
确认密码,选择OK
并按Enter
.
-
安装过程完成后,重新启动 Apache 以使更改生效:
sudo systemctl restart apache2
创建管理 MySQL 用户#
在运行 MariaDB 10.1(及更高版本)的 Debian 系统中,root 用户设置为使用auth_socket
默认身份验证方法。
The auth_socket
插件对通过 Unix 套接字文件从本地主机连接的用户进行身份验证。这意味着您无法通过提供密码来进行 root 身份验证。
我们将创建一个新的 MySQL 管理用户,而不是更改 MySQL 用户 root 的身份验证方法。该用户将具有与 root 用户相同的权限,并且将被设置为使用mysql_native_password
身份验证方法。
我们将使用此用户登录 phpMyAdmin 仪表板并在 MySQL 或 MariaDB 服务器上执行管理任务。
首先以 root 用户身份登录 MySQL 服务器:
sudo mysql
从 MySQL shell 中执行以下命令,这将创建一个新的管理用户并授予适当的权限:
CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';
GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
我们命名为管理用户padmin
。您可以使用任何您喜欢的名称,但请务必设置一个强密码。
访问 phpMyAdmin#
要访问 phpMyAdmin 界面,请打开您喜欢的浏览器并输入服务器的域名或公共 IP 地址,然后输入/phpmyadmin
:
https://your_domain_or_ip_address/phpmyadmin
输入您之前创建的管理用户登录凭据,然后单击Go
.
登录后,您将看到 phpMyAdmin 仪表板,如下所示:
保护 phpMyAdmin#
为了添加额外的安全层,我们将通过设置基本身份验证来对 phpMyAdmin 目录进行密码保护。
首先,我们将使用以下命令为用户创建一个密码文件htpasswd
Apache 软件包附带的工具。我们将存储.htpasswd
文件输入/etc/phpmyadmin
目录:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd padmin
在此示例中,我们将创建一个名为padmin
。您可以选择任何用户名,不必与管理 MySQL 用户相同。
上面的命令将提示您输入并确认用户的密码。
New password:
Re-type new password:
Adding password for user padmin
如果您想添加其他用户,可以使用相同的命令,而无需-c
flag:
sudo htpasswd /etc/phpmyadmin/.htpasswd padmin2
下一步是配置 Apache 以密码保护 phpMyAdmin 目录并使用.htpasswd
file.
为此,请打开phpmyadmin.conf
在 phpMyAdmin 安装过程中自动创建的文件:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
并编辑/插入以下以黄色突出显示的行:
/etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
Options +FollowSymLinks +Multiviews +Indexes # edit this line
DirectoryIndex index.php
AllowOverride None
AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
<IfModule mod_php5.c>
...
保存并关闭文件并重新启动 Apache 以使更改生效:
sudo systemctl restart apache2
现在,当访问 phpMyAdmin 时,系统将提示您输入之前创建的用户的登录凭据:
https://your_domain_or_ip_address/phpmyadmin
输入基本身份验证后,您将进入 phpMyAdmin 登录页面,您需要在其中输入 MySQL 管理用户登录凭据。
改变一下也是一个好主意/phpmyadmin
更独特、更安全的别名。
结论#
恭喜,您已经在 Debian 9 服务器上成功安装了 phpMyAdmin。您现在可以开始创建 MySQL 数据库、用户和表并执行各种MySQL查询和操作。
如果您有疑问,请随时在下面发表评论。