在centos 5上安装最新版phpmyadmin

来源:互联网 发布:云匠网的美工靠谱吗 编辑:程序博客网 时间:2024/05/16 07:48

在CentOS 5上安装最新版phpMyAdmin管理工具

 

  1、我下载的是phpMyAdmin-3.2.3-all-languages版本,这个版本需要php 5.2或更高的版本,所以必须想办法升级系统自带的php 5.1版本,具体操作就是利用系统yum“测试库”更新php到5.2版本,可以参考http://blog.csdn.net/boyla/archive/2009/11/14/4811511.aspx 。

 

  2、在Apache Http Server的主目录/var/www/下新建目录phpmyadmin,再在/etc/httpd/conf.d/目录下新建一个配置文件phpmyadmin.conf,配置好虚拟目录,内容如下:

               Alias /phpmyadmin/ "/var/www/phpmyadmin/"

               <Directory "/var/www/phpmyadmin/">

Options None

AllowOverride None

Order allow,deny

Allow from all

               </Directory>

 

  3、把phpMyAdmin的压缩包在本地解开(注意本地phpmyadmin\scripts\create_tables.sql 脚本文件在后面还要用到),并上传到/var/www/phpmyadmin/目录里,以后就可以通过http://192.168.0.33/phpmyadmin/这个URL访问了,可是第一次访问时界面还没登录就显示一个警告信息,“无法加载 mcrypt 扩展,请检查您的 PHP 配置”,不爽!初步判断是缺少模块没有安装,通过在系统控制台执行:

 

  yum search mcrypt

 

  果然发现有一个模块叫“php-mcrypt”,再执行:

 

  yum install php-mcrypt

 

  提示安装成功。再打开http://192.168.0.33/phpmyadmin/可是警告信息还是有。郁闷。通过在系统控制台执行:

 

  php -v

 

     系统提示 PHPWarning:  PHP Startup: mcrypt: Unable toinitialize module

 

   仔细想一想应该是版本不匹配,通过执行:

 

  yum install php-mcrypt --disablerepo=\* --enablerepo=testing

 

  果然发现测试库里有一个配套的5.9.2版本的同名模块,确认安装后,再访问http://192.168.0.33/phpmyadmin/警告信息居然还是有,不解,通过php -v检查,发现前面的错误提示已没了,奇怪。再一想php是Apache Http Server通过模块形式调用的,可能是需要重起Apache Http Server,执行 service httpd restart,再访问http://192.168.0.33/phpmyadmin/警告信息果然没了。爽!:)

 

  4、在登录界面输入MySQL管理员用户名root,再输入密码,居然登录成功了,本以为要进一步设置的,因为看文档需要配置一个config.inc.php,即可以手工建立,也可以通过访问http://192.168.0.33/phpmyadmin/setup/配置,现在看来缺省配置很不错;不过,登录进去发现系统界面提示“没有找到 PHP 扩展 mbstring,而您现在好像在使用多字节字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确分割字符串,可能产生意想不到的结果”,更要命的是还有一个安全警告:“配置文件现在需要一个短语密码”。很显然,还需要更多的工作要做。

 

  针对第一个警告,在控制台执行:

 

  yum install php-mbstring --disablerepo=\* --enablerepo=testing

 

  果然发现有一个和PHP版本号一致的php-mbstring模块,确认安装后,并重起Apache Http Server,再重新进入系统,果然第一个警告没了。:)

 

  5、针对第二个警告,检查phpMyAdmin安装文档,发现缺省配置为Cookies认证方式,在HTTP协议访问时需要对Cookie加密,所以要提供一个短语密码,考虑到我的实际情况在本地编辑生成一个config.inc.php配置文件,上传到/var/www/phpmyadmin/目录,具体内容如下:

 

<?php

 

$i = 0;

 

/* Server: MySql */

$i++;

$cfg['Servers'][$i]['verbose'] = 'MySql';

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['port'] = '';

$cfg['Servers'][$i]['socket'] = '';

$cfg['Servers'][$i]['connect_type'] ='tcp';

$cfg['Servers'][$i]['extension'] = 'mysqli';

$cfg['Servers'][$i]['auth_type'] ='cookie';

$cfg['Servers'][$i]['user'] = '';

$cfg['Servers'][$i]['password'] = '';

/* End of servers configuration */

 

$cfg['DefaultLang'] = 'zh-utf-8';

$cfg['ServerDefault'] = 1;

$cfg['blowfish_secret'] = '8a995d909b9382.754a557b';

$cfg['UploadDir'] = '';

$cfg['SaveDir'] = '';

$cfg['DefaultCharset'] = 'gbk';

 

/* User for advanced features */

$cfg['Servers'][$i]['pmadb'] ='phpmyadmin';

$cfg['Servers'][$i]['controluser'] = 'pma';

$cfg['Servers'][$i]['controlpass'] = 'myPass239';

 

/* Advanced phpMyAdmin features */

$cfg['Servers'][$i]['bookmarktable'] ='pma_bookmark';

$cfg['Servers'][$i]['relation'] ='pma_relation';

$cfg['Servers'][$i]['table_info'] ='pma_table_info';

$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';

$cfg['Servers'][$i]['pdf_pages'] ='pma_pdf_pages';

$cfg['Servers'][$i]['column_info'] ='pma_column_info';

$cfg['Servers'][$i]['history'] ='pma_history';

$cfg['Servers'][$i]['designer_coords'] ='pma_designer_coords';

?>

 

  值得注意的是上述配置文件中的localhost,不可以换成127.0.0.1,否则会有出错提示:#2003 - Can't connect to MySQL server on '127.0.0.1' (13),不知道为什么,虽然我已通过mysql客户端操作符执行了:GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY'myPassword#' WITH GRANT OPTION;以期允许root用户通过127.0.0.1主机登录。结果很令人失望。在网上查了资料,后来在服务端的配置文件/etc/my.cnf的[mysqld]配置节加了skip-name-resolve重起了服务也还是不行。只能把localhost进行到底。

 

  6、登录进去后,phpMyAdmin还是提示了两个警告,一个是:链接表的额外特性尚未激活。要查出原因,请点击此处,另一个是:使用配置文件中定义的控制用户连接失败。这两个警告的出现的根本原因是上述的配置文件中设置了phpMyAdmin高级特性的相关参数,见注释/* User for advanced features */和/* AdvancedphpMyAdmin features */下的设置。具体解决办法如下:

        进入phpMyAdmin管理界面后,利用导入功能,导入phpMyAdmin压缩包在本地释放出来的phpmyadmin\scripts\create_tables.sql 脚本文件,执行后会生成一个phpmyadmin数据库,同时会生成几张表;然后,新建立一个用户pma,密码为myPass239,总之和上述配置文件设置一样就可以,你可以根据你自己的实际情况设置相应的用户名和密码;建立用户时允许pma通过localhost主机访问phpmyadmin数据库,用户建立好好,授与其对phpmyadmin数据库有select,update,insert,delete权限。至此一切OK啦。关于phpMyAdmin这些高级特性的用法有待再研究;最后再附一图供参考。