一、概念
服务:是运行在操作系统后台的一个或多个程序,(IP 访问权限)为用户或系统提供某项特定的服务,服务配置最多的是网络服务,网络服务通常就是为其他用户、其他计算机提供某项功能服务
www:world wide web的缩写,也就是全球信息广播的意思。通常说的上网就是使用www来查询用户所需要的信息。www可以结合文字、图形、影像以及声音等多媒体,并通过可以让鼠标单机超链接的方式将信息以internet传递到世界各处。与其他服务器类似,当你连接上www网站,该网站肯定会提供一些数据,而你的客户端则必须要使用可以解析这些数据的软件来处理,那就是浏览器。www服务器与客户端浏览器之间的连接图。
1.www所用的协议:用户通过浏览器/网站访问信息—超文本传输协议http(端口:80 8080)、https(端口:443,实现数据加密)
URI http://www.baidu.com/*.html:80
URL 绝对路径(yum源的配置)
2.www服务器需要提供可以让客户端浏览的平台。目前最主流的web服务器是Apache(免费的开源跨平台网络服务器软件,百度一下你就知道)、Microsoft的internet信息服务器IIS(平台还是Apache)和unix nginx
3.服务器所提供的最主要数据是超文本标记语言(HTML hyper text markup language)、多媒体文件(图片、影像、声音、文字等,都属于多媒体或超媒体),HTML只是一些纯文本数据,通过所谓的标记来规范所要显示的数据格式
4.客户端收到服务器的数据之后需要软件解析服务器所提供的数据,最后将效果呈现在用户的屏幕上,著名的浏览器就有内建在windows操作系统内的ie浏览器,还有火狐、谷歌等浏览器
URL:统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址
浏览器常用的协议:http、https、ftp等
Ip与域名(dns域名解析服务器)的对应关系:一对多,一个ip定义多个域名

IANA互联网数字分配机构
0-1023:永久的分配给固定的应用程序使用,特权端口(只有管理员有权限)
1024-41951:注册端口,分配给程序注册为某应用使用
41952-60000:客户端程序随机使用的端口,动态端口或私有端口

MIME类型 文件类型
text/html html、htm、shtml文本类型
text/css css文本类型
text/xml xml文本类型
image/gif gif图像类型
image/jpeg jpeg、jpg图像类型
application/javascript js文本类型
text/plain txt文本类型
application/json json文本类型
video/mp4 mp4视频类型
video/quicktime mov视频类型
video/x-flv flv视频类型
video/x-ms-wmv wmv视频类型
video/x-msvideo avi视频类型
http请求方法:在http通信中,每个http请求报文都包含一个方法,用以告诉web服务器需要执行哪些具体的动作,这些动作包括:获取指定页面、提交内容到服务器、删除服务器上资源文件等
服务端每次请求响应完成后会自动断开,而非手动断开
浏览器与服务器之间传递数据的方法相应状态
Get 请求指定的页面信息,并返回实体主体
Put 从客户端向服务器传送的数据取代指定的文档的内容(修改)
Post 向指定资源提交数据进行处理请求(例如提交表单或上传文件),数据被包含在请求体中。Post的请求可能会导致新的资源的建立或已有资源的修改(上传)
Delete 请求服务器删除指定的页面(删除)
Head 类似于get请求,只不过返回的相应中没有具体的内容,用于获取报头
Connect http/1.1协议中预留给能够连接方式改为管道方式的代理服务器(链接)
Options 允许客户端查看服务器的性能
Trace 回显服务器收到的请求,主要用于测试或诊断

状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:指示信息——表示请求已接收,继续处理
2xx:成功——表示信息已被成功接受、理解、接受
3xx:重定向——要完成请求必须进行更近一步的操作
4xx:客户端错误——请求有语法错误或请求无法实现
5xx:服务器端错误——服务器未能实现合法的要求
常见状态代码,状态描述的说明如下:
200 OK:客户端请求成功
400 Bad Request:客户端请求有语法错误,不能被服务器所理解
401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用
403 Forbidden:服务器收到请求,但是拒绝提供服务
404 Not Found:请求资源不存在,举个例子:输入了错误的URL
500 Internal Server Error:服务器发生不可预期的错误
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常
二、web网站搭建
C/S架构(客户端/服务端)、S/B架构(服务端/浏览器)
主服务器:通过当前主机就可以提供服务
从服务器:也称辅助、备份服务器,主服务器挂掉后充当主服务器的角色
代理服务器:s和c之间访问的实体
缓存服务器:浏览服务器形成缓存,下次浏览只需直接浏览缓存服务器,特殊的代理服务器
网关服务器:源ip地址 端口号
目标ip地址 端口号

静态网站:静态脚本语言编写,html
动态网站:动态脚本语言编写,jsp、php、python,可以连接后台数据库,与用户进行直接交互

1.服务端配置
1.1查看当前系统发行版本信息
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)
1.2安装软件,关闭防火墙和selinux
[root@localhost ~]# mount /dev/sr0 /mnt
[root@localhost ~]# vim /etc/yum.repos.d/base.repo
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1(可省略)
gpgcheck=0

