apache2虚拟主机、目录设置
博客专区 > 小寶 的博客 > 博客详情
apache2虚拟主机、目录设置
小寶 发表于2年前
apache2虚拟主机、目录设置
  • 发表于 2年前
  • 阅读 61
  • 收藏 4
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

#Mac 10.9 自带apache2虚拟主机、目录设置

(转载的)

花了好几天时间做这个事,终于成功,把正确的做法记录一下。 如果是第一次使用apache,可以先执行

sudo apachectl start

然后在浏览器里打开http://localhost看看效果,

如果显示It Works!说明apache正常,接下来就可以来做虚拟目录设置了。 首先,apache2在/private/etc/apache2目录,当然网上很多资料只提到/etc/apache2,其实指的是同一个目录,原因就不详说了。

然后,打开httpd.conf文件:

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一连串操作进行保存。我只会这种笨方法来保存,如果你会更简单的最好。 很多资料上说还有一些其他的设置,我也试过,但当我成功实现了虚拟目录设置后,试着把这些设置还原,也并没有产生任何影响,至少在我的机器上,这些设置是没有起什么关键作用的,要不要做这些操作你来做主。 然后执行

sudo apachectl -t

这个命令是用来检查apache的一些配置文件的语法是否正确的,如果访问服务时在浏览器里显示连接不上服务器,就有必要用这个命令来检查一下是不是哪个文件有问题了。 httpd-vhosts.conf这个文件是用来设置虚拟主机的,所以下面要在这个文件里设置自己指定的工作目录。 执行

sudo nano /etc/apache2/extra/httpd-vhosts.conf

把文件中已有的两个配置注释掉

#<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.1	www.sites.com

并保存。 最最后,

sudo apachectl restart

重启apache服务,在浏览器里访问www.sites.com,你会看到自己工作目录下的文件和文件夹列表,恭喜,你成功了。

共有 人打赏支持
粉丝 6
博文 52
码字总数 41741
×
小寶
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: