Linux 虚拟web相关

两台虚拟机,均要检测

1.IP地址

2.是否可以解析,server0.example.com

3.Yum是否可用

4.防火墙默认区域修改为trusted

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

基于 B/S (Browser/Server)架构的网页服务

– 服务端提供网页

– 浏览器下载并显示网页

Hyper Text Markup Language,超文本标记语言

Hyper Text Transfer Protocol,超文本传输协议

软件包:httpd

系统服务:httpd

提供的默认配置

– Listen:监听地址:端口(80)

– ServerName:本站点注册的DNS名称(空缺)

– DocumentRoot:网页根目录(/var/www/html)

– DirectoryIndex:起始页/首页文件名(index.html)

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

一、搭建基本Web服务

虚拟机Server0上:

1.安装httpd软件

2.启动httpd服务,并且设置 为开机自起

3.书写 网页文件

# echo My First Web > /var/www/html/index.html

虚拟机Desktop0上:

# elinks -dump 172.25.0.11

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

– ServerName:本站点注册的DNS名称(空缺)

虚拟机Server0上:

1.修改主配文件的内容/etc/httpd/conf/httpd.conf

vim中命令行模式全文查找:   /ServerName

ServerName  server0.example.com:80

2.  重起httpd服务

虚拟机Desktop0上:

# elinks -dump server0.example.com

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

– DocumentRoot:网页根目录(/var/www/html)

虚拟机Server0上:

1.修改主配文件的内容/etc/httpd/conf/httpd.conf

DocumentRoot  "/var/www/abc"

2.创建目录/var/www/abc

3.重起httpd服务

4.书写网页文件

# echo wo shi abc > /var/www/abc/index.html

虚拟机Desktop0上:

# elinks  -dump  server0.example.com

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

虚拟Web主机

– 由同一台服务器提供多个不同的Web站点

区分方式

– 基于域名的虚拟主机

– 基于端口的虚拟主机

– 基于IP地址的虚拟主机

配置文件路径

– /etc/httpd/conf/httpd.conf   #主配置文件

