TranslateProject/published/201412/20141118 Linux FAQs with Answers--How to install phpMyAdmin on CentOS.md

180 lines
6.3 KiB
Markdown
Raw Normal View History

Linux有问必答如何在CentOS上安装phpMyAdmin
2014-11-18 16:38:19 +08:00
================================================================================
2014-11-26 10:40:16 +08:00
> **问题**:我正在CentOS上运行一个MySQL/MariaDB服务并且我想要通过网络接口来用phpMyAdmin来管理数据库。在CentOS上安装phpMyAdmin的最佳方法是什么
2014-11-18 16:38:19 +08:00
2014-11-27 18:01:21 +08:00
phpMyAdmin是一款以PHP为基础基于Web的MySQL/MariaDB数据库管理工具。虽然已经存在着一些诸如[Adminer][1]的轻量级数据库管理工具, 但是phpMyAdmin还是更加广泛应用于网站管理员之中来进行各种MySQL/MariaDB的管理任务。它支持几乎所有MySQL数据库表的相关操作比如浏览、创建、复制、删除、重命名、更改还有MySQL用户/权限管理和数据库导入/导出。以下就是**如何在CentOS 6或7上安装phpMyAdmin**。
2014-11-18 16:38:19 +08:00
2014-11-26 17:39:50 +08:00
### 前提 ###
2014-11-18 16:38:19 +08:00
2014-11-27 18:01:21 +08:00
在CentOS上安装phpMyAdmin你第一步需要架设一台Web服务器(如Apache或nginx)安装好MySQL/MariaDB数据库和PHP。根据你的偏好和需求你可以从[LAMP][2]和[LEMP][3]中选择一种安装。
2014-11-18 16:38:19 +08:00
2014-11-27 18:01:21 +08:00
另一个要求是允许在你的CentOS上安装EPEL库。如果你还没设置过请[猛戳这里][4]。
2014-11-18 16:38:19 +08:00
2014-11-27 18:01:21 +08:00
### 在CentOS6或7上安装phpMyAdmin ###
2014-11-18 16:38:19 +08:00
2014-11-27 18:01:21 +08:00
一旦你设置了EPEL库你就能轻松地用以下命令安装phpMyAdmin了。
2014-11-18 16:38:19 +08:00
2014-11-27 18:01:21 +08:00
在CentOS 7上:
2014-11-18 16:38:19 +08:00
$ sudo yum install phpmyadmin
2014-11-27 18:01:21 +08:00
在CentOS 7上:
2014-11-18 16:38:19 +08:00
$ sudo yum install phpmyadmin php-mcrypt
2014-11-27 18:01:21 +08:00
### 在CentOS 7上配置phpMyAdmin ###
2014-11-18 16:38:19 +08:00
2014-11-28 17:35:37 +08:00
默认情况下CentOS 7上的phpMyAdmin只允许从回环地址(127.0.0.1)访问。为了能远程连接,你需要改动它的配置。
2014-11-18 16:38:19 +08:00
2014-11-28 17:35:37 +08:00
用文本编辑器打开phpMyAdmin的配置文件(路径:/etc/httpd/conf.d/phpMyAdmin.conf),找出并注释掉带有"Require ip XXXX"字样的代码行。会有四处这样的代码行,用"Require all granted"取而代之。重新改动过的配置文件如下所示。
2014-11-18 16:38:19 +08:00
$ 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>
. . . . .
2014-11-28 17:35:37 +08:00
最后重启httpd使改动生效。
2014-11-18 16:38:19 +08:00
$ sudo systemctl restart httpd
2014-11-28 17:35:37 +08:00
### 在CentOS 6上配置phpMyAdmin ###
2014-11-18 16:38:19 +08:00
2014-11-28 17:35:37 +08:00
默认情况下CentOS 6上的phpMyAdmin是禁止从每个IP地址访问的。为了能远程连接你需要改动它的配置。
2014-11-18 16:38:19 +08:00
2014-11-28 17:35:37 +08:00
用文本编辑器打开phpMyAdmin的配置文件(路径:/etc/httpd/conf.d/phpMyAdmin.conf),找出并注释掉"Deny from all"字样的代码行。然后把"Allow from 127.0.0.1"字样的代码行改成"Allow from 0.0.0.0"。重新改动过的配置文件如下所示。
2014-11-18 16:38:19 +08:00
$ 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>
2014-11-28 17:35:37 +08:00
下一步是将phpMyAdmin的配置文件用blowfish加密工具加密。这一步需要加密cookie里的密码来作为基于cookie的部分认证。
2014-11-18 16:38:19 +08:00
2014-11-28 17:35:37 +08:00
用文本编辑器打开如下路径所示的文件并且用blowfish设置一个随机密码如下所示。
2014-11-18 16:38:19 +08:00
$ sudo vi /usr/share/phpmyadmin/config.inc.php
----------
$cfg['blowfish_secret'] = 'kd5G}d33aXDc50!'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
2014-11-28 17:35:37 +08:00
最后重启httpd使改动生效。
2014-11-18 16:38:19 +08:00
$ sudo service httpd restart
2014-11-28 17:35:37 +08:00
### 测试phpMyAdmin ###
2014-11-18 16:38:19 +08:00
测试phpMyAdmin是否设置成功访问这个页面http://\<web-server-ip-addresss>/phpmyadmin
2014-11-18 16:38:19 +08:00
![](https://farm6.staticflickr.com/5606/15550758749_0f7ab66b5b_z.jpg)
2014-11-28 17:35:37 +08:00
你应该能通过Web界面来记录下任何MySQL用户(比如root)和管理MySQL/MariaDB的数据库/表。
2014-11-18 16:38:19 +08:00
![](https://farm8.staticflickr.com/7505/15551187008_86ac7e7db1_z.jpg)
2014-11-28 17:35:37 +08:00
### 疑难解答 ###
2014-11-18 16:38:19 +08:00
2014-11-30 17:33:29 +08:00
这里有一些在CentOS上安装phpMyAdmin的过程中遇到的一些问题解决方法。
2014-11-18 16:38:19 +08:00
2014-11-30 17:33:29 +08:00
1. 当你在浏览器里尝试连接phpMyAdmin页面的时候你看到"403 Forbidding"错误:
2014-11-18 16:38:19 +08:00
You don't have permission to access /phpMyAdmin on this server.
2014-11-30 17:33:29 +08:00
发生这种错误是因为phpMyAdmin默认阻止了IP地址远程连接。要修复这种错误你需要编辑它的配置文件来允许远程连接。具体操作见上。
2014-11-18 16:38:19 +08:00
2014-11-30 17:33:29 +08:00
2. 当你连接phpMyAdmin页面时你看见"The configuration file now needs a secret passphrase (blowfish_secret)."信息,并且你无法登录。
2014-11-18 16:38:19 +08:00
2014-11-30 17:33:29 +08:00
要修复这种错误,你需要编辑 /usr/share/phpmyadmin/config.inc.php 这个文件来添加一个随机的blowfish密码然后重启httpd如下所示。
2014-11-18 16:38:19 +08:00
$cfg['blowfish_secret'] = 'kd5G}d33aXDc50!'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
----------
$ sudo service httpd restart (CentOS 6)
$ sudo systemctl restart httpd (CentOS 7)
2014-11-30 17:33:29 +08:00
3. 当你连接phpMyAdmin页面时你看见"Cannot load mcrypt extension. Please check your PHP configuration"错误信息。
2014-11-18 16:38:19 +08:00
2014-11-30 17:33:29 +08:00
要修复这种错误,要安装下面这个包:
2014-11-18 16:38:19 +08:00
$ sudo yum install php-mcrypt
2014-11-30 17:33:29 +08:00
然后重启httpd
2014-11-18 16:38:19 +08:00
$ sudo service httpd restart (CentOS 6)
$ sudo systemctl restart httpd (CentOS 7)
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/install-phpmyadmin-centos.html
2014-11-26 10:40:16 +08:00
译者:[ZTinoZ](https://github.com/ZTinoZ)
校对:[wxy](https://github.com/wxy)
2014-11-18 16:38:19 +08:00
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://xmodulo.com/set-web-based-database-management-system-adminer.html
[2]:http://linux.cn/article-1567-1.html
[3]:http://linux.cn/article-4314-1.html
[4]:http://linux.cn/article-2324-1.html
2014-11-18 16:38:19 +08:00
[5]:
[6]:
[7]:
[8]:
[9]:
[10]:
[11]:
[12]:
[13]:
[14]:
[15]:
[16]:
[17]:
[18]:
[19]:
2014-11-22 20:57:33 +08:00
[20]: