如何在 Ubuntu 16.04 上安装和保护 phpMyAdmin如何在 Ubuntu 16.04 上安装和保护 phpMyAdmin如何在 Ubuntu 16.04 上安装和保护 phpMyAdmin如何在 Ubuntu 16.04 上安装和保护 phpMyAdmin
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 16.04 上安装和保护 phpMyAdmin

介绍

虽然许多用户需要像 MySQL 这样的数据库管理系统的功能,但他们可能不习惯仅通过 MySQL 提示符与系统交互。

创建 phpMyAdmin 以便用户可以通过 Web 界面与 MySQL 交互。在本指南中,我们将讨论如何安装和保护 phpMyAdmin,以便您可以安全地使用它从 Ubuntu 16.04 系统管理您的数据库。

先决条件

在开始使用本指南之前,您需要完成一些基本步骤。

首先,我们假设您使用的是具有 sudo 权限的非根用户,如 Ubuntu 16.04 初始服务器设置中的步骤 1-4 中所述。

我们还假设您已经在 Ubuntu 16.04 服务器上完成了 LAMP(Linux、Apache、MySQL 和 PHP)安装。如果这还没有完成,您可以按照本指南在 Ubuntu 16.04 上安装 LAMP 堆栈。

最后,在使用像 phpMyAdmin 这样的软件时,还有一些重要的安全注意事项,因为它:

  • 直接与您的 MySQL 安装通信
  • 使用 MySQL 凭据处理身份验证
  • 执行并返回任意 SQL 查询的结果

由于这些原因,并且因为它是一个广泛部署的 PHP 应用程序,经常成为攻击的目标,所以您永远不应该通过普通 HTTP 连接在远程系统上运行 phpMyAdmin。如果您没有使用 SSL/TLS 证书配置的现有域,则可以按照本指南在 Ubuntu 16.04 上使用 Let's Encrypt 保护 Apache。

完成这些步骤后,您就可以开始使用本指南了。

第一步 — 安装 phpMyAdmin

首先,我们将从默认的 Ubuntu 存储库安装 phpMyAdmin。

我们可以通过更新我们的本地包索引然后使用 apt 打包系统来下载文件并将它们安装到我们的系统上来做到这一点:

  1. sudo apt-get update
  2. sudo apt-get install phpmyadmin php-mbstring php-gettext

这将询问您几个问题,以便正确配置您的安装。

警告:出现第一个提示时,apache2 被突出显示,但未被选中。如果您没有按空格键选择 Apache,安装程序将不会在安装过程中移动必要的文件。按空格键、Tab 键,然后按 Enter 以选择 Apache。

  • 对于服务器选择,选择 apache2。
  • 当系统询问是否使用 dbconfig-common 设置数据库时选择 yes
  • 系统将提示您输入数据库管理员的密码
  • 然后您将被要求选择并确认 phpMyAdmin 应用程序本身的密码

安装过程实际上将 phpMyAdmin Apache 配置文件添加到 /etc/apache2/conf-enabled/ 目录中,自动读取该目录。

我们唯一需要做的就是显式启用 PHP mcrypt 和 mbstring 扩展,我们可以通过键入:

  1. sudo phpenmod mcrypt
  2. sudo phpenmod mbstring

之后,您需要重新启动 Apache 才能识别您的更改:

  1. sudo systemctl restart apache2

您现在可以通过访问服务器的域名或公共 IP 地址后跟 /phpmyadmin 来访问 Web 界面:

https://domain_name_or_IP/phpmyadmin

您现在可以使用 root 用户名和您在 MySQL 安装期间设置的管理密码登录界面。

登录后,您会看到用户界面,如下所示:

第二步 — 保护您的 phpMyAdmin 实例

我们能够相当轻松地启动和运行 phpMyAdmin 界面。然而,我们还没有完成。由于其无处不在,phpMyAdmin 是攻击者的热门目标。我们应该采取额外的措施来防止未经授权的访问。

最简单的方法之一是在整个应用程序前面放置一个网关。我们可以使用 Apache 的内置 .htaccess 身份验证和授权功能来做到这一点。

配置 Apache 以允许 .htaccess 覆盖

首先,我们需要通过编辑 Apache 配置文件来启用 .htaccess 文件覆盖。

我们将编辑已放置在 Apache 配置目录中的链接文件:

  1. sudo nano /etc/apache2/conf-available/phpmyadmin.conf

我们需要在配置文件的 部分添加一个 AllowOverride All 指令,如下所示:

<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All
    . . .

添加此行后,保存并关闭文件。

要实施您所做的更改,请重新启动 Apache:

  1. sudo systemctl restart apache2

创建一个 .htaccess 文件

现在我们已经为我们的应用程序启用了 .htaccess,我们需要创建一个来实际实现一些安全性。

为了成功,必须在应用程序目录中创建该文件。我们可以创建必要的文件并在我们的文本编辑器中以 root 权限打开它,方法是键入:

  1. sudo nano /usr/share/phpmyadmin/.htaccess

在此文件中,我们需要输入以下信息:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

让我们回顾一下每一行的含义:

  • AuthType Basic:此行指定我们正在实施的身份验证类型。该类型将使用密码文件实现密码认证。
  • AuthName:设置身份验证对话框的消息。您应该保持这种通用性,这样未经授权的用户就不会获得有关受保护内容的任何信息。
  • AuthUserFile:设置用于身份验证的密码文件的位置。这应该在所服务的目录之外。我们将很快创建此文件。
  • Require valid-user:指定只有经过身份验证的用户才能访问此资源。这实际上阻止了未经授权的用户进入。

完成后,保存并关闭文件。

创建用于身份验证的 .htpasswd 文件

我们为密码文件选择的位置是 \/etc/phpmyadmin/.htpasswd。我们现在可以创建此文件并将其传递给具有 htpasswd 的初始用户公用事业:

  1. sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

系统将提示您为正在创建的用户选择并确认密码。之后,将使用您输入的散列密码创建该文件。

如果你想输入一个额外的用户,你需要在没有 -c 标志的情况下这样做,就像这样:

  1. sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

现在,当您访问 phpMyAdmin 子目录时,系统将提示您输入刚刚配置的其他帐户名和密码:

https://domain_name_or_IP/phpmyadmin

输入 Apache 身份验证后,您将被带到常规的 phpMyAdmin 身份验证页面以输入您的其他凭据。这将增加一个额外的安全层,因为 phpMyAdmin 过去曾遭受漏洞的困扰。

结论

您现在应该已经配置好 phpMyAdmin,可以在您的 Ubuntu 16.04 服务器上使用了。使用此接口,您可以轻松地创建数据库、用户、表等,并执行删除和修改结构和数据等常用操作。

©2015-2025 艾丽卡 support@alaica.com