环境准备:防火墙设置
虚拟机server
]# firewall-cmd --set-default-zone=trusted
虚拟机desktop
]# firewall-cmd --set-default-zone=trusted
配置NFS共享
NFS共享概述
• Network File System,网络文件系统
– 用途:为客户机提供共享使用的文件夹
– 协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
• 所需软件包:nfs-utils
• 系统服务:nfs-server
2.配置共享
[root@server0 ~]# mkdir /nsd
[root@server0 ~]# echo 123 > /nsd/1.txt
[root@server0 ~]# ls /nsd/
[root@server0 ~]# vim /etc/exports
– 文件夹路径 客户机地址(权限) 客户机地址(权限) .. ..
/nsd *(ro)
/opt *(ro)
3.重启服务(重启程序)
[root@server0 ~]# systemctl restart nfs-server
虚拟机desktop:访问共享文件夹
1.挂载共享目录
]# mkdir /mnt/a /mnt/b
]# showmount -e 172.25.0.11 #查看服务端共享内容
]# mount 172.25.0.11:/nsd /mnt/a/
]# df -h
]# ls /mnt/a
]# mount 172.25.0.11:/opt/ /mnt/b
]# ls /mnt/b
]# df -ah #显示当前全部的挂载
2.开机自动挂载/etc/fstab
_netdev:声明网络设备
指明挂载本设备需要有网络参数再进行挂载
[root@desktop0 ~]# vim /etc/fstab
172.25.0.11:/nsd /mnt/a nfs defaults,_netdev 0 0
172.25.0.11:/opt /mnt/b nfs defaults,_netdev 0 0
[root@desktop0 ~]# umount /mnt/a
[root@desktop0 ~]# umount /mnt/b
[root@desktop0 ~]# df -ah
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -ah
=======================================================================
HTTP服务基础
Web服务:提供网页内容
• 基于 B/S (Browser/Server)架构的网页服务
– 服务端提供网页
– 浏览器下载并显示网页
• Hyper Text Markup Language(html),超文本标记语言
• Hyper Text Transfer Protocol(http),超文本传输协议
• 软件包:httpd(Apache组织) #专门实现Web服务的软件
虚拟机server:
1.安装httpd软件
[root@server0 ~]# yum -y install httpd
2.重启服务
[root@server0 ~]# systemctl restart httpd
3.访问测试
[root@server0 ~]# firefox 172.25.0.11
4.书写页面文件
]# echo 'NSD1906 Web' > /var/www/html/index.html
]# cat /var/www/html/index.html
]# firefox 172.25.0.11
主配置文件配置字段:
– Listen:监听地址:端口(80)
– ServerName:本站点注册的DNS名称(空缺)
– DocumentRoot:网页根目录(/var/www/html)
– DirectoryIndex:起始页/首页文件名(index.html)
虚拟机classroom:
DNS服务器的解析:将域名解析为IP地址
server0.example.com----->172.25.0.11
www0.example.com----->172.25.0.11
webapp0.example.com----->172.25.0.11
[root@desktop0 ~]# nslookup webapp0.example.com
[root@desktop0 ~]# nslookup server0.example.com
[root@desktop0 ~]# nslookup www0.example.com
– DocumentRoot:网页文件的根目录(/var/www/html)
虚拟机server
]# mkdir /var/www/myweb
]# echo 'wo shi myweb' > /var/www/myweb/index.html
]# cat /var/www/myweb/index.html
]# vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/myweb"
]# systemctl restart httpd
虚拟机desktop:测试
[root@desktop0 ~]# firefox 172.25.0.11
网络路径与实际服务器路径 网页文件的根目录
客户端:firefox http://172.25.0.11:80---->服务端172.25.0.11
----->httpd 80----->DocumentRoot /var/www/myweb--->index.html
客户端: firefox 172.25.0.11
服务端: /var/www/myweb
客户端: firefox 172.25.0.11/abc
服务端: /var/www/myweb/abc/index.html
DocmentRoot /var/www/myweb
客户端: firefox 172.25.0.11/var/www/myweb/abc
服务端: /var/www/myweb/var/www/myweb/abc
虚拟机server:
]# mkdir /var/www/myweb/abc
]# echo 'wo shi abc' > /var/www/myweb/abc/index.html
]# firefox 172.25.0.11/abc
vsftpd----->/var/ftp
httpd------>/var/www/html
• 虚拟Web主机
– 由同一台服务器提供多个不同的Web站点
• 区分方式
– 基于域名的虚拟主机
– 基于端口的虚拟主机
– 基于IP地址的虚拟主机
• 配置文件路径
– /etc/httpd/conf/httpd.conf #主配置文件
– /etc/httpd/conf.d/*.conf #调用配置文件
• 为每个虚拟站点添加配置
ServerName 此站点的DNS名称
DocumentRoot 此站点的网页根目录
虚拟机server: vim命令模式下 u 可以撤销
]# vim /etc/httpd/conf.d/nsd01.conf #建立调用配置文件
#启用虚拟Web主机功能
ServerName server0.example.com #指定网站DNS名称
DocumentRoot /var/www/qq #指定网页文件根目录
ServerName www0.example.com
DocumentRoot /var/www/baidu
]# mkdir /var/www/qq /var/www/baidu
]# echo 'QQ 企鹅' > /var/www/qq/index.html
]# echo 'baidu 百度' > /var/www/baidu/index.html
]# systemctl restart httpd
虚拟Web主机优先级,由上到下依次匹配,匹配即停止
一旦使用虚拟Web主机功能,所有的网站都必须利用虚拟Web主机实现
[root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf
ServerName www0.example.com
DocumentRoot /var/www/baidu
ServerName server0.example.com
DocumentRoot /var/www/qq
ServerName webapp0.example.com
DocumentRoot /var/www/myweb
[root@server0 ~]# systemctl restart httpd
Web访问控制,针对存放网页文件的目录
子目录默认继承父目录的Web访问控制
Require all denied #拒绝所有人访问
Require all granted #允许所有人访问
案例:自定义Web的网页文件根目录
1.实现server0.example.com访问网页文件根目录修改为/webroot
]# vim /etc/httpd/conf.d/nsd01.conf
ServerName server0.example.com
DocumentRoot /webroot
]# mkdir /webroot
]# echo 'wo shi webroot' > /webroot/index.html
2.修改访问控制
[root@server0 ~]# vim /etc/httpd/conf/httpd.conf
[root@server0 ~]# vim /etc/httpd/conf.d/nsd02.conf
#针对/webroot路径
Require all granted #允许所有人访问
[root@server0 ~]# systemctl restart httpd
3.SELinux策略
[root@server0 ~]# setenforce 0
[root@server0 ~]# getenforce
Permissive
[root@server0 ~]# vim /etc/selinux/config
SELINUX=permissive
[root@server0 ~]# firefox server0.example.com