首先将防火墙改为trusted模式

前提案例:
为虚拟机 server 配置以下虚拟Web主机

  • 实现三个网站的部署
  • 实现客户端访问server0.example.com网页内容为 卖女孩的小火柴
  • 实现客户端访问www0.example.com网页内容为 奔跑吧骆驼
  • 实现客户端访问webapp0.example.com网页内容为 20里春风不如你
服务端:
[root@server0 ~]# yum  -y  install  httpd
root@server0 ~]# vim /etc/httpd/conf.d/zz.conf
<virtualhost  *:80>
servername   server0.example.com
documentroot   /var/www/abc01
</virtualhost>
<virtualhost  *:80>
servername   www0.example.com
documentroot   /var/www/abc02
</virtualhost>
<virtualhost  *:80>
servername   webapp0.example.com
documentroot   /var/www/abc03
</virtualhost>
[root@server0 ~]# cd  /var/www
[root@server0 www]# mkdir  abc01  abc02   abc03
[root@server0 www]# echo  ' < h1 >卖女孩的小火柴 '  > abc01/index.html
[root@server0 www]# echo  '< h1>奔跑吧骆驼'  > abc02/index.html
[root@server0 www]# echo  '< h1>20里春风不如你'  > abc03/index.html
[root@server0 www]# systemctl  restart  httpd
客户端:
[root@desktop0 ~]# firefox  server0.example.com
[root@desktop0 ~]# firefox  www0.example.com
[root@desktop0 ~]# firefox  webapp0.example.com
配置目录文件

文件夹权限:
针对documentroot网页目录权限
httpd运行身份(用户/组):apache

客户机地址权限:
使用< directory >配置区段
每个文件夹自动继承其父目录的ACL访问权限
除非针对子目录有明确设置

<Directory "目标的绝对路径">......Require all granted | denied   #允许或拒绝所有人访问Require   IP  IP地址或网段        #仅允许某IP或网段访问
</Directory>

案例:
在web网站http://server0.example.com的documentroot目录下创建private子目录
要求:
1)从http://classroom/pub/materials/private.html下载一个文件副本到这个目录,重命名为index.html
2)不要对文件index.html的内容有任何修改
3)从server0上任何人都可以浏览private的内容,但从其他系统上不可以访问这个目录的内容

[root@server0 ~]# cat  /etc/httpd/conf.d/zz.conf    #先查看当前web的存放路径virtualhost  *:80>
servername   server0.example.com
documentroot   /var/www/abc01
[root@server0 ~]# mkdir  /var/www/abc01/private     #在当前web路径下创建private子目录
[root@server0 ~]# echo '<h1>wo   shi  private'  >   /var/www/abc01/index.html
[root@server0 ~]# cat  /var/www/abc01/index.html[root@server0 ~]# vim  /etc/httpd/conf.d/xxx.conf      #修改调用配置文件,只能让本机访问
<Directory "/var/www/abc01/private">Require ip  172.25.0.11
</Directory>
[root@server0 ~]# systemctl  restart  httpd           #重起服务
[root@server0 ~]# firefox  server0.example.com/private    #本机访问(其他系统是无法访问的!!!)

案例2:使用自定Web根目录
调整 Web 站点 http://server0.example.com 的网页目录,要求如下:
1)新建目录 /webroot,作为此站点新的网页目录
2)从http://classroom/pub/materials/private.html下载一个文件副本到这个目录,重命名为index.html
3)不要对文件index.html的内容有任何修改
4)确保站点hhtp://server0.example.com仍然可以访问

[root@server0 ~]# mkdir  /webroot      #创建目录
[root@server0 ~]# echo  '<h1>wo shi webroot' >  /webroot/index.html
[root@server0 ~]# cat  /webroot/index.html
<h1>wo shi webroot
[root@server0 ~]# vim  /etc/httpd/conf.d/xx.conf       #针对/webroot网页进行访问控制
<Directory "/webroot">Require all granted                               #允许所有人访问
</Directory>
[root@server0 ~]# vim  /etc/httpd/conf.d/zz.conf      #修改调用配置文件
<virtualhost  *:80>
servername  server0.example.com
documentroot  /webroot
</virtualhost>
[root@server0 ~]# systemctl  restart  httpd           #重起服务(此时服务无法启动,显示没有权限)
[root@server0 ~]# ls  -Zd  /webroot                    #查看该目录的上下文信息
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /webroot
[root@server0 ~]# ls  -Zd  /var/www                     #查看目录的上下文信息
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www
[root@server0 ~]# chcon  -R  --reference=/var/www  /webroot    #重新设置目录属性
[root@server0 ~]# ls  -Zd  /var/www
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www
[root@server0 ~]# ls  -Zd  /webroot
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /webroot
[root@server0 ~]# systemctl restart  httpd            #重起服务

SELinux策略:布尔值 安全上下文值 非默认端口的开放

安全上下文值:非默认端口开放,类似于标签,起标识作用
chcon -R --reference=模板目录 新目录

部署动态网站

静态网站的运行

• 服务端的原始网页 = 浏览器访问到的网页
– 由Web服务软件处理所有请求
– 文本(txt/html)、图片(jpg/png)等静态资源

