前言:最近用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.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

解决办法是禁用deny from all

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

mac 下 xampp 多域名 多站点 多虚拟主机 配置的更多相关文章

  1. XAMPP 虚拟主机配置,实现多域名访问本地项目

    XAMPP 虚拟主机配置,实现多域名访问本地项目 1.首先你既然要配置多个虚拟主机,那你肯定需要多个站点的目录文件.你可以在e盘创建 www文件夹,然后在该文件件中新建两个站点目录,假设test.co ...

  2. mac下xampp的mysql无法自动启动

    mac下xampp的mysql无法自动启动,每次启动都要手动在终端里执行 sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start 自动启动 ...

  3. mac下xampp简单虚拟主机配置

    多域名,虚拟主机的配置 开启虚拟主机配置选项: 打开httpd.conf文件,找到httpd-vhosts.conf那一行,解除该行注释: 打开httpd-vhosts.conf文件 修改如下 < ...

  4. mac osx下虚拟主机配置

    1.打开“终端(terminal)”,输入 sudo apachectl -v,此指令显示apache版本             2.开启apache,输入 sudo apachectl start ...

  5. windows环境下,apache虚拟主机配置

    在windows环境下,apache从配置文件的相关配置: Windows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其 VirtualHost 配置方法与 Linux 上有些差异 ...

  6. apache 虚拟主机配置(根据不同的域名映射到不同网站)

    最近弄了台香港服务器做测试,Web服务器软件用的是Apache2.2,机器只有一台,ip只有一个,但是想测试几个站点,于是尝试了下Apache的虚拟主机配置.之前已经写过一篇博文了——<Apac ...

  7. XAMPP虚拟主机配置--20150423

    你需要一些顶级域名访问方式来访问你本地的项目文件而不是目录方式访问,这时候就需要配置虚拟主机,给你的目录绑定一个域名(本地的话可以通过修改 hosts 文件随便绑定什么域名比如 www.a.com 或 ...

  8. Apache基于域名、端口、IP的虚拟主机配置(Centos 6.5)

    虚拟主机:部署多个站点,每个站点,希望用不同的域名和站点目录,或者是不同的端口,不同的ip,需要虚拟主机功能.一句话,一个http服务要配置多个站点,就需要虚拟主机. 虚拟主机分类:基于域名.基于端口 ...

  9. Apache虚拟主机配置(多个域名访问多个目录)

    Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...

随机推荐

  1. Axure7.0中文汉化语言包下载 axure汉化包

    Axure RP Pro 7.0 正式版 (兼容 6 版) 简体中文语言包 支持 Axure RP Pro 正式版 当前最新版本 7.0.0.3142 废话不多说,直接给下载地址: Axure7.0中 ...

  2. POJ3468A Simple Problem with Integers(区间加数求和 + 线段树)

    题目链接 题意:两种操作:一是指定区间的数全都加上一个数,二是统计指定区间的和 参考斌神的代码 #include <iostream> #include <cstring> # ...

  3. oneM2M启动Release 3标准化,华为引领物联网技术布局

    http://developer.huawei.com/cn/ict/news/cn/2016/06/onem2m [韩国,首尔,2016年6月] 国际权威的物联网组织oneM2M召开第23次技术全会 ...

  4. 【原】js 签到用日历

    最近做的一个项目中,需要用到一个日历来记录你的签到,网上找了一些,感觉挺庞大的,所以就自己写了一个,记录一下自己写这个日历的经过 html代码: <table cellspacing=" ...

  5. TP中验证码的实现

  6. Nginx实现简易泛域名CDN节点

    如何使用Nginx泛域名解析+反向代理+静态资源缓存呢? 安装nginx,安装过程不再赘述,记得带上pcre.gzip.sub.status这几个模块,另外如果想开通在线清理缓存功能,需要安装ngx_ ...

  7. $.ajax()引发的对Deferred的总结 (转)

    传统的ajax写法: $.ajax({ url:"1.json", type:"get", success:function(data){}, error:fu ...

  8. thikphp创建共享数据config.php

    要求:前台,后台:只需要配置一个config.php 其他文件共享 默认配置是 Index/Conf/config.php Admin/Conf/config.php 代码: return array ...

  9. Redis学习——ae事件处理源码分析

    0. 前言 Redis在封装事件的处理采用了Reactor模式,添加了定时事件的处理.Redis处理事件是单进程单线程的,而经典Reator模式对事件是串行处理的.即如果有一个事件阻塞过久的话会导致整 ...

  10. HTML5 常用的结构化标签整理

    一.语义化结构化标签 结构化标签优点: 1.方便浏览器处理和识别,提升了网页的质量和语义. 2.减少了大量无意义的div标签,增强代码的可读性. 结构化标签:(header,nav,body,arti ...