#Mac 10.9 自带apache2虚拟主机、目录设置web
(转载的)shell
花了好几天时间作这个事,终于成功,把正确的作法记录一下。 若是是第一次使用apache,能够先执行apache
sudo apachectl start
而后在浏览器里打开http://localhost看看效果,浏览器
若是显示It Works!说明apache正常,接下来就能够来作虚拟目录设置了。 首先,apache2在/private/etc/apache2目录,固然网上不少资料只提到/etc/apache2,其实指的是同一个目录,缘由就不详说了。服务器
而后,打开httpd.conf文件:ide
sudo nano /etc/apache2/httpd.conf
虽然vi是编辑神器,可是我不怎么会用,nano也是第一次用,可是下方有提示,容易上手,并且设置里的操做也很少,适合不会vi的人使用。 按ctl+W进行查找,查找vhosts.conf字符,找到Include /private/etc/apache2/extra/httpd-vhosts.conf这行,若是前面有#,把#删除,而后ctl+X,Y,ctl+T,httpd.conf一连串操做进行保存。我只会这种笨方法来保存,若是你会更简单的最好。 不少资料上说还有一些其余的设置,我也试过,但当我成功实现了虚拟目录设置后,试着把这些设置还原,也并无产生任何影响,至少在个人机器上,这些设置是没有起什么关键做用的,要不要作这些操做你来作主。 而后执行rest
sudo apachectl -t
这个命令是用来检查apache的一些配置文件的语法是否正确的,若是访问服务时在浏览器里显示链接不上服务器,就有必要用这个命令来检查一下是否是哪一个文件有问题了。 httpd-vhosts.conf这个文件是用来设置虚拟主机的,因此下面要在这个文件里设置本身指定的工做目录。 执行code
sudo nano /etc/apache2/extra/httpd-vhosts.conf
把文件中已有的两个配置注释掉get
#<VirtualHost *:80> # ServerAdmin webmaster@dummy-host.example.com # DocumentRoot "/usr/docs/dummy-host.example.com" # ServerName dummy-host.example.com # ServerAlias www.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" com$ #</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" co$ #</VirtualHost>
而后添加本身的配置it
<VirtualHost *:80> DocumentRoot "/Users/用户名/projects" ServerName www.sites.com ErrorLog "/private/var/log/apache2/sites-error_log" CustomLog "/private/var/log/apache2/sites-access_log" common <Directory "/Users/用户名/projects"> Options FollowSymLinks Indexes AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>
这些是什么意思我也很少说了,总的来讲就是指定虚拟目录、访问地址、虚拟目录访问权限。 而后保存并检查语法是否误。 最后
sudo nano /etc/hosts
在最后一行添加
127.0.0.1 www.sites.com
并保存。 最最后,
sudo apachectl restart
重启apache服务,在浏览器里访问www.sites.com,你会看到本身工做目录下的文件和文件夹列表,恭喜,你成功了。