动态网站的运行

• 服务端的原始网页 ≠ 浏览器访问到的网页
– 由Web服务软件接受请求,动态程序转后端模块处理
– PHP网页、Python网页、JSP网页…

一、下载Python页面文件
为站点 webapp0.example.com 配置提供动态Web内容

[root@server0 ~]# cat   /etc/httpd/conf.d/zz.conf    #查看当前网页文件默认路径
[root@server0 ~]# cd  /var/www/qwe                   #切换到默认网页路径
[root@server0 qwe]# wget  http://classroom.example.com/pub/materials/webinfo.wsgi   #下载Python页面文件
[root@server0 qwe]# cat  webinfo.wsgi
#!/usr/bin/env python
import time
def application (environ, start_response):response_body = 'UNIX EPOCH time is now: %s\n' % time.time()status = '200 OK'response_headers = [('Content-Type', 'text/plain'),('Content-Length', '1'),('Content-Length', str(len(response_body)))]start_response(status, response_headers)return [response_body]
[root@server0 qwe]# vim  /etc/httpd/conf.d/zz.conf        #修改调用配置文件
<VirtualHost  *:80>ServerName  webapp0.example.comDocumentRoot  /var/www/abc03Alias  /  /var/www/abc03/webinfo.wsgi#当客户端直接访问 网页文件根目录时,呈现/var/www/abc03/webinfo.wsgi
</VirtualHost>[root@server0 qwe]# systemctl restart  httpd
[root@server0 ~]# yum  -y  install  mod_wsgi       #安装mod_wsgi软件,可以翻译执行Python页面的代码
[root@server0 ~]# vim  /etc/httpd/conf.d/zz.conf     #修改调用配置文件
Listen  8909                                   #设置httpd程序监听8909端口
<VirtualHost  *:8909>                           #设置本虚拟Web主机将在8909端口呈现ServerName  webapp0.example.com               DocumentRoot  /var/www/abc03WsgiScriptAlias / /var/www/abc03/webinfo.wsgi</VirtualHost>[root@server0 ~]# semanage   port  -a  -t  http_port_t  -p  tcp  8909    #修改非默认端口的开放策略     -a  添加    -t  类型   -p   协议
[root@server0 ~]# systemctl restart httpd      #重起服务

页面跳转:Alias 网络路径 实际呈现的网页文件路径
网络路径 /:网页文件的根目录,匹配客户端浏览器中直接输入域名

安全Web服务

http:超文本传输协议
https:安全的超文本传输协议

PKI公钥基础设施
• Public Key Infrastructure,公钥基础设施
– 公钥:主要用来加密数据
– 私钥:主要用来解密数据(与相应的公钥匹配)
– 数字证书:证明拥有者的合法性/权威性(单位名称、有效期、公钥、颁发机构及签名、…)
– Certificate Authority,数字证书授权中心:负责证书
的申请/审核/颁发/鉴定/撤销等管理工作
虚拟机server:构建安全的Web,以www0.example.com为例
1.下载网站证书(营业执照)

[root@server0 ~]# cd  /etc/pki/tls/certs/
[root@server0 certs]# wget   http://classroom/pub/tls/certs/server0.crt

2.下载根证书(工商局信息)

[root@server0 certs]# wget    http://classroom/pub/example-ca.crt

3.下载私钥(解密数据)

[root@server0 certs]# cd ..
[root@server0 tls]# cd  private/
[root@server0 private]# wget   http://classroom/pub/tls/private/server0.key

4.下载软件,支持安全的加密通信

[root@server0 ~]# yum  remove   mod_ssl

5.修改配置文件

[root@server0 ~]# vim  /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/server0.crt
SSLCertificateKeyFile /etc/pki/tls/private/server0.key
SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt

6.重起服务

[root@server0 ~]# systemctl  restart  httpd

7.客户端访问

[root@desktop0 ~]# firefox  www0.example.com

Samba共享(共享文件)

Samba共享服务,专门用于Windows和Linux跨平台的共享
NFS共享,专门用于Linux和Linux之间的共享

服务端:
1.安装Samba软件

[root@server0 ~]# yum  -y  install  samba
建立Samba共享用户(账号):专用于访问Samba共享的时候,验证的用户,基于本地用户,需要设置Samba共享独立的密码

2.创建用户,将其加入Samba共享用户,为其设置密码

[root@server0 ~]# useradd  zzz
[root@server0 ~]# pdbedit  -a  zzz
new password:
retype new password:
[root@server0 ~]# pdbedit  -L    #查看该用户是否存在
zzz:1001:

3.创建Samba共享的目录

[root@server0 ~]# mkdir  /asd
[root@server0 ~]# echo  1233465 > /asd/a.txt

4.修改配置文件

[root@server0 ~]# vim  /etc/samba/smb.conf
[haha]         #在文件末尾书写
path =  /asd
[root@server0 ~]# systemctl  restart  smb

5.修改SELinux策略:布尔值(功能的开关)

