Mac OSX配置XAMP虚拟主机 多站点

原创文章,转载请注明出处blogyang.com。谢谢!

 

一、修改Host文件

打开“终端”软件,输入如下命令进行修改Host文件:

sudo vim /etc/hosts

edit_host

访问Host文件需要权限,将提示输入密码,输入你本机的密码即可。输入时页面不会显示位数,光标位置也不会移动。输入完毕后按回车即可。

 

在Host文件中添加:

127.0.0.1 www.website.com
127.0.0.1 website.com

edit_host1
添加完成后,按ESC退出编辑状态,按Shift + ZZ (注意是按两次Z)保存并退出。

 

二、修改httpd.conf文件

使用命令行或Finder打开httpd.conf文件:

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

 

1、开启虚拟主机功能

在httpd.conf文件中,搜索“httpd-vhosts.conf”,找到如下内容,取消第二行的注释(删除前方的#号):

# Virtual hosts
# Include etc/extra/httpd-vhosts.conf


 2、配置访问目录权限

① 在httpd.conf文件最底部追加如下内容:

<Directory "/Users/yangjuanfang/Jane/project/website”>
    # Options Indexes FollowSymLinks ExecCGI Includes # don't permission see list
    Options All
    AllowOverride All
    Order allow,deny
    Allow from all
</ Directory>


② 找到如下模块,并修改其中的内容,开放文件权限:

# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
<Directory />
    AllowOverride none
    Require all denied
 / Directory>

将其中的两行内容进行注释,并添如下内容即可:

Options All
AllowOverride All
Order allow,deny
Allow from all

 

如图:

配置httpd.conf文件

 

第二个方法将开放所有文件的访问权限,涉及安全性问题…… 待修改

 

 

三、修改httpd-vhost.conf文件

使用命令行或Finder打开httpd-vhost.conf文件,设置虚拟主机配置,

sudo vim /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf

添加如下内容:

< VirtualHost *:80>
    ServerAdmin webmaster@website.com
    DocumentRoot "/Users/yangjuanfang/Jane/project/website”
    ServerName website.com
    ServerAlias www.website.com
    ErrorLog "logs/dummy-host.website.com-error_log"
    CustomLog "logs/dummy-host.website.com-access_log" common
</VirtualHost>

 

重启下Apache,访问www.website.com即可出现配置的页面

edit_host_effect

 

 

注意事项:

  1. 缺乏访问文件、目录权限时,浏览页面将提示403错误;请按第二部操作配置权限。
  2. 遇到无法浏览情况,可查看错误日志以排查问题。(错误日志:/Applications/XAMPP/xamppfiles/logs/error_log)

 

 

 

 

配置使用多端口:

① 打开httpd.conf文件,搜索“Listen 80”,在下面添加你要使用的端口。如此处使用的是8080端口,添加“Listen 8080”即可。

httpd.conf文件路径:/Applications/XAMPP/xamppfiles/etc

 

② 打开httpd-vhost.conf文件,设置网站使用的端口。将下图中的8080设置为你所要用的端口即可。

httpd-vhost.conf文件路径:/Applications/XAMPP/etc/extra

 

此时访问localhost:8080、website.com、www.website.com都可以访问你所配置的页面。如图:

edit_multi_port_effect

 


 

问题收集&记录:

Q1:访问网站提示403错误。

403是由于没有权限,请求被服务器拒绝。遇到此问题,按第二布操作,开放文件访问权限即可。

 

Q2:访问网站提示404错误。

配置时,遇到访问一直提示404问题,文件路径没错。纠结半天查看错误日志,发现如下内容:

Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf:24
AH00112: Warning: DocumentRoot [/Users/yangjuanfang/Jane/project/website\xe2\x80\x9d] does not exist

细心的朋友会发现,在路径末尾多出了“\xe2\x80\x9d”字符,这是因为路径结尾的双引号使用为全角符号(中文符号)导致的……  只需将全角双引符号改为半角即可。

不知道为何,用Mac修改Apache的配置文件时,再怎么输入半角双引号都会自动转为全角;也是醉了……

最终以复制粘贴半角双引号解决。


参考文章/文档:
Apache虚拟主机官方文档
mac 下 xampp 多域名 多站点 多虚拟主机 配置

 

 

使用Markdown浏览请点击这里