mac 下 xampp 多域名 多站点 多虚拟主机 配置
前言:最近用mac工作了,需要搭建个调试前段程序的站点,选了xampp,需求是能同时运行多个站点,多个域名,目录自定义,网上找了好多资料,都感觉有些不符合心意,且复制文确实很多,甚至有些没实践过的在乱写,不能达到我的需求,因此自己配置成功后,写个博文,一来纪录下防止忘记,二来希望对有些同学有帮助。
注明:该博文的终端用的是zsh,因此界面上和bash有些许不同,但命令基本上都相同,可参考把 Mac 上的 bash 换成 zsh
xampp,下载地址:http://www.apachefriends.org/en/xampp-macosx.html#849,版本是XAMPP Mac OS X 1.7.3
1、编辑hosts文件,目录是/etc/hosts,打开终端操作,因为mac有权限限制,因此需要暂时获取root权限。
输入密码,安全考虑,密码不显示占用位数,在gnu nano编辑器中进行修改,按control+X退出,按Y确认
三、修改xampp的配置文件
1、修改httpd.conf文件,目录是/Applications/XAMPP/xamppfiles/etc/httpd.conf,在终端里输入命令如下
2、打开httpd.conf文件后,按ctrl+W搜索 “httpd-vhosts.conf”,去掉前面的 # 注释符,确保引入了 vhosts 虚拟主机配置文件。
3、再在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”是不允许目录浏览,适合正式站点
4、打开文件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分别指向不同的站点。
5、mysql配置
此时你进入mysql的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
--------------------更新于2011-12-13日---------------------
今天遇到了mysql被禁用的问题
Access forbidden!
New XAMPP security concept:
Access to the requested directory is only available from the local network.
This setting can be configured in the file "httpd-xampp.conf".
If you think this is a server error, please contact the webmaster.
Error 403
www.server.comTue Dec 13 11:00:00 2011
Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1
解决办法是禁用deny from all
sudo nano /Applications/XAMPP/xamppfiles/etc/extra/httpd-xampp.conf