最近想改一下博客的主题,得在我的Macbook Pro上配置apache+php+mysql的环境。Mac OS X已经内置了Apache 和 PHP,只需要安装好MySQL就行了,非常方便。但其实实际操作时还是遇到些小问题,折腾了半天才搞定,遂决定开帖记录下来。
安装环境如下;
Mac OS X 10.6.5
Apache 2.2.15
PHP 5.3.3
MySQL 5.5.8
启动Apache
最简单的方式是在系统设置里,System Preference –> Sharing,选中Web Sharing即可。
还有就是命令行方式,在终端中输入:
1
|
sudo
apachectl start
|
再输入帐号密码即可。
在Mac OS X 10.6.5中,上面的命令会提示一个错误“/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument”,虽然不影响启动,但看着很不爽。需要修改apachectl这个脚本。在大约第64行
1
|
ULIMIT_MAX_FILES=
"ulimit -S -n `ulimit -H -n`"
|
修改为:
1
|
ULIMIT_MAX_FILES=
""
|
这样在浏览器中输入“http://localhost”,就可以看到出现一个内容为“It works!”的页面,它位于“/Library/WebServer/Documents/”下,这是Apache的默认根目录。
运行PHP
这时候需要编辑Apache配置文件,使其能支持PHP。配置文件路径是:/etc/apache2/httpd.conf。在终端运行”sudo vi /etc/apache2/httpd.conf”,用vi打开。
找到“#LoadModule php5_module libexec/apache2/libphp5.so
”,把前面的#号去掉,保存并退出。
运行“sudo cp /etc/php.ini.default /etc/php.ini
”,这样就可以通过php.ini来配置各种PHP功能了。比如:
1
2
3
4
5
|
;通过下面两项来调整PHP提交文件的最大值,比如phpMyAdmin中导入数据的最大值
upload_max_filesize = 2M
post_max_size = 8M
;比如通过display_errors来控制是否显示PHP程序的报错
display_errors = Off
|
运行“sudo apachectl restart
”,重启Apache,这样PHP就可以用了。
在“/Library/WebServer/Documents”下创建文件info.php,输入以下内容并保存:
1
|
<?php phpinfo();?>
|
这样就可以在http://localhost/info.php中看到有关PHP的各项信息
安装MySQL
Mac OS X并没有预装MySQL,因此安装比较麻烦一些,需要手动安装。
首先下载MySQL,最新的版本是5.5.8,选择合适的版本,比如这里选择的是mysql-5.5.8-osx10.6-x86_64.dmg
运行下周的dmg文件,里面有4个文件,点击安装MySQL的组安装包mysql-5.5.8-osx10.6-x86_64.pkg。一路continue即可,会把MySQL安装到“/usr/local/mysql-5.5.8-osx10.6-x86_64”中,同时会创建“/usr/local/mysql”目录,并链接到实际安装目录。
然后,点击安装MySQLStartupItem.pkg,这样MySQL便可以在开机时自动启动了。
最后,点击安装MySQL.prefPane,这样就会在“System Preference”中看到名为“MySQL”的ICON,通过它就可以设置MySQL开始还是停止,以及是否开机时自动运行。
一般情况下,到这里MySQL就基本安装完毕了。不过我遇到了两个问题。
首先是MySQL启动的时候报错,提示“/Library/StartupItems/MySQLCOM”没有正确的安全设置。
把该目录的权限改一下就好了,在终端输入
1
|
sudo
chown
-R root:wheel
/Library/StartupItems/MySQLCOM
|
可是系统设置里的MySQL面板还是不能启动。需要手动修改mysql.server文件。在终端运行“sudo vi /usr/local/mysql/support-files/mysql.server
”,找到
1
2
|
basedir=
datadir=
|
修改为
1
2
|
basedir=
/usr/local/mysql
datadir=
/usr/local/mysql/data
|
这样MySQL终于能够正常启动了。
参考资料
- http://dancewithnet.com/2010/05/09/run-apache-php-mysql-in-mac-os-x/
- http://excid3.com/blog/2010/12/usrsbinapachectl-line-82-ulimit-open-files-cannot-modify-limit-invalid-argument/
- http://blog.phpkemist.com/2010/12/21/mysql-startup-problems/
- http://www.rickwargo.com/2010/12/16/installing-mysql-5-5-on-os-x-10-6-snow-leopard-and-rails-3/