前面的一二分别介绍了Apache,PHP和MySQL的安装配置, 而phpMyAdmin的安装, 其实更象一个php应用程序的安装, 后面我准备安装一个Wiki或者CMS系统.
参见:
Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(一)
Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(二)
四. phpMyAdmin
phpMyAdmin作为一个通过web形式管理MySQL的最流行也是最活跃的开放软件之一, 是我的首选个, 虽然前面有一个GUI的工具用来管理MySQL, 但是这个工具还是很受欢迎.
1. 下载安装:
首先, 下载可以到sourceforge.net的官方网站下载: ?group_id=23067
因为phpMyAdmin其实都是使用php编写的,所以它是不依赖有硬件和操作系统的,而是要求你的系统支持php就可以了.
我下载的是目前最新稳定版3.11的zip包(个人喜好问题,你可以其它格式,最小的是.7z的格式).
下载下来后解压缩后,你要决定如何运行它,我的选择是,将它放在Apache service的Documents里的mysqladmin目录里面,这样我可以通过来运行它。
完成了上面的复制, 安装就完成了.
一点需要注意的就是下载解压缩后的每个文件都包含着OS X Leopard的quarantine信息, 关于如何删除quarantien请参见我的前面的blog: Leopard的检疫"quarantine"功能
2. 配置过程:
A. 正确的权限: 给scritps文件设置正确的权限,原则是拥有者是你/管理员, 组应该是Apache运行的组, 在Leopard里面组名是_ 对于其它, 你完全可以设置成0--没有存取权限。
因为刚才解压缩后,所有文件的权限中的组都不是_www, 所以要改变:
shell> sudo chown -R :_www /Library/WebServer/Documents/mysqladmin/
shell> sudo chmod -R g+xw /Library/WebServer/Documents/mysqladmin/libraries
这样权限就设置好了。有疑问可以官方参考文档 :
B. 环境的设置:
a. 传统的方法是手动生成config.inc.php文件, 系统自带一个叫config.default.inc.php的文件, 可以复制它为config.inc.php文件, 然后编辑它. 本人认为使用下面的配置就可以, 至于安全问题,可以:
/* Server: localhost [1] */ $i++; $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'] = 'http';
b. 配置文件的设置:使用下面的方法来实现向导式的环境设置,这个方法是新的phpMyAdmin才加入的.
在mysqladmin目录里面创建一个config目录, 并给与正确的权限, 然后复制一个config.inc.php文件到config目录里面:
shell> cd /Library/WebServer/Documents/mysqladmin/ shel> mkdir config shell> chmod o+rw config shell> cp config.default.inc.php config/config.inc.php shell> chmod o+w config/config.inc.php
打开浏览器: 输入 并完成设置步骤,然后将设置好的参数文件复制到运行环境中生效.shell> mv config/config.inc.php . shell> chmod o-rw config.inc.php
c. 运行测试, 有问题:系统提示: Access Denied: #2002 - The server is not responding (or the local MySQL server's socket is not correctly configured). 同样的程序会提示其它错误比如:Warning: mysql_connect() : Can't connect to local MySQL server through socket '/var/mysql/mysql.sock'
这个怎么办呢?经过查找和实践找到了问题的关键: 因为MySQL的OS X新版在初始运行的时候建立的socket文件,不是以前的目录了,换成了/tmp目录, 这样好多程序都无法找到.
一种办法你可以修改上面的config.inc.php文件中的socket一行, 把其中=""换成="/tmp/mysql.sock", 但是这个只能对phpMyAdmin起作用, 其它的程序还会提示mysql错误.
一种比较好的方法是, 修改OS X自带的php的设置, 这样那些应用PHP并从PHP获得mysql的socket的程序都可以不用修改就可以运行了.
修改方法是:
文本编辑/etc/php.ini文件, 找到"mysql_default_socket = "一行, 变更为"mysql_default_socket = "/tmp/mysql/mysql.sock"重新启动Apache, 问题就解决了.