Yosemite变动很大,随之而来的就是一堆坑,之前在旧版OS中有效的方法在新版OS上已经不起作用了,创建个人站点就是一例。
Mac OS内置Apache,安装目录在/etc/apache2/,etc默认是隐藏的。可以用以下任意一种方式查看:
- Finder中,选择"前往文件夹",输入"/etc"
- terminal 中,输入 "open /etc"
首先,修改文件/etc/apache2/httpd.conf
定位到166行:#LoadModule userdir_module libexec/apache2/mod_userdir.so
去掉句首的#,即取消注释使之生效
再定位到493行:#Include /private/etc/apache2/extra/httpd-userdir.conf
同样,去掉句首的#
其次,修改文件/etc/apache2/extra/httpd-userdir.conf
定位到16行:#Include /private/etc/apache2/users/*.conf
去掉句首的#
再次,检查一下/etc/apache2/users/<your username>.conf 是否存在
没有的话就创建一个,内容如下:
<Directory "/Users/<your username>/Sites/">
AddLanguage en .en
LanguagePriority en fr de
ForceLanguagePriority Fallback
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from localhost
Require all granted
</Directory>
其中<your username>要替换成你的个人用户名
同时,检查一下/users/<your username>/Sites目录是否存在,没有就创建一个
然后找一个网页文件放进去,文件名改成index.html
最后,重启一下Apache服务器,可在terminal终端运行命令:
sudo apachectl restart
至此设置完毕,下面测试一下:
输入http://localhost,正常的话会显示It works!
实际上,它调用的是Apache服务器默认的web根目录文件:/Library/WebServer/Documents/index.html.en
要测试个人站点,需要输入http://localhost/~<your username>
这样才会调用刚才放到Sites目录下的index.html
更多细节参见
https://discussions.apple.com/docs/DOC-3083