原文:http://blog.csdn.net/wbw1985/article/details/9493989

Mac 上的软件大多是收费的,配置开源的东东也挺麻烦,网上搜索发现XAMPP软件是集成了多个服务器软件,类似于windows上面的PHPStudy,可以 快速的帮助开发者搭建本地服务器。本文参考http://www.cnblogs.com/heiniuhaha/archive/2011/10/14 /2212478.html文章,做了自己的改动。

(1)Xampp软件下载http://www.apachefriends.org/en/xampp-macosx.html#849,版本是xampp-macosx-1.7.4-beta2.dmg, 如果下载最新的可能有问题,无法显示mysql的选项。所以我下载的1.7.4版本的,运行正常。

(2)修改Hosts文件,配置多站点服务器:

使用命令如下图:

 

输入密码,安全考虑,密码不显示占用位数,在gnu nano编辑器中进行修改,按control+X退出,按Y确认

在这里需要注意,如果是第一行127.0.0.1 localhost不变,局域网其他机器在根据ip地址访问你的服务器的时候会跳转到localhost,而不是你配置的其他站点目录,若不需要默认目录,请把这句后面的localhost去掉。

 

(3)修改httpd.conf文件,目录是/Applications/XAMPP/xamppfiles/etc/httpd.conf,在终端里输入命令如下

打开httpd.conf文件后,按ctrl+W搜索 “httpd-vhosts.conf”,去掉前面的 # 注释符,确保引入了 vhosts 虚拟主机配置文件。


(4)再在httpd.conf的最后面添加一段以下代码

复制代码
<Directory "/Users/heiniuhaha/Sites/project">
        #Options Indexes FollowSymLinks ExecCGI Includes #don't permission see list
        Options All
        AllowOverride All
        Order allow,deny
        Allow from all
</Directory>

说明:
“Options All”是允许目录浏览,有安全性风险,适合用于个人调试程序,需注意当站点根目录含index.html页面时,会默认打开网页,而不是目录列表,因此此模式需删除index.html.
“Options Indexes FollowSymLinks ExecCGI Includes”是不允许目录浏览,适合正式站点


(5)修改文件httpd-vhosts.conf文件。

目录是/Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf,在终端里输入命令如下:


输入密码后打开httpd-vhosts.conf文件开始编辑

编辑完成后,按ctrl+X退出,按Y保存,重启xampp,浏览器输入127.0.0.1 www.server.com www.test.com www.admin.com看看页面出来的内容。
你会发现127.0.0.1和www.server.com会指向原来的xampp的引导页,而www.test.com www.admin.com分别指向不同的站点。

默 认的localhost输入后会进入第一个VirtualHost的配置,所以如果其他机器访问该服务器,而且你想配置多目录站点,那么第一个 VirtualHost配置的目录指向最好是跟随多个站点的根目录。如sites目录下有站点1、站点2等等,那么第一个host目录就指向sites即 可。这样其他机器在访问你的ip地址的时候,就会显示多站点了。

(6)给phpMyAdmin添加密码,不然无法访问

 

找到config.inc.php文件,路径是/Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php

打开文件config.inc.php后,找到$cfg['Servers'][$i]['password'] = '',改为$cfg['Servers'][$i]['password'] = '123'; 保存退出后,重启xampp即可。

 

终端进入mysql命令行操作

 

 

需要以目录形式访问,而不要默认以index.html index.php等打开的话,需要配置下将原来默认打开的去掉。

sudo nano /Applications/XAMPP/xamppfiles/etc/httpd.conf