【Apache】添加多站点(设置虚拟主机) - 范仲淹三打白骨精
【Apache】添加多站点(设置虚拟主机)
2018-07-03 10:44
范仲淹三打白骨精
阅读(3520)
评论(0)
编辑
收藏
举报
设置虚拟主机
第一步:首先修改Apache的配置文件(由于我用的是MacOS自带的服务器环境,因此配置文件的目录是:/etc/apache2/http.conf。其他环境例如MAMP,则在 MAMP/conf/apache/ 中。
编辑需要root权限)。
找到这一行,将第二行前面的#号去掉,表示启用vhosts虚拟主机:
———————————————————————————————————-
p.p1 { margin: 0; font: 14px Menlo; color: rgba(0, 0, 0, 1); background-color: rgba(255, 255, 255, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
—————————————————————————————————
第二步:接着就去找这个http-vhosts.conf文件,在文件最后添加如下代码,添加规则如下:
- DocmentRoot:设置项目的根目录,如:/var/www/project1/、/Library/Webserver/Documents/project1/等。
- ServerName:设置访问项目的域名,如:www.project1.com。这样设置之后,就不需要用“localhost/project1/admin”访问,而可以用“www.project1.com/admin”访问本地项目了。
- 另外如果你用的不是80端口号,则需要改一下这里第一行 <VirtualHost *:你的端口号> 。
——————————————-添加的代码—————————————————————
————————————————–添加的代码——————————————————–
第三步:最后一步,设置MacOS的hosts文件(文件目录是/private/etc/hosts),将域名添加到本机地址中:
———————————————————————————————————-
———————————————————————————————————-
到这一步就完成了。
记得重启apache服务器!(apachectl restart)
最后,如果设置后访问站点时发现如下错误:403 Forbidden Forbidden You don\’t have permission to access / on this server。这主要是目录访问权限没有设置,需要设置对目录的访问权。步骤如下:
- 打开 httpd_conf 文件,找到如下语句
<Directory />
AllowOverride All
Required all denied
</Directory>
- 将第一行的 / 改为你之前设置的项目目录(如:/Library/Webserver/Documents/project1//)
- 将第二行的 Required all denied 改为 Required all granted 即可。
设置多端口
步骤和设置站点差不多:
127.0.0.1 www.project1.com
127.0.0.1 www.project2.com
然后在http-vhosts文件中新增站点信息并把端口号改一下:
<VirtualHost *:80> # ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/Library/Webserver/Documents/project1/" ServerName www.project1.com ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log" CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common </VirtualHost> <VirtualHost *:81> # ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/Library/Webserver/Documents/project2/" ServerName www.roject2p.com ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log" CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common </VirtualHost>
最后改一下http.conf文件:
找到 Linsten 80 这行
在下面添加 Listen 81,即可。
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS> Listen 8080 </IfDefine> <IfDefine !SERVER_APP_HAS_DEFAULT_PORTS> Listen 80 Listen 81 </IfDefine>
p.p1 { margin: 0; font: 14px Menlo; color: rgba(0, 0, 0, 1); background-color: rgba(255, 255, 255, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }