如何在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”行,使该部分如下所示:
<Directory /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。