Merge pull request #2048 from ZTinoZ/master

Finish the translation by ZTinoZ
This commit is contained in:
Xingyu.Wang 2014-11-30 18:38:59 +08:00
commit aa3fca6507
2 changed files with 179 additions and 180 deletions

View File

@ -1,180 +0,0 @@
Translating by ZTinoZ
Linux FAQs with Answers--How to install phpMyAdmin on CentOS
================================================================================
> **Question**: I am running a MySQL/MariaDB server on CentOS, and I would like to manage its databases via web-based interface using phpMyAdmin. What is a proper way to install phpMyAdmin on CentOS?
phpMyAdmin is an open-source PHP application designed as a web-based MySQL/MariaDB database administration tool. While there exist lightweight database management tools such as [Adminer][1], phpMyAdmin is more popularly used among webmasters to conduct various MySQL/MariaDB administration tasks. It supports pretty much all MySQL database/table related operations such as browse, create, copy, drop, rename, alter, as well as MySQL user/privilege management, and database import/export. Here is **how to install phpMyAdmin on CentOS 6 or 7**.
### Prerequisites ###
To install phpMyAdmin on CentOS, you first need to set up a web server (e.g., Apache or nginx), MySQL/MariaDB and PHP. Depending on your preference or requirement, you can choose to install either [LAMP stack][2] or [LEMP stack][3].
Another requirement is to enable EPEL repository on your CentOS. Follow [this guide][4] to set up EPEL repository if you haven't done so.
### Install phpMyAdmin on CentOS 6 or 7 ###
Once you set up EPEL repository, you can install phpMyAdmin easily with yum command as follows.
On CentOS 7:
$ sudo yum install phpmyadmin
On CentOS 6:
$ sudo yum install phpmyadmin php-mcrypt
### Configure phpMyAdmin on CentOS 7 ###
By default, phpMyAdmin on CentOS 7 allows access only from loopback address (127.0.0.1). To enable remote access, you will need to update its configuration.
Open phpMyAdmin's configuration (/etc/httpd/conf.d/phpMyAdmin.conf) with a text editor. Find and comment out every line that says "Require ip XXXX". There will be four such lines. Add "Require all granted" instead. The updated configuration file will look like the following.
$ 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>
. . . . .
Finally, restart httpd to activate the change.
$ sudo systemctl restart httpd
### Configure phpMyAdmin on CentOS 6 ###
By default, phpMyAdmin on CentOS 6 blocks access from every IP address. To enable remote access, you will need to update its configuration.
Open phpMyAdmin's configuration (/etc/httpd/conf.d/phpmyadmin.conf) with a text editor. Find a line that says "Deny from all", and comment it out. Then change the line that says "Allow from 127.0.0.1" to "Allow from 0.0.0.0". The updated configuration will look like the following.
$ 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>
The next step is to add a blowfish password to the phpMyAdmin's configuration. This step is needed to encrypt password in cookie as part of cookie-based authentication.
Open the following file with a text editor, and set a random blowfish password as follows.
$ sudo vi /usr/share/phpmyadmin/config.inc.php
----------
$cfg['blowfish_secret'] = 'kd5G}d33aXDc50!'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Finally, restart httpd to activate the change.
$ sudo service httpd restart
### Test phpMyAdmin ###
To test if phpMyAdmin is successfully set up, go to http://<web-server-ip-addresss>/phpmyadmin
![](https://farm6.staticflickr.com/5606/15550758749_0f7ab66b5b_z.jpg)
You should be able to log with any MySQL user (e.g., root), and manage MySQL/MariaDB databases/tables via a web-based interface.
![](https://farm8.staticflickr.com/7505/15551187008_86ac7e7db1_z.jpg)
### Troubleshooting ###
Here are a few troubleshooting tips during phpMyAdmin installation on CentOS.
1. When you are trying to access phpMyAdmin page in web browser, you are getting "403 Forbidding" error with:
You don't have permission to access /phpMyAdmin on this server.
This error is happening because the default setting of phpMyAdmin blocks access from a remote IP address. To fix this error, you need to edit its configuration to allow remote access. See the above for more detail.
2. When you access phpMyAdmin page, you are seeing "The configuration file now needs a secret passphrase (blowfish_secret)." message, and you cannot login.
To fix this error, you need to edit /usr/share/phpmyadmin/config.inc.php to add a random blowfish password as follows, and restart httpd.
$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)
3. When you access phpMyAdmin page, you are getting "Cannot load mcrypt extension. Please check your PHP configuration" error message.
To solve this error, install the following package:
$ sudo yum install php-mcrypt
and restart httpd:
$ sudo service httpd restart (CentOS 6)
$ sudo systemctl restart httpd (CentOS 7)
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/install-phpmyadmin-centos.html
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://xmodulo.com/set-web-based-database-management-system-adminer.html
[2]:http://xmodulo.com/install-lamp-stack-centos.html
[3]:http://xmodulo.com/install-lemp-stack-centos.html
[4]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
[5]:
[6]:
[7]:
[8]:
[9]:
[10]:
[11]:
[12]:
[13]:
[14]:
[15]:
[16]:
[17]:
[18]:
[19]:
[20]:

View File

@ -0,0 +1,179 @@
Linux问答时间--如何在CentOS上安装phpMyAdmin
================================================================================
> **问题**:我正在CentOS上运行一个MySQL/MariaDB服务并且我想要通过网络接口来用phpMyAdmin来管理数据库。在CentOS上安装phpMyAdmin的最佳方法是什么
phpMyAdmin是一款以PHP为基础基于Web的MySQL/MariaDB数据库管理工具。虽然已经存在着一些诸如[Adminer][1]的轻量级数据库管理工具, 但是phpMyAdmin还是更加广泛应用于网站管理员之中来进行各种MySQL/MariaDB的管理任务。它支持几乎所有MySQL数据库表的相关操作比如浏览、创建、复制、删除、重命名、更改还有MySQL用户/权限管理和数据库导入/导出。以下就是**如何在CentOS 6或7上安装phpMyAdmin**。
### 前提 ###
在CentOS上安装phpMyAdmin你第一步需要架设一台Web服务器(如Apache或nginx)安装好MySQL/MariaDB数据库和PHP。根据你的偏好和需求你可以从[LAMP][2]和[LEMP][3]中选择一种安装。
另一个要求是允许在你的CentOS上安装EPEL库。如果你还没设置过请[猛戳这里][4]。
### 在CentOS6或7上安装phpMyAdmin ###
一旦你设置了EPEL库你就能轻松地用以下命令安装phpMyAdmin了。
在CentOS 7上:
$ sudo yum install phpmyadmin
在CentOS 7上:
$ 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"取而代之。重新改动过的配置文件如下所示。
$ 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的配置文件用blowfish加密工具加密。这一步需要加密cookie里的密码来作为基于cookie的部分认证。
用文本编辑器打开如下路径所示的文件并且用blowfish设置一个随机密码如下所示。
$ sudo vi /usr/share/phpmyadmin/config.inc.php
----------
$cfg['blowfish_secret'] = 'kd5G}d33aXDc50!'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
最后重启httpd使改动生效。
$ sudo service httpd restart
### 测试phpMyAdmin ###
测试phpMyAdmin是否设置成功访问这个页面http://<web-server-ip-addresss>/phpmyadmin
![](https://farm6.staticflickr.com/5606/15550758749_0f7ab66b5b_z.jpg)
你应该能通过Web界面来记录下任何MySQL用户(比如root)和管理MySQL/MariaDB的数据库/表。
![](https://farm8.staticflickr.com/7505/15551187008_86ac7e7db1_z.jpg)
### 疑难解答 ###
这里有一些在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如下所示。
$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)
3. 当你连接phpMyAdmin页面时你看见"Cannot load mcrypt extension. Please check your PHP configuration"错误信息。
要修复这种错误,要安装下面这个包:
$ sudo yum install php-mcrypt
然后重启httpd
$ sudo service httpd restart (CentOS 6)
$ sudo systemctl restart httpd (CentOS 7)
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/install-phpmyadmin-centos.html
译者:[ZTinoZ](https://github.com/ZTinoZ)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://xmodulo.com/set-web-based-database-management-system-adminer.html
[2]:http://xmodulo.com/install-lamp-stack-centos.html
[3]:http://xmodulo.com/install-lemp-stack-centos.html
[4]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
[5]:
[6]:
[7]:
[8]:
[9]:
[10]:
[11]:
[12]:
[13]:
[14]:
[15]:
[16]:
[17]:
[18]:
[19]:
[20]: