Mac OS X中配置Apache

我使用的Mac OS X版本是10.11.3,Mac自带了Apache环境。

  1. 启动Apache
  2. 设置虚拟主机

 

启动Apache

打开“终端(terminal)”,输入 sudo apachectl -v,(可能需要输入机器秘密)。如下显示Apache的版本

 

接着输入 sudo apachectl start,这样Apache就启动了。打开Safari浏览器地址栏输入 “http://localhost”,可以看到内容为“It works!”的页面。其位于“/Library(资源库)/WebServer/Documents/”下,这就是Apache的默认根目录。

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

  1. dock下右键Finder,选择"前往文件夹",输入"/etc"
  2. 在finder下----》前往---》前往文件夹,然后输入/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
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    < VirtualHost  *:80>
         ServerAdmin webmaster@dummy-host.example.com
         DocumentRoot "/usr/docs/dummy-host.example.com"
         ServerName dummy-host.example.com
         ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
         CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
    </ VirtualHost >
     
    < VirtualHost  *:80>
         ServerAdmin webmaster@dummy-host2.example.com
         DocumentRoot "/usr/docs/dummy-host2.example.com"
         ServerName dummy-host2.example.com
         ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
         CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
    </ VirtualHost >

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

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

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

  5. 增加如下配置
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    < VirtualHost  *:80>
         DocumentRoot "/Library/WebServer/Documents"
         ServerName localhost
         ErrorLog "/private/var/log/apache2/localhost-error_log"
         CustomLog "/private/var/log/apache2/localhost-access_log" common
    </ VirtualHost >
     
    < VirtualHost  *:80>
         DocumentRoot "/Users/snandy/work"
         ServerName mysites
         ErrorLog "/private/var/log/apache2/sites-error_log"
         CustomLog "/private/var/log/apache2/sites-access_log" common
         < Directory  />
                     Options Indexes FollowSymLinks MultiViews
                     AllowOverride None
                     Order deny,allow
                     Allow from all
           </ Directory >
    </ VirtualHost >

    保存退出,并重启Apache。

  6. 运行“sudo vi /etc/hosts”,打开hosts配置文件,加入"127.0.0.1 mysites",这样就可以配置完成sites虚拟主机了,可以访问“http://mysites”了,在10.8之前Mac OS X版本其内容和“http://localhost/~[用户名]”完全一致。
  7. 注意,记录log的“ErrorLog "/private/var/log/apache2/sites-error_log"”也可以删掉,但记录日志其实是一个好习惯,在出现问题时可以帮助我们判断。如果保留这些log代码,一定log文件路径都是存在的,如果随便修改一个不存在的,会导致Apache无法服务而没有错误提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值