Linux有问必答:如何在CentOS上安装phpMyAdmin

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

Linux有问必答:如何在CentOS上安装phpMyAdmin

问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库。在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。根据你的偏好和需求,你可以从LAMPLEMP中选择一种安装。

另一个要求是允许在你的CentOS上安装EPEL库。如果你还没设置过请猛戳这里

在CentOS6或7上安装phpMyAdmin

一旦你设置了EPEL库,你就能轻松地用以下命令安装phpMyAdmin了。

在CentOS 7上:

 
 
  1. $ sudo yum install phpmyadmin

在CentOS 7上:

 
 
  1. $ 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"字样的代码行。会有四处这样的代码行,用"Require all granted"取而代之。重新改动过的配置文件如下所示。

 
 
  1. $ sudo vi /etc/httpd/conf.d/phpMyAdmin.conf

 
 
  1. . . . . .
  2. <Directory /usr/share/phpMyAdmin/>
  3. AddDefaultCharset UTF-8
  4.  
  5. <IfModule mod_authz_core.c>
  6. # Apache 2.4
  7. <RequireAny>
  8. #Require ip 127.0.0.1
  9. #Require ip ::1
  10. Require all granted
  11. </RequireAny>
  12. </IfModule>
  13. <IfModule !mod_authz_core.c>
  14. # Apache 2.2
  15. Order Deny,Allow
  16. Deny from All
  17. Allow from 127.0.0.1
  18. Allow from ::1
  19. </IfModule>
  20. </Directory>
  21.  
  22. <Directory /usr/share/phpMyAdmin/setup/>
  23. <IfModule mod_authz_core.c>
  24. # Apache 2.4
  25. <RequireAny>
  26. #Require ip 127.0.0.1
  27. #Require ip ::1
  28. Require all granted
  29. </RequireAny>
  30. </IfModule>
  31. <IfModule !mod_authz_core.c>
  32. # Apache 2.2
  33. Order Deny,Allow
  34. Deny from All
  35. Allow from 127.0.0.1
  36. Allow from ::1
  37. </IfModule>
  38. </Directory>
  39. . . . . .

最后,重启httpd使改动生效。

 
 
  1. $ 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"。重新改动过的配置文件如下所示。

 
 
  1. $ sudo vi /etc/httpd/conf.d/phpmyadmin.conf

 
 
  1. <Directory "/usr/share/phpmyadmin">
  2. Order Deny,Allow
  3. # Deny from all
  4. Allow from 0.0.0.0
  5. </Directory>

下一步是将phpMyAdmin的配置文件用blowfish加密工具加密。这一步需要加密cookie里的密码来作为基于cookie的部分认证。

用文本编辑器打开如下路径所示的文件并且用blowfish设置一个随机密码,如下所示。

 
 
  1. $ sudo vi /usr/share/phpmyadmin/config.inc.php

 
 
  1. $cfg['blowfish_secret'] = 'kd5G}d33aXDc50!'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

最后,重启httpd使改动生效。

 
 
  1. $ sudo service httpd restart

测试phpMyAdmin

测试phpMyAdmin是否设置成功,访问这个页面:http://<web-server-ip-addresss>/phpmyadmin

你应该能通过Web界面来记录下任何MySQL用户(比如root)和管理MySQL/MariaDB的数据库/表。

疑难解答

这里有一些在CentOS上安装phpMyAdmin的过程中遇到的一些问题解决方法。

  1. 当你在浏览器里尝试连接phpMyAdmin页面的时候,你看到"403 Forbidding"错误:

    You don't have permission to access /phpMyAdmin on this server.

    发生这种错误是因为phpMyAdmin默认阻止了IP地址远程连接。要修复这种错误,你需要编辑它的配置文件来允许远程连接。具体操作见上。

  2. 当你连接phpMyAdmin页面时,你看见"The configuration file now needs a secret passphrase (blowfish_secret)."信息,并且你无法登录。

    要修复这种错误,你需要编辑 /usr/share/phpmyadmin/config.inc.php 这个文件来添加一个随机的blowfish密码,然后重启httpd,如下所示。

     
       
    1. $cfg['blowfish_secret'] = 'kd5G}d33aXDc50!'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

     
       
    1. $ sudo service httpd restart (CentOS 6)
    2. $ sudo systemctl restart httpd (CentOS 7)
  3. 当你连接phpMyAdmin页面时,你看见"Cannot load mcrypt extension. Please check your PHP configuration"错误信息。

    要修复这种错误,要安装下面这个包:

     
       
    1. $ sudo yum install php-mcrypt

    然后重启httpd:

     
       
    1. $ sudo service httpd restart (CentOS 6)
    2. $ sudo systemctl restart httpd (CentOS 7)

原文发布时间:2014-12-25

本文来自云栖合作伙伴“linux中国”
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
网络协议 Java Linux
CentOS上安装运行XWiKi
CentOS上安装运行XWiKi
7 0
|
1天前
|
Java Linux
CentOS上安装openjdk
CentOS上安装openjdk
8 0
|
2天前
|
关系型数据库 MySQL Linux
在Linux系统中安装MySQL数据库
在Linux系统中安装MySQL数据库
26 3
|
2天前
|
Ubuntu 关系型数据库 MySQL
|
2天前
|
Kubernetes Linux KVM
|
2天前
|
运维 Java Linux
Linux安装Maven_linux安装maven4
Linux安装Maven_linux安装maven4
Linux安装Maven_linux安装maven4
|
2天前
|
运维 Java 关系型数据库
Linux安装Maven_linux安装maven4(1)
Linux安装Maven_linux安装maven4(1)
Linux安装Maven_linux安装maven4(1)
|
2天前
|
Java 应用服务中间件 Linux
Centos7 安装JDK和Tomcat
Centos7 安装JDK和Tomcat
9 0
|
2天前
|
Linux Docker 容器
最全树莓派4B安装docker-compose(64位Linux)(1),2024年最新一文说清
最全树莓派4B安装docker-compose(64位Linux)(1),2024年最新一文说清
|
2天前
|
运维 Linux 程序员
最全树莓派4B安装64位Linux(不用显示器键盘鼠标),Linux运维面试送分题
最全树莓派4B安装64位Linux(不用显示器键盘鼠标),Linux运维面试送分题
最全树莓派4B安装64位Linux(不用显示器键盘鼠标),Linux运维面试送分题

热门文章

最新文章