在Ubuntu 14.04上安装和保护phpMyAdmin的方法

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 在Ubuntu 14.04上安装和保护phpMyAdmin的方法

简介

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

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

先决条件

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

首先,我们假设您正在使用具有 sudo 特权的非根用户,就像在 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
  • 当询问是否使用 dbconfig-common 来设置数据库时选择 yes
  • 然后会提示您输入数据库管理员的密码
  • 然后会要求您选择并确认 phpMyAdmin 应用程序本身的密码

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

我们唯一需要做的是显式启用 php5-mcrypt 扩展,可以通过输入以下命令来完成:

sudo php5enmod mcrypt

之后,您需要重新启动 Apache 以使更改生效:

sudo service apache2 restart

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

http://<span class="highlight">domain_name_or_IP</span>/phpmyadmin

!phpmyadmin 登录界面

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

登录后,您将看到用户界面,类似于这样:

!phpmyadmin 用户界面

步骤二 — 安全化您的 phpMyAdmin 实例

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

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

配置 Apache 允许 .htaccess 覆盖

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

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

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

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

<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    <span class="highlight">AllowOverride All</span>
    . . .

添加了这一行后,保存并关闭文件。

要实施您所做的更改,重新启动 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 <span class="highlight">用户名</span>

系统会提示您选择并确认要为所创建的用户设置的密码。之后,文件将以您输入的哈希密码创建。

如果您想输入另一个用户,您需要不要使用 -c 标志,像这样:

sudo htpasswd /etc/phpmyadmin/.htpasswd <span class="highlight">额外用户</span>

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

http://<span class="highlight">域名或IP</span>/phpmyadmin

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

结论

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

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


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu 16.04上安装和保护phpMyAdmin的方法
在Ubuntu 16.04上安装和保护phpMyAdmin的方法
29 1
|
3月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu 18.04上安装和保护phpMyAdmin的方法
在Ubuntu 18.04上安装和保护phpMyAdmin的方法
23 0
|
3月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu 20.04上安装和保护phpMyAdmin的方法
在Ubuntu 20.04上安装和保护phpMyAdmin的方法
39 0
|
3月前
|
数据可视化 关系型数据库 MySQL
在Debian 7上安装和保护phpMyAdmin的方法
在Debian 7上安装和保护phpMyAdmin的方法
55 0
|
3月前
|
关系型数据库 MySQL 应用服务中间件
在Ubuntu 16.04上使用Nginx安装和保护phpMyAdmin的方法
在Ubuntu 16.04上使用Nginx安装和保护phpMyAdmin的方法
33 0
|
3月前
|
存储 Ubuntu 关系型数据库
在Ubuntu 16.04上安装和配置ownCloud的方法
在Ubuntu 16.04上安装和配置ownCloud的方法
34 0
|
6月前
|
Ubuntu 关系型数据库 MySQL
ubuntu 16.04 安装PhpMyAdmin
ubuntu 16.04 安装PhpMyAdmin
|
网络协议 应用服务中间件 Linux
CentOS 下安装 phpMyAdmin 4.4
首先去官网下载 phpMyAdmin phpMyAdmin - Files https://www.phpmyadmin.net/files/ 因为 phpMyAdmin 的界面是完全基于您的浏览器,所以您需要一个网站服务器(如 Apache, nginx, IIS)来安装 phpMyAdmin。
409 0
CentOS 下安装 phpMyAdmin 4.4
|
Web App开发 关系型数据库 PHP
ubuntu16.04安装wordpress
ubuntu16.04安装wordpress和centos7安装wordpress存在一定的差异。 当然共性大于差异。 共性是lamp环境。 wordpress的必备环境。 先共性再差异。 一、搭建lamp环境(Linux+Apache+MySQL+PHP(含phpmyadmin)) (1)安装ap...
2657 0
|
关系型数据库 MySQL PHP
Ubuntu16.04下安装配置phpmyadmin
在项目配置了阿里的druid,可以监控session,spring和详细sql的执行情况以及具体到表等信息,但是仍然发现不够详细,而且作为一个半吊子dba,一直用linux命令分配权限和管理数据库,效率感觉不高,另外还是有个自动化参考例子,于是决定使用phpmyadmin管理mysql   先安装m...
1928 0
下一篇
无影云桌面