如何在 CentOS 上安装 phpMyAdmin
问题:我正在 CentOS 上运行 MySQL/MariaDB 服务器,我想使用 phpMyAdmin 通过基于 Web 的界面来管理其数据库。在 CentOS 上安装 phpMyAdmin 的正确方法是什么?
phpMyAdmin 是一个开源 PHP 应用程序,设计为基于 Web 的 MySQL/MariaDB 数据库管理工具。虽然存在 Adminer 等轻量级数据库管理工具,但 phpMyAdmin 在网站管理员中更常用来执行各种 MySQL/MariaDB 管理任务。它支持几乎所有与 MySQL 数据库/表相关的操作,例如浏览、创建、复制、删除、重命名、更改,以及 MySQL 用户/权限管理和数据库导入/导出。以下是如何在 CentOS 6 或 7 上安装 phpMyAdmin。
先决条件
要在 CentOS 上安装 phpMyAdmin,您首先需要设置 Web 服务器(例如 Apache 或 nginx)、MySQL/MariaDB 和 PHP。根据您的偏好或要求,您可以选择安装 LAMP 堆栈或 LEMP 堆栈。
另一个要求是在 CentOS 上启用 EPEL 存储库。如果您还没有这样做,请按照本指南设置 EPEL 存储库。
在 CentOS 6 或 7 上安装 phpMyAdmin
设置 EPEL 存储库后,您可以使用 yum 命令轻松安装 phpMyAdmin,如下所示。
在 CentOS 7 上:
$ sudo yum install phpmyadmin
在 CentOS 6 上:
$ sudo yum install phpmyadmin php-mcrypt
在 CentOS 7 上配置 phpMyAdmin
默认情况下,CentOS 7 上的 phpMyAdmin 只允许从环回地址 (127.0.0.1
) 进行访问。要启用远程访问,您需要更新其配置。
使用文本编辑器打开 phpMyAdmin 的配置 (/etc/httpd/conf.d/phpMyAdmin.conf
)。找到并注释掉每一行“Require ip XXXX
”。将有四行这样的行。添加“要求所有已授予
”。更新后的配置文件将如下所示。
$ sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
. . . . .
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#Require ip 127.0.0.1
#Require ip ::1
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#Require ip 127.0.0.1
#Require ip ::1
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
. . . . .
最后,重新启动 httpd
以激活更改。
$ sudo systemctl restart httpd
在 CentOS 6 上配置 phpMyAdmin
默认情况下,CentOS 6 上的 phpMyAdmin 会阻止来自每个 IP 地址的访问。要启用远程访问,您需要更新其配置。
使用文本编辑器打开 phpMyAdmin 的配置(/etc/httpd/conf.d/phpmyadmin.conf
)。找到一行“Deny from all
”,并将其注释掉。然后将“Allow from 127.0.0.1
”行更改为“Allow from 0.0.0.0
”。更新后的配置如下所示。
$ sudo vi /etc/httpd/conf.d/phpmyadmin.conf
<Directory "/usr/share/phpmyadmin">
Order Deny,Allow
# Deny from all
Allow from 0.0.0.0
</Directory>
下一步是将河豚密码添加到 phpMyAdmin 的配置中。作为基于 cookie 的身份验证的一部分,需要执行此步骤来加密 cookie 中的密码。
使用文本编辑器打开以下文件,并按如下方式设置随机河豚密码。
$ sudo vi /usr/share/phpmyadmin/config.inc.php
$cfg['blowfish_secret'] = 'kd5G}d33aXDc50!'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
最后,重新启动 httpd
以激活更改。
$ sudo systemctl restart httpd (CentOS 7)
$ sudo service httpd restart (CentOS 6)
测试 phpMyAdmin
要测试 phpMyAdmin 是否已成功设置,请转至 http://

您应该能够使用任何 MySQL 用户(例如 root)登录,并通过基于 Web 的界面管理 MySQL/MariaDB 数据库/表。

故障排除
以下是在 CentOS 上安装 phpMyAdmin 期间的一些故障排除技巧。
1. 403 禁止错误
当您尝试在网络浏览器中访问 phpMyAdmin 页面时,您会收到“403 Forbidden
”错误:
You don't have permission to access /phpMyAdmin on this server.
发生此错误的原因是 phpMyAdmin 的默认设置阻止来自远程 IP 地址的访问。要修复此错误,您需要编辑其配置以允许远程访问。请参阅上文了解更多详情。
2. 登录错误
当您访问 phpMyAdmin 页面时,您会看到“配置文件现在需要秘密密码 (blowfish_secret)”。消息,并且您无法登录。
要修复此错误,您需要编辑 /usr/share/phpmyadmin/config.inc.php
以添加随机的河豚密码,如下所示,然后重新启动 httpd
。
$cfg['blowfish_secret'] = 'kd5G}d33aXDc50!'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$ sudo systemctl restart httpd (CentOS 7)
$ sudo service httpd restart (CentOS 6)
3.Mcrypt扩展错误
当您访问 phpMyAdmin 页面时,您收到“无法加载 mcrypt 扩展。请检查您的 PHP 配置”错误消息。
要解决此错误,请安装以下软件包:
$ sudo yum install php-mcrypt
并重新启动httpd
:
$ sudo systemctl restart httpd (CentOS 7)
$ sudo service httpd restart (CentOS 6)