- 可能大多数人没有注意到,Mac OS X 其实内置了 Apache 服务器,可以很简单的启动web服务。
- Apple 将 Apache “封装”起来了,通常的用户界面中没有任何直接对其进行操作设置的部分。
- 本文简介Mac OS X 中怎样通过Apache启动web服务。
启动Apache
有两种方法:
- 打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”。注意,从Mac OS X从10.8开始取消了 “Web共享(Web Sharing)”。这一方法只使用于10.8以前的系统。
- 打开“终端(terminal)”,然后(注意,sudo需要的密码就是系统的root帐号密码)
- 运行“
sudo apachectl -v
”,然后输入root密码,就会看到Mac OS X的Apache版本信息,如10.9中:
Server version: Apache/2.2.24 (Unix)
Server built: Aug 24 2013 21:10:43
- 运行“
sudo apachectl start
”,再输入帐号密码,这样Apache就运行了。
打开浏览器地址栏输入 “http://localhost”,可以看到内容为“It works!”的页面。该页面文件就是位于“/Library(资源库)/WebServer/Documents/”下的index.html.en,这个目录就是Apache的默认根目录。
- 运行“
- Mac OS X 是基于FreeBSD构建的,它和UNIX之间有完全的兼容性。它的主硬盘(默认叫做Macintosh HD)即为UNIX的 “/” 根目录,而/bin, /etc, /home 等目录在Mac OS X中都是隐藏的,只有通过shell才能查看,用户界面中也没有windows那种 “显示隐藏文件” 的功能。
- Apache安装在 /etc/apache2/ 目录下。etc默认是隐藏的。有两种方式查看
a、dock下右键Finder,选择"前往文件夹",输入"/etc"
b、通过shell查看
注意:开启了Apache就是开启了“Web共享”,这时联网用户就会通过“http://[本地IP]/”来访问“/Library(资源库)/WebServer/Documents/”目录,通过“http://[本地IP]/~[用户名]”来访问“/Users/[用户名]/Sites/”目录。值得注意的是,Mac OS X在10.8中取消”Web共享(Web Sharing)”时,也移除了“/Users/[用户名]/Sites/”目录,所以10.8中访问“http://[本地IP]/~[用户名]”会显示“403 Forbidden”,但http://[本地IP]/依旧可以访问。可以到“系统偏好设置” -> “安全(Security)” -> “防火墙(Firewall)”,开启防火墙,然后在“防火墙选项(Firewall Options)”中勾上“组织所有进入连接(block all incoming connections)”即可。也可以通过设置httpd.conf来只允许localhost和127.0.0.1访问“/Library(资源库)/WebServer/Documents/”。
<Directory "/Library/WebServer/Documents">
......
#
# Controls who can get stuff from this server.
#
Order allow,deny
#Allow from all
Allow from 127.0.0.1
Allow from localhost
</Directory>