例如将DocumentRoot设置为 /Users/xxx/Documents/project/myweb
其实很简单,就是 执行 apache的 www用户没有Documents的读和执行权限,设置一下就解决问题了
chmod 755 Documents
#<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>
然后添加自己的配置
<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.1www.sites.com
并保存。
最最后,sudo apachectl restart,重启apache服务,在浏览器里访问www.sites.com,你会看到自己工作目录下的文件和文件夹列表,恭喜,你成功了。