企业常用Centos 7.4 --虚拟主机基于域名,端口,IP,Apache访问控制
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,构建虚拟主机一共支持三种虚拟主机类型企业常用的是第一种基于域名的虚拟主机基于IP地址的虚拟主机,一台物理主机上需要两个网卡基于端口的虚拟主机构建虚拟主机之基于域名环境需求:一台linux作为DNS和w
千家信息网最后更新 2024年11月24日企业常用Centos 7.4 --虚拟主机基于域名,端口,IP,Apache访问控制
构建虚拟主机
一共支持三种虚拟主机类型
企业常用的是第一种基于域名的虚拟主机
基于IP地址的虚拟主机,一台物理主机上需要两个网卡
基于端口的虚拟主机
构建虚拟主机之基于域名
环境需求:一台linux作为DNS和web服务器,一台WIN10客户端作为测试
在我们的Linux先装两个 软件包
[root@localhost ~]# yum install bind httpd -y已安装: bind.x86_64 32:9.11.4-9.P2.el7 httpd.x86_64 0:2.4.6-90.el7.centos 作为依赖被安装: apr.x86_64 0:1.4.8-5.el7 apr-util.x86_64 0:1.5.2-6.el7 bind-export-libs.x86_64 32:9.11.4-9.P2.el7 httpd-tools.x86_64 0:2.4.6-90.el7.centos mailcap.noarch 0:2.1.41-2.el7 作为依赖被升级: bind-libs.x86_64 32:9.11.4-9.P2.el7 bind-libs-lite.x86_64 32:9.11.4-9.P2.el7 bind-license.noarch 32:9.11.4-9.P2.el7 bind-utils.x86_64 32:9.11.4-9.P2.el7 dhclient.x86_64 12:4.2.5-77.el7.centos dhcp-common.x86_64 12:4.2.5-77.el7.centos dhcp-libs.x86_64 12:4.2.5-77.el7.centos
配置DNS主配置文件
需要改两处[root@localhost ~]# vim /etc/named.conf options { listen-on port 53 { any; }; //监听所有地址 listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; //允许其他所有主机可以进行解析
配置DNS区域配置文件
我们加入两个需要解析的域名区域配置在正向解析上复制5行[root@localhost ~]# vim /etc/named.rfc1912.zones zone "accp.com" IN { //你需要解析的域名 type master; file "accp.com.zone"; //区域数据配置文件 allow-update { none; };};zone "kgc" IN { type master; file "kgc.com.zone"; allow-update { none; };};zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
配置DNS区域数据配置文件
[root@localhost ~]# cd /var/named/[root@localhost named]# lsdata dynamic named.ca named.empty named.localhost named.loopback slaves [root@localhost named]# cp -p named.localhost accp.com.zone //把模板复制到数据区域配置文件中[root@localhost named]# vim accp.com.zone //配置$TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1www IN A 192.168.136.136 //添加域名解析的地址[root@localhost named]# cp -p accp.com.zone kgc.com.zone //这个只要复制过来不需要过来,我们是基于不同的域名解析
开启服务
[root@localhost named]# systemctl stop firewalld.service[root@localhost named]# setenforce 0[root@localhost named]# systemctl start named
到win10客户端去测试能不能解析到地址
添加虚拟主机子配置文件,不要写在主配置文件中,系统加载会变慢。
[root@localhost named]# cd /etc/httpd/[root@localhost httpd]# lsconf conf.d conf.modules.d logs modules run[root@localhost httpd]# cd conf[root@localhost conf]# lshttpd.conf magic[root@localhost conf]# mkdir extra //创建一个扩展的文件夹,里面放入子配置文件,方便我们以后管理[root@localhost conf]# lsextra httpd.conf magic[root@localhost conf]# cd extra/
配置子配置文件
[root@localhost extra]# vim vhost.conf //标签虚拟主机 ,*代表所有网络 DocumentRoot "/var/www/html/accp/" //指定站点 ServerName www.accp.com //定义域名 ErrorLog "logs/www.accp.com.error_log" //网址要有日志文件,错误日志文件 Customlog "logs/www.accp.com.access_log" common //访问日志文件 //站点需要设置权限,让所有网络能访问这个网页 Require all granted //结尾标签 DocumentRoot "/var/www/html/kgc/" ServerName www.kgc.com ErrorLog "logs/www.kgc.com.error_log" Customlog "logs/www.kgc.com.access_log" common Require all granted ~
在站点下创建两个默认网页
[root@localhost httpd]# cd /var/www/html[root@localhost html]# mkdier accp kgc //创建两个站点目录[root@localhost html]# mkdir accp kgc[root@localhost html]# lsaccp kgc[root@localhost html]# cd accp[root@localhost accp]# vim index.html //编辑网页写入内容h2>this is accp web[root@localhost accp]# cd ../kgc/[root@localhost kgc]# vim index.htmlthis is kgc web
在主配置文件中调用子配置文件
[root@localhost kgc]# cd /etc/httpd/[root@localhost httpd]# cd conf[root@localhost conf]# lsextra httpd.conf magic[root@localhost conf]# vim httpd.conf#Load config files in the "/etc/httpd/conf.d" directory, if any.IncludeOptional conf.d/*.confInclude conf/extra/vhost.conf //调用子配置文件
启用web服务,并去win10客户端去测试能不能基于不同域名获得网页
虚拟主机之基于端口
子配置文件中在创建一个基于端口的虚拟主机
[root@localhost conf]# cd extra/[root@localhost extra]# vim vhost.conf 22 //端口加上8080 23 DocumentRoot "/var/www/html/kgc.port/" 24 ServerName www.kgc.port.com 25 ErrorLog "logs/www.kgc.port.com.error_log" 26 Customlog "logs/www.kgc.port.com.access_log" common 27 28 Require all granted 29 30
到站点目录下,做一个端口的默认网页
[root@localhost extra]# cd /var/www/html/[root@localhost html]# lsaccp kgc[root@localhost html]# mkdir kgc.port[root@localhost html]# cd kgc.port/[root@localhost kgc.port]# vim index.htmlthis is kgc.port web
~
在主配置文件中开启加入个监听地址
[root@localhost kgc.port]# vim /etc/httpd/conf/httpd.conf Listen 192.168.136.136:80Listen 192.168.136.136:8080#Listen 80
开启服务,查看端口有没有被提供出来
[root@localhost kgc.port]# systemctl restart httpd[root@localhost kgc.port]# netstat -ntapActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp 0 0 192.168.136.136:8080 0.0.0.0:* LISTEN 59009/httpd tcp 0 0 192.168.136.136:80 0.0.0.0:* LISTEN
用客户端win10测试基于端口的不同访问网页
80端口还是原来的网页
虚拟主机之基于IP
添加一块网卡
[root@localhost ~]# ifconfigens33: flags=4163 mtu 1500 inet 192.168.136.136 netmask 255.255.255.0 broadcast 192.168.136.255 inet6 fe80::e3c7:14af:6e4d:7216 prefixlen 64 scopeid 0x20 ether 00:0c:29:c9:dd:05 txqueuelen 1000 (Ethernet) RX packets 101 bytes 10639 (10.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 113 bytes 12291 (12.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens36: flags=4163 mtu 1500 inet 192.168.136.138 netmask 255.255.255.0 broadcast 192.168.136.255 inet6 fe80::658e:4c2d:2273:9cf5 prefixlen 64 scopeid 0x20 ether 00:0c:29:c9:dd:0f txqueuelen 1000 (Ethernet) RX packets 108 bytes 14566 (14.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 42 bytes 5695 (5.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
到子配置文件中开始配置
[root@localhost ~]# cd /etc/httpd/conf/extra/[root@localhost extra]# lsvhost.conf[root@localhost extra]# vim vhost.conf
//"*"改成第二块网卡的地址 2 DocumentRoot "/var/www/html/accp/" 3 ErrorLog "logs/www.accp.com.error_log" 4 Customlog "logs/www.accp.com.access_log" common 5 6 Require all granted 7 8 9 10 11 //改成第一块网卡的地址 12 DocumentRoot "/var/www/html/accp02/" //重新在站点下写一个网页 13 ErrorLog "logs/www.accp02.com.error_log" 14 Customlog "logs/www.accp02.com.access_log" common 15 16 Require all granted 17 18 19
到站点下创建一个网页内容
[root@localhost extra]# cd /var/www/html/[root@localhost html]# mkdir accp02[root@localhost html]# cd accp02[root@localhost accp02]# vim index.htmlthis is 136 accp02 web
~ ~ ~ [root@localhost accp02]# vim ../accp/index.html this is 128 accp web
~ ~ ~
在主配置文件中增加监听138的地址,开启服务
#prevent Apache from glomming onto all bound IP addresses.Listen 192.168.136.136:80Listen 192.168.136.138:80#Listen 192.168.136.136:8080#Listen 80[root@localhost extra]# systemctl status httpd
去客户端测试一下,记得我们之前给客户端指定的dns解析地址弄到自动获取,不然你的客户端无法上网,无法访问网址
Aapache访问权限控制(客户机权限控制)
到子配置文件,也叫容器,当中做客户机访问权限控制,像当于黑白名单,这个容器,系统的所有命令都会去实现,不会像ACL访问控制列表从上到下逐条匹配识别命令。
[root@localhost ~]# cd /etc/httpd/conf/extra/[root@localhost extra]# lsvhost.conf[root@localhost extra]# vim vhost.conf DocumentRoot "/var/www/html/accp/" ErrorLog "logs/www.accp.com.error_log" Customlog "logs/www.accp.com.access_log" common //要加入子容器的标签 Require not ip 192.168.136.137 //拒绝这个地址访问,也可以拒绝网段比如 Require not ip 192.168.136.0/24 Require all granted //结尾标签 [root@localhost extra]# systemctl restart httpd //重启服务
到客户端去测试一下
因为做了访问控制所以,只能访问web服务的默认网站
用户登录访问控制
[root@localhost extra]# cd /etc/httpd/conf [root@localhost conf]# htpasswd -c /etc/httpd/conf/pwd chen01 //创建一个chen01用户,放在路径底下,起个名字pwd. htpasswd:用YUM安装直接可以使用,如果手工编译安装,要把这个命令加到/usr/local/bin系统识别的命令底下。New password: //输入你的密码Re-type new password: //重复输入Adding password for user chen01[root@localhost conf]# lsextra httpd.conf magic pwd[root@localhost conf]# cat pwdchen01:$apr1$lOLJMVUo$EZ7qupc1bHN3k38OUw/1F.[root@localhost conf]# htpasswd /etc/httpd/conf/pwd chen02 //如果这个目录已存在,就不要加-c了New password: Re-type new password: Adding password for user chen02[root@localhost conf]# cat pwdchen01:$apr1$lOLJMVUo$EZ7qupc1bHN3k38OUw/1F.chen02:$apr1$5cbb6tpU$mt5EZG/8y7qXhyi1Pz2Lk1[root@localhost conf]#
添加到容器当中指定某个IP用户登录访问控制
[root@localhost extra]# vim vhost.conf DocumentRoot "/var/www/html/accp02/" ErrorLog "logs/www.accp02.com.error_log" Customlog "logs/www.accp02.com.access_log" common AuthName "DocumentRoot" //声明信息 AuthType Basic //验证类型为基本验证 AuthUserFile /etc/httpd/conf/pwd //验证文件,目录位置 Require valid-user //授权给用户登录 [root@localhost extra]# systemctl restart httpd
去客户机测试一下用户登录访问控制
以上就是我们所有的内容了,谢谢大家收看
配置
文件
主机
虚拟主机
客户
地址
网页
域名
控制
客户端
端口
服务
测试
两个
区域
用户
站点
命令
容器
权限
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术类的专业
冒险岛哪个服务器不卡
中控门禁数据库恢复
信息技术中的网络安全
学生网络安全目的
用友u8安装数据库失败
计算机软件开发在大学学什么
数据库保存数据安卓
物联网管理软件开发
网易手机版如何开服务器
文件服务器创建目录
薇恩互联网科技
徐州网络安全周纪实
文字识别软件开发
平顶山谷联网络技术有限
安卓盒子 服务器
网络技术和人文精神
sf服务器端下载
甘孜州网络安全和信息化倡议书
语音备忘录软件开发
软件开发公司防止程序泄露
计算机4级数据库怎么考
查询各部门的人数数据库原理
网络服务器在哪个国家呢
网络安全防范主题黑板报
天津服务器配置云空间
薇恩互联网科技
谷歌框架服务器
软件开发著作权法
服务器售后 深圳