– /etc/httpd/conf.d/*.conf     #从配置文件

<VirtualHost *:80>

ServerName www.qq.com

DocumentRoot /var/www/qq

</VirtualHost>

帮助文档:/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf

1.建立从配置文件

[[email protected] ~]# vim /etc/httpd/conf.d/nsd01.conf

<VirtualHost   *:80>

DocumentRoot   /var/www/test

ServerName   www0.example.com

</VirtualHost>

<VirtualHost   *:80>

DocumentRoot   /var/www/nsd

ServerName   webapp0.example.com

</VirtualHost>

2. 建立目录及相应的网页内容

# echo wo shi test > /var/www/test/index.html

# echo wo shi nsd > /var/www/nsd/index.html

3. 重起httpd服务

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

启用虚拟Web主机,所有的站点都必须用虚拟Web主机来实现

保证 server0.example.com可以访问

1.修改从配置文件

[[email protected] ~]# vim /etc/httpd/conf.d/nsd01.conf

追加写入

<VirtualHost   *:80>

DocumentRoot   /var/www/abc

ServerName   server0.example.com

</VirtualHost>

2. 重起httpd服务

虚拟机Desktop0上:

# elinks  -dump  server0.example.com

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

httpd服务访问控制

虚拟机server0:

1.创建目录与网页文件

# mkdir  /var/www/abc/private

# echo 小蝌蚪找妈妈  >  /var/www/abc/private/index.html

# cat  /var/www/abc/private/index.html

2.建立新的配置文件

[[email protected] ~]# vim /etc/httpd/conf.d/nsd02.conf

<Directory   "/var/www/abc/private">

Require   ip  172.25.0.11   127.0.0.1    #仅允许本机访问

</Directory>

3 重起httpd服务

测试:  在Desktop0上访问失败,在Server0上访问可以

elinks  -dump  server0.example.com/private

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

思路:客户端访问服务端资源

1.防火墙是否限制

2.服务本身的访问控制

3.SELinux 是否限制

SELinux策略保护

1.安全上下文(标签)

[[email protected] ~]# chcon -R --reference=/var/www /webroot

方式1:参照标准目录,重设新目录的属性

– chcon [-R] --reference=模板目录 新目录

使用自定Web根目录

1.修改配置文件 /etc/httpd/conf.d/nsd01.conf

<VirtualHost *:80>

DocumentRoot /webroot

ServerName server0.example.com

</VirtualHost>

2.创建目录与网页文件

# mkdir /webroot

# echo wo shi webroot > /webroot/index.html

3.修改访问控制配置文件,/etc/httpd/conf.d/nsd02.conf

<Directory "/webroot">

Require all granted

</Directory>

4.修改SELinux标签值

# chcon -R --reference=/var/www /webroot

5.重起httpd服务验证

6.在Desktop0上: elinks  -dump  server0.example.com

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

安全Web服务

安全的超文本协议 https  端口为:443

PKI公钥基础设施

Public Key Infrastructure,公钥基础设施

– 公钥:主要用来加密数据

– 私钥:主要用来解密数据(与相应的公钥匹配)

– 数字证书:证明拥有者的合法性/权威性(单位名称、

有效期、公钥、颁发机构及签名、......)

– Certificate Authority,数字证书授权中心:负责证书

的申请/审核/颁发/鉴定/撤销等管理工作

HTTPS 加密Web通信(TCP 443端口)

– Secure Sockets Layer ,安全套接字层

– Transport Layer Security,安全传输层协议

实现条件

– 启用 SSL 模块支持

– 部署好加密素材:网站服务器的数字证书、网站服务

器的私钥、根证书(CA管理机构的证书)

虚拟机server0上操作:

1.安装mod_ssl软件包

[[email protected] ~]# yum -y install mod_ssl

[[email protected] ~]# ls /etc/httpd/conf.d/ssl.conf

2.部署网站的证书(营业执照)

# cd /etc/pki/tls/certs/

# wget http://172.25.254.254/pub/tls/certs/server0.crt

3.部署网站的根证书(公安局信息)

# cd /etc/pki/tls/certs/

# wget http://172.25.254.254/pub/example-ca.crt

4.部署私钥(用于解密)

# cd /etc/pki/tls/private/

# wget http://172.25.254.254/pub/tls/private/server0.key

5.修改配置文件/etc/httpd/conf.d/ssl.conf

<VirtualHost _default_:443>

59行  DocumentRoot "/webroot"

60行  ServerName server0.example.com:443

100行 SSLCertificateFile /etc/pki/tls/certs/server0.crt

107行SSLCertificateKeyFile /etc/pki/tls/private/server0.key

122行SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt

6.重起httpd服务

虚拟机desktop0上验证:

[[email protected] ~]# firefox https://server0.example.com

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

部署动态网站

静态网站的运行

服务端的原始网页 = 浏览器访问到的网页

动态网站的运行

服务端的原始网页 ≠ 浏览器访问到的网页

– 由Web服务软件接受请求,动态程序转后端模块处理

案例6:部署并测试WSGI站点

1.安装支持Python软件

[[email protected] /]# yum -y install mod_wsgi

2.切换到相应/var/www/nsd目录下载动态页面

# cd /var/www/nsd/

# wget http://172.25.254.254/pub/materials/webinfo.wsgi

# cat webinfo.wsgi

3.在Desktop0上查看,可以看到源代码

# firefox  webapp0.example.com/webinfo.wsgi

4.server0上修改 /etc/httpd/conf.d/nsd01.conf

/var/www/nsd  ==== 客户端的 /

<VirtualHost  *:80>

DocumentRoot  /var/www/nsd

ServerName  webapp0.example.com

alias  /  /var/www/nsd/webinfo.wsgi

</VirtualHost>

5.重起httpd服务验证

6.验证

# elinks  -dump   webapp0.example.com

7.server0上修改 /etc/httpd/conf.d/nsd01.conf

/var/www/nsd  ==== 客户端的 /

<VirtualHost  *:80>

DocumentRoot  /var/www/nsd

ServerName  webapp0.example.com

wsgiscriptalias  /  /var/www/nsd/webinfo.wsgi

</VirtualHost>

8.重起httpd服务验证

9.验证

# elinks  -dump   webapp0.example.com

UINX时间戳:自1970-1-1  0:0:0到达当前所经过的秒数

10.修改webapp0.example.com监听端口8909

server0上修改 /etc/httpd/conf.d/nsd01.conf

Listen 8909

<VirtualHost *:8909>

DocumentRoot /var/www/nsd

ServerName webapp0.example.com

wsgiscriptalias / /var/www/nsd/webinfo.wsgi

</VirtualHost>

11. SELinux 限制非默认端口  8909

# semanage port -l  |  grep http       #查看允许的端口

# semanage port -a  -t  http_port_t  -p tcp 8909  #添加端口

# semanage port -l | grep http

# elinks -dump webapp0.example.com:8909

时间: 2024-10-30 09:00:10

Linux 虚拟web相关的相关文章

Linux中的的虚拟WEB主机的几点总结

Linux中的虚拟WEB主机几点注意与备忘 听着钢琴曲,第一次开始写博客. 其实有点疲惫,因为上课了一整天,晚上还搭建了一遍服务.但是难以掩住第一次写博客的心情. 还原虚拟机的命令:rht-vmctl reset 主机名 一般搭建一个服务的基本思想:装包,配置,起服务 为保证实验,上来先把Firewall干掉,之后如果不懂selinux也可以把这个烦人的皇帝干掉. 虚拟web主机有三种方式:端口,域名,ip地址,一般用的是前两种. 基于域名的:一个ip地址有多个域名. httpd服务的Docum

基于Nginx搭建Web服务器及虚拟主机相关配置详解

随着计算机与Internet技术的高速发展,各种各样的Web站点也就成为面向用户的中坚力量.在各种网站服务器软件中.除了Apache外,还有一款轻量级的HTTP服务器软件--Nginx. 基于Apache搭建Web服务器可以参考博文:基于Apache搭建Web服务器详解 一.Nginx服务简介 Nginx由俄罗斯的lgor Sysoev开发,专为性能优化而开发,其最知名的优点就是它的稳定性和低系统资源消耗.以及对HTTP并发连接的高处立能力(单台物理服务器可支持30000~50000个并发请求)

Linux之Web服务(2)Httpd服务配置之四

Linux之Web服务(2)Httpd服务配置之四 前言 接上一篇的虚拟主机,本片主要介绍虚拟主机的一些搭建和部署,本篇通过一个具体的案例来显示虚拟主机的作用和特性. 案例功能介绍: (1) 准备DNS解析3个域名或者添加/etc/hostst/3条主机名IP档案,解决域名解析 (2) 基于主机名实现三个虚拟主机 (3) 每虚拟主机使用独立的访问日志和错误日志 (4) 在第二个虚拟主机上提供/status: (5) 在第三个虚拟主机提供路径别名/bbs,访问其它文件系统路径: (6) 第三个虚拟

【I am a coder】Linux虚拟主机配置终极篇

Linux虚拟主机配置 一.概述 虚拟主机(Virtual Host),又称虚拟服务器.主机空间或是网页空间,是一种网络技术,可以让多个主机名称,在一个单一的服务器上运作,而且可以分开支持每个单一的主机名称.虚拟主机可以运行多个网站或服务.虚拟并非指不存在,而是指空间是由实体的服务器延伸而来,其硬件系统可以是基于服务器群,或者单个服务器.其技术是互联网服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应用于HTTP.FTP.EMAIL等多项服务,将一台服务器的某项或者全部服务内容逻辑划分为多

linux虚拟机上lvs-nat的实现

一.lvs-nat LVS是Linux Virtual Server的简写,意即Linux虚拟服务器.是由章文嵩博士开发的一个在内核层面的负载均衡调度器. lvs是在netfilter的INPUT链上根据我们制定的调度规则将特定目标地址和端口的数据包转发到后面的特定主机的,由于是工作于内核空间,所以工作效率高,经过优化最高可达400万的并发量调度. lvs的实现需要两部分:ipvs, ipvsadm ipvs是协议规则,ipvsadm是实现ipvs的工具,跟iptables具有极高的相似性. 定

LVS (Linux虚拟服务器)

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. 宗旨 编辑 使用集群技术和Linux操作系统实现一个高性能.高可用的服务器. 很好的可伸缩性(Scalability) 很好的可靠性(Reliability) 很好的可管理性(Manageability).[1] 特点 编辑 可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份).我

Linux之web服务

在互联网飞速发展的今天,大家最常用的就是利用互联网访问网站,今天就来为大家介绍一下如何在Linux下搭建web站点. 一.WEB简介 Web本意是蜘蛛网和网的意思,在网页中我们常称为网页,其表现形式主要有三种:超文本.超媒体.超文本传输协议. 1.web服务的链接是怎么实现的 基于套接字实现:用来建立本地进程与设备的关联关系.(IP+端口) 众所周知的公用端口:0-1023 只有管理员才有权限,永久分配给某应用 1024-41651 注册端口,只有一部分端口被注册 41953-65535 动态端

linux的web服务器配置与管理——创建用户个人主页

本实验用的是RedHat linux9.0,在虚拟机上进行操作,它已具有相当完善的可视化界面,这样用户会更加容易接受和理解. 首先呢就是虚拟机的相关配置,这个就不说了,当我们安装完系统后,打开终端,输入命令"rpm   -q   httpd",因为linux9.0已经安装了Apache服务,所以此时窗口会显示安装的版本信息,这就说明系统已成功安装Apache服务.接下来就是启动服务了,这里有几条命令如图所示: 第一条命令是查看服务的状态,开启还是关闭:第二条是启动Apache服务,然后

Linux之Web服务(2)Httpd服务配置之一

Linux之Web服务(2)Httpd服务配置之一 Apache HTTP Server Apache HTTP 服务器,简称Apache,是非常留下的Web服务器软件.通常和脚步语言比如PHP,数据库MySQL一起工作,合成为LAMP栈(Linux, Apache, MySQL, PHP). 当然流行的Web服务器还有nigix,但是nigix虽然轻量级很稳定,但是功能并不如Apache HTTP功能丰富,并且现在的Apache HTTP还支持模块化功能,及可以开发自己的功能模块并加入到此We