Apache虚拟主机配置

时间:2022-09-01 20:55:52

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。Apache虚拟主机配置有3中方法:基于IP配置、基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似。

参考:https://www.cnblogs.com/xiaoqian1993/p/6063375.html

一、基于域名配置

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访问测试页面

Apache虚拟主机配置

如果出现浏览器状态码为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