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

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


状态: 已弃用

本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:

原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.

请参阅:
本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。


关于 phpMyAdmin

phpMyAdmin 是一个免费的网络软件,可以在网络上与 MySQL 一起工作——它为 MySQL 功能提供了一个方便的可视化前端。

设置

本教程中的步骤要求用户在您的虚拟专用服务器上具有 root 权限。 您可以在第 3 步和第 4 步中查看如何在 此处 进行设置。

在使用 phpMyAdmin 之前,您需要在服务器上安装 LAMP。 如果您的服务器上 ' 没有 Linux、Apache、MySQL、PHP 堆栈,您可以在 此处 找到设置教程。

一旦你有了用户和所需的软件,你就可以开始在你的 VPS 上安装 phpMyAdmin!

安装 phpMyAdmin

安装 phpmyadmin 最简单的方法是通过 apt-get:

sudo apt-get install phpmyadmin apache2-utils

在安装过程中,phpMyAdmin 将引导您完成基本配置。 该过程启动后,请执行以下步骤:

  • 选择 Apache2 作为服务器
  • 当询问是否使用 dbconfig-common 为 phpmyadmin 配置数据库时选择 YES
  • 出现提示时输入您的 MySQL 密码
  • 输入您要用于登录 phpmyadmin 的密码

安装完成后,将 phpmyadmin 添加到 apache 配置中。

sudo nano /etc/apache2/apache2.conf

将 phpmyadmin 配置添加到文件中。

Include /etc/phpmyadmin/apache.conf

重启阿帕奇:

sudo service apache2 restart

然后,您可以通过转到 youripaddress/phpmyadmin 来访问 phpmyadmin。 屏幕应该看起来像 this

安全

不幸的是,旧版本的 phpMyAdmin 存在严重的安全漏洞,包括允许远程用户最终利用底层虚拟专用服务器上的 root。 可以通过一个简单的过程来阻止大多数此类攻击:使用 Apache 的本地用户/密码限制锁定整个目录,这将阻止这些远程用户甚至尝试利用旧版本的 phpMyAdmin。

设置 .htaccess 文件

要设置它,首先要允许 .htaccess 文件在 phpmyadmin 目录中工作。 您可以在 phpmyadmin 配置文件中完成此操作:

sudo nano /etc/phpmyadmin/apache.conf 

在目录部分下,在“目录索引”下添加“AllowOverride All”行,使该部分如下所示:

&ltDirectory /usr/share/phpmyadmin>
        Options FollowSymLinks
        DirectoryIndex index.php
        AllowOverride All
        [...]

配置 .htaccess 文件

在允许 .htaccess 文件的情况下,我们可以继续设置一个本地用户,该用户甚至需要登录才能访问 phpmyadmin 登录页面。

首先在 phpmyadmin 目录中创建 .htaccess 页面:

sudo nano /usr/share/phpmyadmin/.htaccess

通过在 .htaccess 文件中设置用户授权来跟进。 复制并粘贴以下文本:

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

下面你会看到每一行的快速解释

  • AuthType: 这是指将用于检查密码的身份验证类型。 密码通过 HTTP 进行检查,并且不应更改关键字 Basic。
  • AuthName: 这是将在密码提示中显示的文本。 你可以在这里放任何东西。
  • AuthUserFile: 此行指定密码文件的服务器路径(我们将在下一步中创建。)
  • Require valid-user: 这一行告诉 .htaccess 文件,只有密码文件中定义的用户才能访问 phpMyAdmin 登录屏幕。

创建 htpasswd 文件

现在我们将继续创建有效的用户信息。

首先创建一个 htpasswd 文件。 使用 htpasswd 命令,并将文件放在您选择的目录中,只要它不能从浏览器访问。 尽管您可以随意命名密码文件,但惯例是将其命名为 .htpasswd。

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

提示将要求您提供并确认您的密码。

保存用户名和密码对后,您可以看到文件中的密码已加密。

通过重新启动 apache 完成:

sudo service apache2 restart

访问 phpMyAdmin

phpMyAdmin 现在将更加安全,因为只有授权用户才能访问登录页面。 访问 youripaddress/phpmyadmin 应该会显示类似 this 的屏幕。

填写您生成的用户名和密码。 登录后,您可以使用 MySQL 用户名和密码访问 phpmyadmin。

埃特尔·斯维尔德洛夫