如何在CentOS 7上使用Apache安装和保护phpMyAdmin

时间:2020-03-05 15:24:32  来源:igfitidea点击:

phpMyAdmin是一个基于PHP的开源工具,用于通过基于Web的界面管理MySQL和MariaDB服务器。

phpMyAdmin允许我们与MySQL数据库进行交互,管理用户帐户和特权,执行SQL语句,以各种数据格式导入和导出数据等等。

在本教程中,我们将逐步介绍在CentOS 7上使用Apache安装和保护phpMyAdmin的必要步骤。

准备工作

在继续本教程之前,请确保满足以下准备工作:

  • 在CentOS服务器上安装了LAMP(Linux,Apache,MySQL和PHP)。
  • 以具有sudo特权的用户身份登录。

尽管不是必需的,但建议通过HTTPS访问phpMyAdmin安装。
如果站点上没有SSL,请按照有关在CentOS 7上通过Let's Encrypt保护Apache的说明进行操作。

安装phpMyAdmin

要在CentOS 7系统上安装phpMyAdmin,请执行以下步骤:

  • phpMyAdmin在CentOS 7核心存储库中不可用。要安装phpMyAdmin,我们需要首先启用EPEL存储库:
sudo yum install epel-release
  • 启用EPEL存储库后,我们可以使用以下命令安装phpMyAdmin及其所有依赖项:
sudo yum install phpmyadmin

配置和保护phpMyAdmin

在安装过程中会自动创建phpMyAdmin的Apache配置文件。
默认情况下,除来自本地主机的连接外,所有其他连接均被拒绝。
由于我们将从远程位置访问phpMyAdmin,因此我们需要修改配置文件并指定允许的IP地址。

打开phpMyAdmin Apache配置文件:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

用家庭连接的IP地址更改显示为“ Require ip 127.0.0.1”的两行。
如果我们不知道自己的家庭IP地址,请在网络浏览器中打开Google搜索,然后输入“我的IP是什么”。

/etc/httpd/conf.d/phpMyAdmin.conf

# Apache 2.4
<RequireAny>
    Require ip 192.168.42.57
    Require ip ::1
</RequireAny>

关闭并保存文件。

如果要从任何位置访问phpMyAdmin安装,请在“要求ip”行之前添加“要求全部授予”。

为了增加安全性,我们将通过设置基本身份验证来密码保护phpMyAdmin目录。

首先使用“ htpasswd”工具创建一个新的身份验证文件。
我们将把“ .htpasswd”文件存储在“/etc/phpMyAdmin”目录中:

sudo htpasswd -c /etc/phpMyAdmin/.htpasswd admin

在此示例中,我们将创建一个名为'admin'的用户。
我们可以选择任何所需的用户名。

上面的命令将提示我们输入并确认用户密码。

New password: 
Re-type new password: 
Adding password for user admin

以后,如果需要添加其他用户,请使用不带-c标志的相同命令:

sudo htpasswd /etc/phpMyAdmin/.htpasswd admin2

下一步是配置Apache以密码保护phpMyAdmin目录并使用“ .htpasswd”文件。
为此,请打开在phpMyAdmin安装过程中自动创建的'phpMyAdmin.conf'文件:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

并插入以黄色突出显示的以下行:

/etc/httpd/conf.d/phpMyAdmin.conf

<Directory /usr/share/phpMyAdmin
    AddDefaultCharset UTF-8
    Options  +FollowSymLinks +Multiviews +Indexes
    AllowOverride None
    AuthType basic
    AuthName "Authentication Required"
    AuthUserFile /etc/phpMyAdmin/.htpasswd
    Require valid-user
   <IfModule mod_authz_core.c>
   ...

保存文件并重新启动Apache服务以使更改生效:

sudo systemctl restart httpd

将'/phpmyadmin'别名更改为更独特和安全的名称也是一个好主意。

访问phpMyAdmin时,将提示我们输入先前创建的用户的登录凭据:

https://your_domain_or_ip_address/phpmyadmin

输入基本身份验证后,将转到phpMyAdmin登录页面,我们需要其中输入MySQL管理用户登录凭据。

访问phpMyAdmin

要访问phpMyAdmin界面,请打开我们喜欢的浏览器,然后输入服务器的域名或者公共IP地址,然后输入“/phpmyadmin”:

https://your_domain_or_ip_address/phpmyadmin

输入我们先前创建的管理用户登录凭据,然后单击“转到”。

登录后,我们将看到phpMyAdmin仪表板: