在Mac OS X中配置Apache+PHP+MySQL

最近重装系统,Mac下原有的PHP开放环境需要重新配置,因为之前没有记录,所以在网上到处搜参考资料,重新配置花了我不少功夫。 虽然Max下有XAMPP这样的一站式开发环境部署包。不过系统内部既然有现成的Apache和PHP,所以就好好利用这一点了。 机器环境是Mac OS X 10.7.2 1、Apache 先启用Apache试试。 打开System Preferences -> Sharing ,  在Web Sharing前打勾,既可启动Apache。 或者是通过命令行启动
sudo apachectl start
然后在浏览器中打开 http://localhost 试试。 2、PHP 启用PHP。 打开Terminal,用你喜欢的编辑工具打开/etc/apache2/httpd.conf 比如:
vi /etc/apache2/httpd.conf
把LoadModule php5_module libexec/apache2/libphp5.so的注释就是“#”去掉,然后保存退出。 创建php.ini
sudo cp /etc/php.ini.default /etc/php.ini
然后打开php.ini,修改这一行:
;date.timezone =
把注释也就是“;”去掉,然后加入你的时区( http://php.net/manual/en/timezones.php ) 例如:
date.timezone =Asia/Shanghai
最后重启一下apache就OK了。 在System Preferences 里,把Web Sharing关闭再打开。或者:
sudo apachectl restart
3、MySQL 从 http://dev.mysql.com/downloads/mysql/ 下载MySQL安装包。Lion系统应该默认是64位的了,所以下载64位的版本。 依次安装mysql, the startup item, the preference pane。 然后在system preferences面启动MySQL。 接着我们需要手动把MySQL的bin文件加入到环境变量里。
sudo vim /etc/paths
/usr/local/mysql/bin 添加到里面去, 一行一个路径。 即便添加成功,未必运行成功,所以可能还是需要加上权限。
sudo chmod +x /etc/paths
然后在命令行中敲入:
mysql
看能不能连接成功。 如果没问题的话,就初始化一下MySQL,加下密码什么的安全措施。
mysql_secure_installation
依你所需要的配置就好。 另外还需要在php.ini中配置一下mysql.sock的位置,否则在php只能用127.0.0.1来连mysql,localhost的话会找不到mysql。 在php.ini找到mysql.default_socket ,加上sock位置:
mysql.default_socket = /tmp/mysql.sock
然后再重启一下apache。 4、Extra 开启了Apache就是开启了“Web共享”,用户就可以通过“http://[本地IP]/”来访问“/Library(资源库) /WebServer/Documents/”目录,通过“http://[本地IP]/~[用户名]”来访问“/Users/[用户名]/Sites /”目录。 我不太喜欢把网站文件放倒/Library(资源库) /WebServer/Documents/ 这么深的地方,也不喜欢输入浏览器地址的时候,还得加上“~[用户名]”,这么个麻烦的路径。所以我修改了一下httpd.conf,把根目录指向/Users/[用户名]/Sites /,满足我们的需要。
sudo vi /etc/apache2/httpd.conf
DocumentRoot "/Library/WebServer/Documents"
修改成
DocumentRoot "/Users/[用户名]/Sites"
 <Directory "/Library/WebServer/Documents">
修改成
 <Directory "/Users/[用户名]/Sites">
这样就可以把根目录指向我们需要的位置。 然后我们还需要开启一下rewrite功能。 首先确认/etc/php.ini中应该启用了mod_rewrite。Lion系统应该默认启用的。
LoadModule rewrite_module modules/mod_rewrite.so
在/etc/apache2/httpd.conf文件找到
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
AllowOverride None改成AllowOverride All 接着修改/etc/apache2/users/[用户名].conf
 sudo vi /etc/apache2/users/[用户名].conf
把其中的AllowOverride None也改成AllowOverride All 一切OK了,就重启一下apache,看能否正常工作。 然后装个wordpress测试一下。 Enjoy it!