如何在Ubuntu14.04上安装和保护phpMyAdmin

来自菜鸟教程
跳转至:导航、​搜索

介绍

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

创建 phpMyAdmin 是为了让用户可以通过 Web 界面与 MySQL 进行交互。 在本指南中,我们将讨论如何安装和保护 phpMyAdmin,以便您可以安全地使用它来管理 Ubuntu 14.04 上的数据库。

注意: phpMyAdmin 可以通过在启动时将此脚本 添加到其用户数据来自动安装在您的Droplet 上。 查看 本教程 以了解有关 Droplet 用户数据的更多信息。


先决条件

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

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

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

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

第一步——安装 phpMyAdmin

首先,我们可以简单地从默认的 Ubuntu 存储库安装 phpMyAdmin。

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

sudo apt-get update
sudo apt-get install phpmyadmin

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

警告

当出现第一个提示时,apache2 高亮显示,但选择了 而非 。 如果你没有点击“SPACE”来选择Apache,安装程序将在安装过程中而不是移动必要的文件。 点击“SPACE”、“TAB”,然后点击“ENTER”以选择 Apache。


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

安装过程其实是把phpMyAdmin的Apache配置文件添加到/etc/apache2/conf-enabled/目录下,自动读取的。

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

sudo php5enmod mcrypt

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

sudo service apache2 restart

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

http:// domain_name_or_IP /phpmyadmin

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

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

第二步——保护你的 phpMyAdmin 实例

我们能够相当轻松地启动并运行我们的 phpMyAdmin 界面。 但是,我们还没有完成。 由于其无处不在,phpMyAdmin 是攻击者的热门目标。 我们需要保护应用程序以帮助防止未经授权的使用。

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

将 Apache 配置为允许 .htaccess 覆盖

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

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

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

我们需要在配置文件的 <Directory /usr/share/phpmyadmin> 部分中添加一个 AllowOverride All 指令,如下所示:

选项 FollowSymLinks DirectoryIndex index.php AllowOverride All 。 . . 

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

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

sudo service apache2 restart

创建一个 .htaccess 文件

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

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

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 文件

现在我们已经通过在我们的 .htaccess 文件中使用 AuthUserFile 指令指定了密码文件的位置,我们需要创建这个文件。

我们实际上需要一个额外的包来完成这个过程。 我们可以从我们的默认存储库安装它:

sudo apt-get install apache2-utils

之后,我们将提供 htpasswd 实用程序。

我们为密码文件选择的位置是“/etc/phpmyadmin/.htpasswd”。 让我们创建这个文件并通过键入以下内容将其传递给初始用户:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd用户名

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

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

sudo htpasswd /etc/phpmyadmin/.htpasswd附加用户

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

http:// domain_name_or_IP /phpmyadmin

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

结论

您现在应该已配置好 phpMyAdmin 并准备好在您的 Ubuntu 14.04 服务器上使用。 使用该界面,您可以轻松创建数据库、用户、表等,并执行删除和修改结构和数据等常用操作。

要了解如何通过使用 SSL 加密您的通信来进一步保护您与服务器的交互,请查看我们关于 使用 phpMyAdmin 设置 SSL 证书的文章。

贾斯汀·艾林伍德