Apache虚拟主机配置
前言:Apache虚拟主机配置有3中方法:基于IP配置、基于域名配置和基于端口配置,在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。
一、基于域名配置
1.1 首先查看主配置文件,是否打开了虚拟主机配置选项;
[root@localhost test]# vi /etc/httpd/conf/httpd.conf
IncludeOptional conf.d/*.conf # 使虚拟主机配置文件生效(/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf)
1.2 打开虚拟主机配置文件添加如下内容:
[root@localhost test]# vi /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/steven/test" #网站根目录 ServerName www.test.com #域名 DirectoryIndex index.html index.htm index.php #这里配置欢迎首页面 <Directory /> Options FollowSymLinks AllowOverride None #不允许别人修改我们的页面 order allow,deny #设置访问权限 Allow from all </Directory>
</VirtualHost>
1.3 在根目录下面新建文件:
[root@localhost test]# cd /steven/test/
[root@localhost test]# vi index.php
<?php
Echo "测试";
1.4 设置本地域名解析
steven:~ root# vi /etc/hosts
10.0.2.114 www.test.com
127.0.0.1 www.test.com 如果Apache安装在本机。
1.5 浏览其中输入www.test.com访问测试页面
如果出现浏览器状态码为403,就是因为权限不足引起的,再次打开httpd.conf进行添加权限
找到下面的代码
<Directory />
AllowOverride none Require all denied
</Directory>
将它改为:
<Directory />
AllowOverride none Require all granted
</Directory>
二、基于端口配置虚拟主机
2.1 修改主配置文件,添加多个监听端口
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
Listen 80
Listen 8080
2.2 编辑 httpd-vhosts.conf ,添加一下信息
[root@localhost httpd-2.4.6]# vi httpd-vhosts.conf
/#虚拟机端口配置
<VirtualHost *:8080>
DocumentRoot "/steven/test2" ServerName www.test2.com ServerAlias www.test2.com
<Directory "/steven/test2">
Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted
</Directory>
</VirtualHost>
2.3 重启Apache服务访问www.test2.com:8080