如何在 Ubuntu 14.04 上安装并保护 phpMyAdmin

介绍

虽然许多用户需要像MySQL这样的数据库管理系统的功能,但他们可能并不感到舒适地与系统单独从MySQL提示器进行交互。

在本指南中,我们将讨论如何安装和保护phpMyAdmin,以便您可以安全地使用它来管理Ubuntu 14.04上的数据库。

<$>[注] 注: phpMyAdmin 可以通过在启动时将 此脚本添加到其用户数据中自动安装到您的 Droplet。

前提条件

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

首先,我们将假设您正在使用具有 sudo 特权的非根用户,如在 Ubuntu 14.04 初始服务器设置中的步骤 1 到 4 中所述(https://digitalocean.com/community/articles/initial-server-setup-with-ubuntu-14-04)。

我们也将假设您已在 Ubuntu 14.04 服务器上完成了 LAMP (Linux, Apache, MySQL 和 PHP) 安装。

一旦你完成了这些步骤,你已经准备好开始这个指南。

第一步:安装 phpMyAdmin

要开始,我们可以简单地从默认的Ubuntu存储库中安装phpMyAdmin。

我们可以通过更新我们的本地包索引,然后使用apt包装系统将文件拖下来并安装到我们的系统:

1sudo apt-get update
2sudo apt-get install phpmyadmin

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

<$>[警告] [标签警告] 当第一个提示出现时,apache2被突出,但 未选择 如果您没有点击SPACE以选择Apache,安装程序将在安装过程中移动所需的文件。 点击SPACE,TAB,然后ENTER以选择Apache。

  • 对于服务器的选择,请选择 apache2 .
  • 当被问及是否使用dbconfig-common来设置数据库时,请选择 **
  • 您将被要求提供您的数据库管理员的密码
  • 您将被要求选择并确认为phpMyAdmin应用程序本身的密码。

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

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

1sudo php5enmod mcrypt

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

1sudo service apache2 restart

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

http://domain_name_or_IP/phpmyadmin

phpmyadmin login screen

您现在可以使用您在MySQL安装过程中设置的 root用户名和管理密码登录接口。

当您登录时,您将看到用户界面,它将看起来像这样:

phpmyadmin user interface

步骤二:保护您的 phpMyAdmin 实例

我们能够让我们的 phpMyAdmin 接口相当轻松地运行,但我们还没有完成,因为它的普遍性, phpMyAdmin 是攻击者的热门目标,我们需要保护应用程序以防止未经授权的使用。

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

配置 Apache 以允许.htaccess 转移

首先,我们需要通过编辑我们的Apache配置文件来允许使用.htaccess 文件翻译。

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

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

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

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

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

要执行所做的更改,请重新启动 Apache:

1sudo service apache2 restart

创建一个.htaccess 文件

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

要做到这一点,必须在应用程序目录中创建文件,我们可以创建必要的文件,并在我们的文本编辑器中打开它,通过键入:

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

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

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

让我们来看看这些线条中的每个字的含义:

  • AuthType Basic :本行规定了我们正在实施的身份验证类型。本类型将使用密码文件执行密码身份验证。
  • AuthName :此设置了身份验证对话框的信息。您应该保留这种通用信息,以便未经授权的用户不会获得有关被保护的东西的任何信息。
  • AuthUserFile :此设置了将用于身份验证的密码文件的位置。这应该在正在服务的目录之外。我们将很快创建此文件。
  • 要求有效的用户 :这说明只有经过身份验证的用户才能获得此资源。

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

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

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

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

1sudo apt-get install apache2-utils

之后,我们将有htpasswd实用程序可用。

我们为密码文件选择的位置是/etc/phpmyadmin/.htpasswd

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

您将被要求选择并确认您正在创建的用户的密码。

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

sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

现在,当您访问您的 phpMyAdmin 子目录时,您将被提示提供您刚刚配置的额外帐户名称和密码:

http://domain_name_or_IP/phpmyadmin

phpMyAdmin apache password

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

结论

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

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

By Justin Ellingwood
Published At
Categories with 技术
comments powered by Disqus