[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
enabled=1(可省略)
gpgcheck=0

[root@localhost ~]# yum install httpd -y
释放装包的所有信息
[root@localhost ~]# rpm -ql httpd 若软件存在依赖关系不会动态处理,必须手动配置

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
永久生效
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# vim /etc/selinux/config
SELINUX=permissive
1.3启动服务
[root@localhost ~]# systemctl start httpd
1.4列出程序包释放列表
[root@localhost ~]# tree /etc/httpd
1.5客户端测试
浏览器输入网址 http://192.168.142.138/
2.自定义欢迎界面
2.1自定义网站地址
[root@localhost ~]# cd /var/www/html
[root@localhost html]# ll
总用量 0
2.2搭建网站信息
[root@localhost html]# vim index.html
helloworld!
2.3刷新网页,出现 helloworld! 字样
2.4创建子界面1
[root@localhost html]# mkdir 1
[root@localhost html]# vim 1/index.html
this is 1
2.5访问http://192.168.142.138/1/index.html 网页,出现 this is 1 字样

案例一:访问apache欢迎界面–s/c架构
服务端——1.使用yum安装httpd软件包,关闭防火墙和selinux
2.启动服务程序,第一次启动 systemctl enable httpd --now
(enable --now=start当前运行状态临时生效+enable开机启用)
客户端——1.浏览器 http://192.168.142.138:80

案例二:自定义网站文件信息
服务端——vim /var/www/html/index.html
自定义内容
客户端——测试
3.配置文件详解
[root@localhost html]# rpm -ql httpd | head -20
/etc/httpd/conf 主配置目录
/etc/httpd/conf.d 子(辅助)配置目录
/etc/httpd/conf.modules.d 子模块配置目录

3.1主配置文件–httpd.conf
[root@localhost html]# cd /etc/httpd/conf
[root@localhost conf]# ll
总用量 28
-rw-r–r--. 1 root root 11899 12月 2 2019 httpd.conf
-rw-r–r--. 1 root root 13064 12月 2 2019 magic
[root@localhost conf.d]# vim /etc/httpd/conf/httpd.conf
34 ServerRoot “/etc/httpd” 服务的主目录(配置当中所涉及到的文件的主路径)
45 Listen 80 监听端口信息(可监听多个)
69 User apache 所属用户发起者信息
70 Group apache 所属组发起者信息
89 ServerAdmin root@localhost 服务管理员
98 #ServerName www.example.com:80 可取消注释,更改内容为ip地址、缺省地址
105 html的标签格式,局部生效
106 AllowOverride none 多个标记不允许覆盖
107 Require all denied 请求所有被拒绝
108
127 <Directory “/var/www”> 允许在前,拒绝在后
128 AllowOverride None
129 # Allow open access:
130 Require all granted 请求所有被允许
131
122 DocumentRoot “/var/www/html” 文本的主目录(网站的主界面文件路径)
147 Options Indexes FollowSymLinks
166 目录模块
167 DirectoryIndex index.html 目录索引
168
174 <Files “.ht*”> 隐藏文件
175 Require all denied
176
185 ErrorLog “logs/error_log” 错误日志信息
192 LogLevel warn 日志等级
223 别名模块
319 AddDefaultCharset UTF-8 字符集

3.2子配置文件–welcome.conf userdir.conf autoindex.conf
[root@localhost conf]# cd /etc/httpd/conf.d/
[root@localhost conf.d]# ll
总用量 20
-rw-r–r--. 1 root root 2926 12月 2 2019 autoindex.conf
-rw-r–r--. 1 root root 1618 11月 8 2019 php.conf
-rw-r–r--. 1 root root 400 12月 2 2019 README
-rw-r–r--. 1 root root 1252 12月 2 2019 userdir.conf
-rw-r–r--. 1 root root 516 12月 2 2019 welcome.conf
[root@localhost conf.d]# vim /etc/httpd/conf.d/welcome.conf
Alias /.noindex.html /usr/share/httpd/noindex/index.html 文件路径

3.3模块文件不建议修改
4.自定义多网站
示例信息
[root@localhost conf.d]# rpm -ql httpd | grep vhosts
/usr/share/doc/httpd/httpd-vhosts.conf
[root@localhost conf.d]# vim /usr/share/doc/httpd/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot “/var/www/dummy-host.example.com”
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog “/var/log/httpd/dummy-host.example.com-error_log”
CustomLog “/var/log/httpd/dummy-host.example.com-access_log” common

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot “/var/www/dummy-host2.example.com”
ServerName dummy-host2.example.com
ErrorLog “/var/log/httpd/dummy-host2.example.com-error_log”
CustomLog “/var/log/httpd/dummy-host2.example.com-access_log” common

通过当前主机搭建多个网站 http://ip域名:80
4.1首先配置当前ip搭建一个网站
[root@localhost conf.d]# vim /etc/httpd/conf.d/vhosts.conf
<VirtualHost 192.168.142.138:80>

ServerAdmin A

    ServerName 192.168.142.138DocumentRoot /A

ErrorLog “/var/log/httpd/dummy-host2.example.com-error_log”

CustomLog “/var/log/httpd/dummy-host2.example.com-access_log” common

<VirtualHost 192.168.142.200:80>
ServerName www.haha.com
DocumentRoot /200/haha

[root@localhost ~]# mkdir -p /200/haha
[root@localhost ~]# echo this is haha > /200/haha/index.html
[root@localhost ~]# systemctl restart httpd
浏览器的客户端指令
[root@localhost ~]# curl http://192.168.142.138
aaaaaaa
[root@localhost ~]# curl http://www.haha.com
this is haha
添加同一主机,优先访问第一个
4.6客户端添加域名关联信息
windows下添加域名关联信息
cmd格式输入drivers–etc–hosts–记事本打开–末行添加:ip(空格)域名
Linux下添加域名关联信息
[root@localhost ~]# vim /etc/hosts
192.168.142.200 www.haha.com
5.排错方式
[root@localhost httpd]# httpd -t 显示语法有无配置错误
[root@localhost ~]# systemctl status httpd 查看当前系统的服务状态信息
[root@localhost ~]# journalctl -xe 查看系统的全局日志信息
显示not found,可能是安装包名不正确、未安装包

重启服务较慢,更改域名解析优化服务
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
98 ServerName 0.0.0.0:80
6.虚拟目录和用户控制的web网站
为了便于对网站资源进行灵活管理,还可以把这些文件存放再本地计算机的其他文件夹中或者其他计算机的共享文件夹中,然后再把这个文件夹映射到主目录的一个目录上,这个文件夹被称为“虚拟目录”。每个虚拟目录都有一个别名,这样用户就可以通过这个虚拟目录的别名来访问与之对应的真实文件夹中的资源了。虚拟目录的好处是在不需要改变别名的情况下,可以随时改变其对应的文件夹
AuthType basic 基本认证类型(账号)
AuthName “please login:” 提示信息,双引号必须有,可以更换为其他提示信息
AuthUserFile /etc/httpd/users 用户认证文件的用户名和密码指定的文件所在位置
Require user xiaoming xiaohua 指定这两个用户可以访问该服务器(valid-user 允许有效的用户)
Require all granted 允许所有
Require all denied 拒绝所有
Require user username [userid] 允许特定用户
Require group group-name [group-id] 允许特定用户组
Require valid-user 允许有效的用户
Require ip 10 172.20 允许特定ip或ip段,多个ip或ip段间使用空格隔开
注意:使用require指令时,需要在指令外添加标签对,否则重启将会出现错误

[root@localhost ~]# mkdir /var/ftp/pub
[root@localhost ~]# echo this is pub > /var/ftp/pub/index.html
[root@localhost ~]# ll /var/ftp/pub/
总用量 4
-rw-r–r--. 1 root root 12 8月 13 10:03 index.html
[root@localhost ~]# vim /etc/httpd/conf.d/vhosts.conf
<Directory /100>
AllowOverride none
Require all granted

<Directory /var/ftp>
AllowOverride none
Require all granted

<VirtualHost 192.168.142.100:80>
ServerName 192.168.142.100
alias /pub /var/ftp/pub 虚拟目录名称 真实目录路径
DocumentRoot /100

[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# curl http://192.168.142.100/pub/
this is pub

[root@localhost ~]# vim /etc/httpd/conf.d/vhosts.conf
<Directory /var/ftp>
AuthType Basic
AuthName “Please login…”
AuthUserFile /etc/httpd/users
Require user xiaoming xiaobai

[root@localhost ~]# cd /etc/httpd
添加用户
[root@localhost httpd]# htpasswd -c users xiaobai
New password:
Re-type new password:
Adding password for user xiaobai
[root@localhost httpd]# htpasswd users xiaoming(加-c会覆盖之前创建的用户)
New password:
Re-type new password:
Adding password for user xiaoming
[root@localhost httpd]# htpasswd users xiaoli
New password:
Re-type new password:
Adding password for user xiaoli
[root@localhost httpd]# systemctl restart httpd
浏览器测试(输入用户名密码)
http://192.168.142.100/pub/
this is pub
清理缓存(关闭浏览器时)

7.通过http实现文件共享
Options+indexes 如果输入的网址对应服务器上的一个文件目录,而此目录中又没有directoryindex指令,那么服务器会返回由mod_autoindex模块生成的一个格式化后的目录列表,并列出该目录下的所有文件(index前:+代表允许目录浏览,-代表禁止目录浏览)
[root@localhost httpd]# cd /100
[root@localhost 100]# ll
总用量 4
-rw-r–r--. 1 root root 12 8月 13 11:48 index.html
[root@localhost 100]# rm -rf index.html
[root@localhost 100]# ll
总用量 0
[root@localhost 100]# touch {1…10}
[root@localhost 100]# vim /etc/httpd/conf.d/vhosts.conf
<Directory /100>
AllowOverride none
Options +Indexes 索引目录列表
Require all granted

[root@localhost 100]# systemctl restart httpd
备份文件
[root@localhost 100]# mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak
[root@localhost 100]# systemctl restart httpd
刷新浏览器页面 http://192.168.142.100/
显示文件的目录列表,可以将文件复制到主机
三、https
超文本传输协议HTTP协议被用在web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此http协议不适合传输一些敏感信息。为了解决这一缺陷,需要另外一种协议:安全套接字层超文本传输协议HTTPS
HTTPS:超文本传输安全协议,是以安全为目标的http通道,https=http+ssl(应用层和传输层之间)。

SSL协议分为两层:
SSL记录协议,它建立在可靠的传输协议(TCP之上),为高层协议提供数据封装、压缩、加密等基本功能
SSL握手协议,它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等

SSL协议提供的服务:
认证用户和服务器,确保数据发送到正确的客户机和服务器
加密数据以放置数据中途被窃取
维护数据的完整性,确保数据在传输过程中不被改变

认证密钥:对称密钥(加密 解密)
非对称密钥(公钥–数据加密,私钥–数据解密)

认证服务器:浏览器内置一个受信任的CA机构列表,并保存了这些CA机构的证书。第一阶段服务器会提供经CA机构认证颁发的服务器证书,如果认证该服务器证书的CA机构,存在于浏览器的受信任CA机构列表中,并且服务器证书中的信息与当前正在访问的网站(域名等)一致,那么浏览器就认为服务端是可信的,并从服务器证书中取得服务器公钥,用于后续流程。否则,浏览器将提示用户,根据用户的选择,决定是否继续。当然,我们可以管理这个受信任CA机构列表,添加我们想要信任的CA机构,或者移除我们不信任的CA机构。
协商会话密钥:客户端在认证完服务器,获得服务器的公钥之后,利用该公钥与服务器进行加密通信,协商出两个会话密钥,分别是用于加密客户端往服务端发送数据的客户端会话密钥,用于加密服务端往客户端发送数据的服务端会话密钥。在已有服务器公钥,可以加密通讯的前提下,还要协商两个对称密钥的原因是因为非对称加密相对复杂度更高,在数据传输过程中,使用对称加密,可以节省计算资源。另外,会话密钥是随机生成,每次协商都会有不一样的结果,所以安全性也比较高。
加密通讯:此时客户端服务器双方都有了本次通讯的会话密钥,之后传输的所有Http数据,都通过会话密钥加密。这样网路上的其它用户,将很难窃取和篡改客户端和服务端之间传输的数据,从而保证了数据的私密性和完整性。

X509通用的证书包含的三个文件:
key是私钥文件
csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名
crt是证书颁发机构签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息
证书包含以下字段:
版本号:证书所遵循的 X.509 标准的版本。
序列号:唯一标识证书且由证书颁发机构颁发的编号。
签名算法: CA用于对证书进行数字签名的hash算法。
证书签名:
颁发者名称:实际颁发该证书的证书颁发机构的标识。
有效期:数字证书保持有效的时间段,并包含起始日期和过期日期。
使用者名称:数字证书所有者的姓名。
使用者公钥信息:与数字证书所有者关联的公钥以及与该公钥关联的特定公钥算法。
颁发者唯一标识符:可以用来唯一标识数字证书颁发者的信息。
使用者唯一标识符:可以用来唯一标识数字证书所有者的信息。
扩充信息:与证书的使用和处理有关的其他信息。
证书颁发机构的数字签名:使用指纹算法中指定的HASH算法以及证书颁发机构的私钥进行加密的数字签名。

自定义加密网站信息
[root@localhost ~]# mount /dev/sr0 /mnt
[root@localhost ~]# yum install mod_ssl -y,同时关闭防火墙和selinux
[root@localhost ~]# cd /etc/httpd/conf.d/
[root@localhost conf.d]# ll
-rw-r–r--. 1 root root 8720 12月 2 2019 ssl.conf
[root@localhost conf.d]# vim /etc/httpd/conf.d/vhosts.conf
<Directory /200>
AllowOverride none
Require all granted

<VirtualHost 192.168.142.200:443>
ServerName 192.168.142.200
DocumentRoot /200/haha
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/openlab.crt
SSLCertificateKeyFile /etc/pki/tls/private/openlab.key

制作证书(无密码验证)
[root@localhost conf.d]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout /etc/pki/tls/private/openlab.key -x509 -days 365 -out /etc/pki/tls/certs/openlab.crt
Country Name (2 letter code) [XX]:86
State or Province Name (full name) []:shannxi
Locality Name (eg, city) [Default City]:xian
Organization Name (eg, company) [Default Company Ltd]:openlab
Organizational Unit Name (eg, section) []:ce
Common Name (eg, your name or your server’s hostname) []:localhost
Email Address []:admin@admin.com
[root@localhost conf.d]# ll /etc/pki/tls//certs/
-rw-r–r--. 1 root root 2106 8月 13 15:09 openlab.crt
[root@localhost conf.d]# ll /etc/pki/tls//private/
-rw-------. 1 root root 3272 8月 13 15:06 openlab.key
[root@localhost conf.d]# systemctl restart httpd
浏览器输入网址 https://192.168.142.200/
点击信任

重新删除之后,生成私钥文件(有密码验证)
[root@localhost conf.d]# rm -rf /etc/pki/tls/private/openlab.key
[root@localhost conf.d]# rm -rf /etc/pki/tls/certs/openlab.crt
[root@localhost conf.d]# openssl genrsa -aes128 2048 > /etc/pki/tls/private/openlab.key输入密码
[root@localhost ~]# openssl req -utf8 -new -key /etc/pki/tls/private/openlab.key -x509 -days 365 -out /etc/pki/tls/certs/openlab.crt
Enter pass phrase for /etc/pki/tls/private/openlab.key:
Country Name (2 letter code) [XX]:86
State or Province Name (full name) []:shannxi
Locality Name (eg, city) [Default City]:xian
Organization Name (eg, company) [Default Company Ltd]:openlab
Organizational Unit Name (eg, section) []:ce
Common Name (eg, your name or your server’s hostname) []:localhost
Email Address []:admin
[root@localhost ~]# systemctl restart httpd
Enter TLS private key passphrase for 192.168.142.200:443 (RSA) : ******

忽略证书(-k)
[root@localhost ~]# curl -k https://192.168.142.200
案例:加密网站的搭建
1.yum install mod_ssl -y
2.vim /etc/httpd/conf.d/vhosts.conf
<Directory /200>
AllowOverride none
Require all granted

<VirtualHost 192.168.142.200:443>
ServerName 192.168.142.200
DocumentRoot /200/haha
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/openlab.crt
SSLCertificateKeyFile /etc/pki/tls/private/openlab.key

[root@localhost conf.d]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout /etc/pki/tls/private/openlab.key -x509 -days 365 -out /etc/pki/tls/certs/openlab.crt
四、搭建动态网站
[root@localhost ~]# cd /var/www/cgi-bin/
[root@localhost cgi-bin]# vim /etc/httpd/conf.d/host.conf
<Directory /200>
AllowOverride none
Require all granted

<VirtualHost 192.168.142.200:80>
DocumentRoot /200/haha/wordpress
ServerName 192.168.142.200

重启httpd服务
[root@localhost 200]# cd /200/haha/
[root@localhost haha]# rm -rf index.html
使用rz命令上传压缩包
unzip 压缩包名称 解压压缩包

数据库
[root@localhost haha]# yum -y install mariadb-server
[root@localhost haha]# systemctl restart mariadb.service
初始化数据库
[root@localhost haha]# mysql_secure_installation
回车–Y--输入密码–n--一直n
[root@localhost ~]# mysql -uroot -predhat 指定用户和密码
show databases; 查看数据库
Create database boke; 创建博客数据库
exit 退出
[root@localhost haha]# systemctl restart mariadb.service

安装对应的解析程序
[root@localhost ~]# yum install php* -y
pwd 查看当前路径
通过浏览器验证

案例:请给openlab搭建web网站
1.基于域名www.openlab.com可以访问网站内容为welcome to openlab!!!
首先挂载镜像,配置yum源,安装httpd包,开启该服务,关闭防火墙和sellinux
[root@localhost ~]# mount /dev/sr0 /mnt
[root@localhost ~]# vim /etc/yum.repos.d/base.repo
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0

[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
创建目录,添加显示字样
[root@localhost ~]# mkdir /openlab
[root@localhost ~]# echo welcome to openlab!!! > /openlab/index.html
编辑vim
[root@localhost ~]# vim /etc/httpd/conf.d/host.conf
<Directory /openlab>
AllowOverride none
Require all granted

<VirtualHost 192.168.142.138:80>
DocumentRoot /openlab
ServerName www.openlab.com

添加域名访问信息
[root@localhost ~]# vim /etc/hosts
192.168.142.138 www.openlab.com
重启服务
[root@localhost ~]# systemctl restart httpd
测试
[root@localhost ~]# curl www.openlab.com
welcome to openlab
2.给该公司创建三个子界面分别显示学生信息、教学资料和缴费网站,基于www.openlab.com/student网站访问学生信息,www.openlab.com/data网站访问教学资料,www.openlab.com/money网站访问缴费网站
[root@localhost ~]# mkdir -pv /openlab/{student,data,money}
mkdir: 已创建目录 ‘/openlab/student’
mkdir: 已创建目录 ‘/openlab/data’
mkdir: 已创建目录 ‘/openlab/money’
[root@localhost ~]# echo 学生信息 > /openlab/student/index.html
[root@localhost ~]# echo 教学资料 > /openlab/data/index.html
[root@localhost ~]# echo 缴费网站 > /openlab/money/index.html
3.学生信息网站只有song和tian两人可以访问,其他用户不能访问
[root@localhost ~]# vim /etc/httpd/conf.d/host.conf
<Directory /openlab/student>
AuthType Basic
AuthName “请输入用户名,密码”
AuthUserFile /etc/httpd/users
Require user song tian
[root@localhost ~]# htpasswd -c users song
New password:
Re-type new password:
Adding password for user song
[root@localhost ~]# htpasswd users tian
New password:
Re-type new password:
Adding password for user tian
访问缴费网站实现数据加密基于https访问
root@localhost ~]# mkdir -p /openlab1/money
[root@localhost ~]# echo 缴费 > /openlab1/money/index.html
[root@localhost ~]# vim /etc/httpd/conf.d/host.conf
<Directory /openlab1>
AllowOverride none
Require all granted

<VirtualHost 192.168.142.138:443>
DocumentRoot /openlab1/money
ServerName www.openlab.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/openlab.crt
SSLCertificateKeyFile /etc/pki/tls/private/openlab.key

[root@localhost ~]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout /etc/pki/tls/private/openlab.key -x509 -days 365 -out /etc/pki/tls/certs/openlab.crt
Country Name (2 letter code) [XX]:86
State or Province Name (full name) []:shannxi
Locality Name (eg, city) [Default City]:xian
Organization Name (eg, company) [Default Company Ltd]:openlab
Organizational Unit Name (eg, section) []:ce
Common Name (eg, your name or your server’s hostname) []:localhost
Email Address []:admin

RHCE------HTTP相关推荐

  1. php 删除硬链接,RHCE系列之文件管理----硬链接和软链接

    Linux 文件系统最重要的特点之一是它的文件链接. 链接是对文件的引用,这样你可以让文件在文件系统中多处被看到. 在 Linux 中,链接可以如同原始文件一样来对待.链接可以与普通的文件一样被执行. ...

  2. RHCE认证培训+考试七天实录(二)

    第二天(11月27日) 第二天的主要内容是搭建vsftpd服务器和postfix邮件服务器. 一.vsftpd服务器 1.FTP服务的一些基本概念 (1)FTP连接方式 控制连接:标准端口为21,用于 ...

  3. 特别推荐:RHCE考试经验

    特别推荐:RHCE考试经验 RHCE考试经验 RHCE在每科考试之前都必须签署不得于考后泄题的同意书,违者会被取消 RHCE资格,这造成了RHCE的考古题取得不易,及RHCE的重考率高.一方面RHCE ...

  4. intel的linux证书过期,rhce证书过期了可以怎么办

    rhce证书过期了怎么办?我么一起来了解一下吧. 红帽rhce证书是没有有效使用期的,但是如果想进一步考rhca,就只有三年的有效时间,超过三年时间之后想要刷新证书,只需要重新参加一次考试就可以了. ...

  5. 9月份准备备考RHCE 10份考试争取一次通过

    这些天一值在考虑要不要试着去考RHCE ,通过在51CTO认识的朋友们说RHCE不是那么的难考,可是现实中说的让我很失望,,说怎么怎么的难考...我都没信心了. 不过这几天在51CTO混的让我认识了几 ...

  6. 七天入门linux,RHCE认证学习笔记-第七天

    RHCE认证学习笔记-第七天 1.系统启动过程: BIOS初始化-->引导程序(Bootloader)-->内核初始化-->进程(Init)-->用户程序 (1)BIOS初始化 ...

  7. RHCE系列之LVM----理论篇

    LVM作为在内核2.4.x版本开始引入的一个新的功能,受到大家的不断关注和使用.随着内核版本的升级,现在2.6.x内核中,lvm已经升级到了2.02.98版本了.鉴于当前,LVM的广泛应用和在RHCE ...

  8. RHCE课程-RH131Linux管理笔记五-Linux远程登陆telnet及ssh服务

    telnet相信大家都不陌生,在RHCE课程-RH131Linux管理笔记三-linux系统服务介绍及管理里面我们已经配置过了,我也不多做介绍,直接说安装吧. 使用yum安装的前提是你已经配置好YUM ...

  9. RHCE是否还值得考取?

    2019独角兽企业重金招聘Python工程师标准>>> 工作了也已经有了2年左右的时间,平常也会接触到各种各样的技术,但是老本行还是运维,那么对于Linux还是比较感兴趣的,也加了各 ...

  10. RHCE笔记1-安裝

    RHCE视频已经是第三次看了,前两次是台湾版的视频,这次是看尚观的视频.两者的优劣在这里就不多做评价了. 前两次是在大约一年前看的,第一次看是粗略的浏览了一次,第二次是跟着视频一步一步跟着做,但也有很 ...

最新文章

  1. 上三角矩阵的特征值分解
  2. js的object的key需要引号吗,JavaScript中对象是否需要加引号?
  3. iOS 提交审核注意事项
  4. java拾遗录(一)
  5. 【图像超分辨率】Understanding Deformable Alignment in Video Super-Resolution
  6. jquery中json数据转换为字典
  7. ASP.NET 学习笔记_06 Httphandler
  8. 3章.Linux主机规划和磁盘分区
  9. 转:[kipmi0]进程导致系统负载高
  10. 如何处理Oracle中TEMP表空间满的问题(转载)
  11. IntelliJ IDEA+Maven运行apache-storm的LocalCluster例子
  12. 编译OpenJDK12:可以用VS2010到VS2017
  13. 如何修改html代码,如何修改网页源代码
  14. Python——对象
  15. Shiro框架基本知识及应用
  16. js逐步教你实现原生汇率计算器系统(html逻辑 css逻辑 js逻辑)
  17. 用python和adb将一加便签内容迁移到小米或其他品牌便签软件
  18. 「数据库」sql刷题(No.11)
  19. 如何在scrapy中捕获并处理各种异常
  20. 学python哪个app比较好_初学python编程,有哪些不错的软件值得一用?

热门文章

  1. c语言显示指定字符,c语言如何查找字符串指定字符
  2. 初中计算机课的学情分析,初中信息技术课的现状与分析
  3. pyqt5制作俄罗斯方块小游戏-----源码解析
  4. jedis 实战使用
  5. Weibull Distribution韦布尔分布的深入详述(1)原理和公式
  6. 研发4面真题解析(Java岗):java高级程序设计考试试题
  7. TMS320C6748 EMIF时钟配置
  8. 网站的开发流程介绍(转)
  9. JAVA三大支柱之多态
  10. 新书《区块链实战》中信出版:破除迷思 推动技术落地 | ArcBlock 新闻