Apache虚拟机的实现 俗称“一机多站“” 实例篇

一、虚拟主机的类型

基于域名的虚拟主机

基于IP的虚拟主机

基于端口的虚拟主机

二、本实例是基于域名的虚拟主机的实现

练习:(1)/website目录下创建g、z、c三个目录,分别作为

       www.ggg.com,www.zzz.com,www.ccc.com三个站点的web根目录

    (2)设置域名服务器解析www.ggg.com,www.zzz.com,www.ccc.com解析同一个ip地址

    (3)要求三个站点的日志都存放到/var/log/httpd目录下,并使用同一个文件,即访问日志都放

       access.log,错误日志都放到error.log,错误日志的

       级别设置为notice,访问日志记录时间,客户端地址,请求的URL路径,请求方法,响应请求的子

       进程ID,请求的文件,浏览器类型等信息

    (4)配置这两个日志至少要达到10M以后才进行轮转,且最多保存5个轮转文件

    (5)设置/website/sxjy/private目录只允许172.16.0.0/16网段的地址访问

    (6)设置/website/sxkj/finance只允许经过认证和授权的用户访问,具体用户名自己设置

(1)mkdir -p /website/{g,z,c}

     cd /website/a

     vim index.html

     wilcome to ggg page

     其他文件做相同处理

     mkdir -p /website/a/{prvite,finance}

     cp /website/a/index.html   /website/a/private

     cp /website/a/index.html   /website/a/finance

(2)注意:在客户端设置 vim /etc/hosts

    10.0.10.103  www.ggg.com

   10.0.10.103  www.zzz.com

  10.0.10.103  www.ccc.com

亦可采用dns服务器 加A 选项即可

(3)配置文件的书写

<VirtualHost *:80>

    ServerAdmin admin@ggg.com

    DocumentRoot "/website/aaa"

    ServerName www.aaa.com

    ErrorLog "/var/log/httpd/error.log"

    CustomLog "/var/log/httpd/access.log" common

</VirtualHost>

其它两个同上

(4)日志文件的书写

在 /etc/logrotate.d 下

vim website

/var/log/httpd/*log

{

size=10M

rotate 5

}

大致如此

(5)

<VirtualHost *:80>

    ServerAdmin admin@ggg.com

    DocumentRoot "/website/aaa"

    ServerName www.aaa.com

    ErrorLog "/var/log/httpd/error.log"

    CustomLog "/var/log/httpd/access.log" common

<Directory /website/a/private>

  

    Require all denied

           Require ip 172.16.0.0/16

</Directory>

 <Directory /sxjy>

         AuthType Basic

         AuthName "Restricted Files"

         AuthBasicProvider file

         AuthUserFile "/usr/local/httpd/passwd/password"

         Require user user03

       </Directory>

</VirtualHost>

cd /usr/local/

# htpasswd -c /usr/local/httpd/passwd/password user03 

 哦了 !!

原文地址:https://www.cnblogs.com/gzcheng/p/5836859.html