Mac配置虚拟主机详细过程

一、启动Apache本文主要讲述了

终端输入:sudo apachectl start

Apache的安装目录在:/etc/apache2/,etc默认是隐藏的。有三种方式查看:

1.桌面位于Finder时:shift+command+g,输入“/etc”(即Finder-前往-前往文件夹的快捷键)

2.打开终端:cd /etc

3.可以在terminal 输入 "open /etc"

二、设置虚拟主机

1.在终端运行“sudo vi /etc/apache2/httpd.conf”,打开Apche的配置文件

2.在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存并退出。

3.运行“sudo apachectl restart”,重启Apache后就开启了虚拟主机配置功能。

4.运行“sudo vi /etc/apache2/extra/httpd-vhosts.conf”,就打开了配置虚拟主机文件httpd-vhost.conf,配置虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机

  1. <VirtualHost *:80>
  2. ServerAdmin webmaster@dummy-host.example.com
  3. DocumentRoot "/usr/docs/dummy-host.example.com"
  4. ServerName dummy-host.example.com
  5. ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
  6. CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
  7. </VirtualHost>
  8. <VirtualHost *:80>
  9. ServerAdmin webmaster@dummy-host2.example.com
  10. DocumentRoot "/usr/docs/dummy-host2.example.com"
  11. ServerName dummy-host2.example.com
  12. ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
  13. CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
  14. </VirtualHost>

而实际上,这两个虚拟主机是不存在的,在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示:

Forbidden

You don't have permission to access /index.php on this server

最简单的办法就是在它们每行前面加上#,注释掉就好了,这样既能参考又不导致其他问题。

5.增加如下配置,支持localhost访问,添加虚拟主机访问

  1. <VirtualHost *:80>
  2. DocumentRoot "/Library/WebServer/Documents"
  3. ServerName localhost
  4. ErrorLog "/private/var/log/apache2/localhost-error_log"
  5. CustomLog "/private/var/log/apache2/localhost-access_log" common
  6. </VirtualHost>
  7. <VirtualHost *:80>
  8. DocumentRoot "/Library/WebServer/Documents"
  9. ServerName 虚拟主机地址 (如:www.test.com)
  10. ErrorLog "/private/var/log/apache2/test-error_log"
  11. CustomLog "/private/var/log/apache2/test-access_log" common
  12. <Directory />
  13. Options Indexes FollowSymLinks MultiViews
  14. AllowOverride None
  15. Order deny,allow
  16. Allow from all
  17. </Directory>
  18. </VirtualHost>

保存,退出,重启Apache。

6.运行“sudo vi /etc/hosts”,打开hosts配置文件,加入"127.0.0.1 www.test.com",这样就可以配置完成test虚拟主机了。

打开浏览器,输入:www.test.com

It works!

配置成功,和localhost一致!