mac 下 xampp 多域名 多站点 多虚拟主机 配置

时间:2021-06-07 06:42:48

前言:最近用mac工作了,需要搭建个调试前段程序的站点,选了xampp,需求是能同时运行多个站点,多个域名,目录自定义,网上找了好多资料,都感觉有些不符合心意,且复制文确实很多,甚至有些没实践过的在乱写,不能达到我的需求,因此自己配置成功后,写个博文,一来纪录下防止忘记,二来希望对有些同学有帮助。

注明:该博文的终端用的是zsh,因此界面上和bash有些许不同,但命令基本上都相同,可参考把 Mac 上的 bash 换成 zsh

xampp,下载地址:http://www.apachefriends.org/en/xampp-macosx.html#849,版本是XAMPP Mac OS X 1.7.3

mac 下 xampp 多域名 多站点 多虚拟主机 配置

1、编辑hosts文件,目录是/etc/hosts,打开终端操作,因为mac有权限限制,因此需要暂时获取root权限。

mac 下 xampp 多域名 多站点 多虚拟主机 配置

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

mac 下 xampp 多域名 多站点 多虚拟主机 配置

三、修改xampp的配置文件

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

mac 下 xampp 多域名 多站点 多虚拟主机 配置

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

mac 下 xampp 多域名 多站点 多虚拟主机 配置

3、再在httpd.conf的最后面添加一段以下代码

mac 下 xampp 多域名 多站点 多虚拟主机 配置
<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>
mac 下 xampp 多域名 多站点 多虚拟主机 配置

mac 下 xampp 多域名 多站点 多虚拟主机 配置

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

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

mac 下 xampp 多域名 多站点 多虚拟主机 配置
输入密码后打开httpd-vhosts.conf文件开始编辑

mac 下 xampp 多域名 多站点 多虚拟主机 配置

编辑完成后,按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分别指向不同的站点。

mac 下 xampp 多域名 多站点 多虚拟主机 配置

5、mysql配置

此时你进入mysql的phpmyadmin页面会发现提示空密码错误。

mac 下 xampp 多域名 多站点 多虚拟主机 配置

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

mac 下 xampp 多域名 多站点 多虚拟主机 配置

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

mac 下 xampp 多域名 多站点 多虚拟主机 配置

终端进入mysql命令行操作

mac 下 xampp 多域名 多站点 多虚拟主机 配置

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

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

mac 下 xampp 多域名 多站点 多虚拟主机 配置

--------------------更新于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.com
Tue 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

mac 下 xampp 多域名 多站点 多虚拟主机 配置

解决办法是禁用deny from all

sudo nano /Applications/XAMPP/xamppfiles/etc/extra/httpd-xampp.conf

mac 下 xampp 多域名 多站点 多虚拟主机 配置

mac 下 xampp 多域名 多站点 多虚拟主机 配置