返回列表 发帖

Apache2.2基于域名的虚拟主机+用户授权限制+客户端地址限制

笺注:这是在 Apache2.2+MySQL5.6+PHP5.6+phpMyAdmin+GLPI 的基础上进行的。


基于域名的虚拟主机(同IP、同端口、不同域名):
指的是在同一台服务器中运行多个Web站点,每个站点都是独立的,不占用整台服务器。这样可以充分利用服务器的硬件资源,从而大大降低站点的运营成本。

实验中,会以一个IP地址192.168.168.130,同时支撑两个网站:
www.zhuohua.store
bbs.zhuohua.store



修改Apache的主配置:
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf

文件最后追加:(下面这命令有一句可以了,不要重复添加)
NameVirtualHost *:80


添加第一个站点www.zhuohua.store的配置代码:
<VirtualHost *:80>  ## * 代表服务器上的所有IP地址,也可以指定具体IP地址; 80 是指此站点的端口号

指定站点的文件存放目录:
    DocumentRoot /var/www/html/www.zhuohua.store

指定站点的主机名:
    ServerName www.zhuohua.store

指定站点的主机别名:(多个主机别名之间使用空格隔开)
ServerAlias ww.zhuohua.store zhuohua.store

给此站点的根目录设置默认首页:
    DirectoryIndex index.html index.htm index.php

指定此站点的日志文件:
    ErrorLog logs/www.zhuohua.store-error_log #开启错误日志
    CustomLog logs/www.zhuohua.store-access_log combined #开启访问日志

此站点根目录的访问权限:
<Directory /var/www/html/www.zhuohua.store>
       AllowOverride All  ##开伪静态
            Order allow,deny  
            Allow from all  
    </Directory>
</VirtualHost>


###### 第二个站点bbs.zhuohua.store的配置代码:
<VirtualHost *:80>
    DocumentRoot /var/www/html/bbs.zhuohua.store
    ServerName bbs.zhuohua.store
DirectoryIndex index.html index.htm index.php
#ErrorLog logs/happy.com-error_log #注释掉就是不开启
#CustomLog logs/happy.com-access_log combined #注释掉就是不开启

<Directory /var/www/html/bbs.zhuohua.store>
       AllowOverride None  ##不开伪静态
            Order allow,deny  
            Allow from all  
    </Directory>
</VirtualHost>


######

分别给各个站点创建文件存放目录、首页文件:
cd /var/www/html/

mkdir -p www.zhuohua.store
echo 'www.zhuohua.store' > ./www.zhuohua.store/index.html

mkdir -p bbs.zhuohua.store
echo 'bbs.zhuohua.store' > ./bbs.zhuohua.store/index.htm


重启Apache:
[root@localhost ~]# service httpd restart
停止 httpd:[确定]
正在启动 httpd:[确定]



Windows客户端通过浏览器测试,在没有DNS服务器解析域名的情况下,可以在文件hosts里绑定:
图片1.png

记得设置文件hosts的权限:
图片2.png


效果:
图片3.png

图片4.png

图片5.png


图片6.png





查看站点www.zhuohua.store的访问日志:(记录客户端访问的成功信息)
[root@localhost ~]# cat /var/log/httpd/www.zhuohua.store-access_log
192.168.168.128 - - [05/Jul/2018:06:03:23 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; rv:67.0) Gecko/20100101 Firefox/67.0"

查看站点 www.zhuohua.store 的错误日志:(记录客户端访问的错误信息)
[root@localhost ~]# cat /var/log/httpd/www.zhuohua.store-error_log
[Thu Jul 05 05:50:49 2018] [error] [client 192.168.168.128] File does not exist: /var/www/html/www.zhuohua.store/favicon.ico













############
############

用户授权限制:(对站点目录的访问权限进行设置)
包含认证和授权两个过程,认证是指识别用户身份的过程,授权是允许特定用户访问特定目录区域的过程。

## 目的:在访问特定目录前,要先验证用户名和密码。


分别给不同站点新建后台目录、后台首页文件:
cd /var/www/html/

mkdir -p ./www.zhuohua.store/webadmin
echo ' this is  www.zhuohua.store-admin' > www.zhuohua.store/webadmin/index.html

mkdir -p ./bbs.zhuohua.store/webadmin
echo ' this is  bbs.zhuohua.store-admin' > bbs.zhuohua.store/webadmin/index.html



分别给不同站点创建进行访问的用户和该用户的认证数据文件、密码:
[root@localhost ~]# find / -name htpasswd
/usr/bin/htpasswd

[root@localhost ~]# htpasswd -bc /etc/httpd/conf/.auth1 zhuohua 111
Adding password for user zhuohua

注释:
/etc/httpd/conf/.auth1 为认证数据文件
zhuohua 为用户名
111 为用户密码


[root@localhost ~]# htpasswd -bc /etc/httpd/conf/.auth2 happy 222
Adding password for user happy



给站点www.zhuohua.store的子目录/var/www/html/www.zhuohua.store/webadmin/,添加用户授权限制的配置代码:
cat >>/etc/httpd/conf/httpd.conf<< EOF
<Directory "/var/www/html/www.zhuohua.store/webadmin/">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    allow from all
        authname "www.zhuohua.store directory"
        authtype        basic
        authuserfile  /etc/httpd/conf/.auth1
        require valid-user
</Directory>
EOF



给站点bbs.zhuohua.store的子目录/var/www/html/bbs.zhuohua.store/webadmin/,添加用户授权限制的配置代码:
cat >>/etc/httpd/conf/httpd.conf<< EOF
<Directory "/var/www/html/bbs.zhuohua.store/webadmin/">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    allow from all
        authname "bbs.zhuohua.store directory"
        authtype        basic
        authuserfile  /etc/httpd/conf/.auth2
        require valid-user
</Directory>
EOF


重启Apache:
[root@localhost ~]# service httpd restart
停止 httpd:[确定]
正在启动 httpd:[确定]



客户端远程测试:
http://www.zhuohua.store/webadmin
图片7.png

图片8.png


http://bbs.zhuohua.store/webadmin/
图片9.png

图片10.png


如果不能提供正确的用户名和密码,会有以下提示:
图片11.png














############
############

客户端地址限制(针对客户端的IP地址,对站点某些目录的访问权限进行设置)
Order allow,deny :先允许后拒绝,默认拒绝所有未明确允许的客户端IP地址
Order deny,allow :先拒绝后允许,默认允许所有未明确拒绝的客户端IP地址


例子:仅仅不允许客户端使用IP地址192.168.168.27、192.168.168.28访问站点www.zhuohua.store的根目录/var/www/html/www.zhuohua.store

修改Apache的主配置文件:
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
    Order deny,allow
    deny from 192.168.168.27 192.168.168.28


如下图:
图片12.png

笺注:这不会影响子目录的访问。


记得重启Apache:
[root@localhost ~]# service httpd restart
停止 httpd:[确定]
正在启动 httpd:[确定]





相关文章:
Apache2.4基于域名的虚拟主机+用户授权限制+客户端地址限制
Nginx用户验证





#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^


苏泊尔电压力锅家用智能5L高压饭煲特价
dianfanbao.png


苏泊尔电磁炉火锅家用智能正品学生电池炉灶特价炒菜
diancilu.png


苏泊尔电蒸锅多功能家用蒸气锅三层大容量电蒸笼蒸锅蒸菜自动断电
dianzhengguo.png

返回列表