[root@server0 ~]# getsebool  -a  | grep samba    #查看当前布尔值
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
[root@server0 ~]# setsebool samba_export_all_ro  on   #修改布尔值
[root@server0 ~]# getsebool  -a  | grep samba   #再次查看布尔值
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> on

6.重起服务

[root@server0 ~]# systemctl  restart  smb

客户端:
1.安装软件

[root@desktop0 ~]# yum  -y  install  cifs-utils

2.挂载访问
NFS格式: mount IP地址:/共享的路径 挂载点目录
Samba格式:mount -o user=xxxxx,pass=xxxxx //IP地址/共享名 挂载点目录

[root@desktop0 ~]# mount  -o  user=zzz,pass=123   //172.25.0.11/haha  /mnt

3.设置开机自启

[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/haha    /mnt  cifs  defaults,user=zzz,pass=123,_netdev  0  0
[root@desktop0 ~]# umount  /mnt
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df  -h

web服务高级使用 Samba共享相关推荐

  1. 网络共享服务(三)之SAMBA

    前面说到了FTP和NFS,由于FTP是客户端和服务器基于ftp应用协议进行交换数据的,它不支持挂载共享目录的方式,而NFS又不支持跨平台,所以就催生了第三种网络共享服务:samba Samba是在Li ...

  2. samba共享服务的部署及安全优化

    =@TOC 1.samba服务简介 在构建主机时我们需要将主机系统的数据存储在存储服务器中(如下图所示),这样用户在需要访问系统数据资源时,可以通过不同的终端主机访问存储服务器,避免因客户端主机瘫痪导 ...

  3. Linux中samba共享服务的部署及安全优化详解

    samba共享服务的部署及安全优化 文章目录 samba共享服务的部署及安全优化 1.samba服务简介 2.samba基本信息 3.samba的安装与启用 a)windows下文件系统的共享 b)L ...

  4. 构建 RESTful Web 服务

    from: https://www.ibm.com/developerworks/cn/education/java/j-rest/j-rest.html 开始之前 关于本教程 REST 是一种思维方 ...

  5. 用WSE在Web服务中验证用户身份

    一.Web服务安全与WS-Security 毫无疑问,SOAP和XML Web服务在交互操作和标准上已经完全改变了电子商务领域的格局. 然而直到最近,在Web服务技术领域仍然存在着一些缺陷,那就是处理 ...

  6. Shell脚本学习-阶段二十六-Web服务与端口

    文章目录-Shell阶段二十六-端口与服务对照表 前言 端口与Web服务对照表 简介 前言 端口与Web服务对照表 2端口:管理实用程序 3端口:压缩进程 5端口:远程作业登录 7端口:回显 9端口: ...

  7. 学习笔记---Web服务、Remoting、WCF (上) --- Web服务

    自从程序设计诞生起, 如何最大限度的重用代码, 减小编码的重复劳动就是程序员永恒不变的课题. 我们从学习面向对象开始, 先后引入了很多种共享代码的手段, 随着学习的不断深入就越发觉得程序设计的发展过程 ...

  8. 12个强大的Web服务测试工具

    在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种 ...

  9. [Samba] Linux(Centos)samba服务安装,Samba文件共享及Samba配置详解

    本片博客主要介绍了[Samba] Linux(Centos)samba文服务器安装案例,samba共享,samba服务,samba配置详解及网页配置samba工具samba-swat 的使用方法等. ...

最新文章

  1. ZABBIX企业微信新版告警
  2. 推荐一个你最喜欢的辅助办公软件,你会推荐什么?
  3. 关于控制台程序的一些想法
  4. 总结PHP中DateTime的常用方法
  5. mysql limit优化
  6. Oracle SQL脚本学习记录一
  7. Kali 2.0 采用ssh连接登陆
  8. org manual翻译--3.1 内置的表格编辑器
  9. 开源项目:底部动作条(BottomSheet)
  10. js 匿名函数_javascript:函数的使用
  11. 进程和线程的简单对比
  12. 金蝶实现EXCEL复制粘贴功能
  13. WeOpen Talk|张亮:正确理解开源的意义,迸发开源潜力
  14. 【每日力扣Leetcode】459-判断一个字符串是否由子字符串重复组成
  15. linux下 pxe服务器,Linux 的 PXE 与 UEFI PXE 依赖服务器配置
  16. 安卓干货——PC 连接手机实现摄像头预览
  17. [python]学习过程小例子
  18. Go语言核心之美 2.1-整数
  19. Dota 2 - Character Art Guide
  20. 站长技术导航二开美化网站源码 网站提交自动秒收录

热门文章

  1. 如何理解矩阵特征值?
  2. matlab用循环批量生成多个变量,神奇的eval()函数
  3. 生成学习、高斯判别、朴素贝叶斯—斯坦福ML公开课笔记5
  4. 如何做一名优秀的博士生--施一公教授
  5. java设计模式4--建造者模式(Builder)
  6. 如何设计一门语言(四)——什么是坑(操作模板)
  7. cout的输出格式初探3
  8. 微软宣布针对Azure Cosmos DB的多个更新
  9. 定域性和实在性之矛盾的世界
  10. 用Redis实现微博关注关系