Web服务器实战-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

网站需求

1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!!
2.给该公司创建三个网站目录分别显示学生信息教学资料和缴费网站基于www.openlab.com/student 网站访问学生信息www.openlab.com/data网站访问教学资料
www.openlab.com/money网站访问缴费网站。
3.要求
1学生信息网站只有song和tian两人可以访问其他网站所有用户用能访问。
2访问缴费网站实现数据加密基于https访问。

准备

1.需要两台Linux虚拟机一台为服务端server另一台为客户端client
server IPV4192.168.110.136/24                client  IPV4192.168.110.134/24
2.服务端需要关闭防火墙和Linux的安全服务seLinux
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0
[root@server ~]# getenforce 
Permissive

3.安装httpdmol_ssl
[root@server ~]# yum install -y httpd mod_ssl

配置

1.客户端通过IP地址可以正常访问服务端内容

[root@server ~]# mkdir -v /openlab/                       #创建目录
已创建目录 '/openlab/' 
[root@server ~]# echo "welcome to openlab" > /openlab/index.html  #写入内容 
[root@server ~]# vim /etc/httpd/conf.d/openlab.conf            #打开httpd的额外参数配置文件 

<Directory "/openlab/">
        Options Indexes FollowSymLinks                                       
        AllowOverride None  

        Require all granted                 
</Directory>

<VirtualHost 192.168.110.136:80>
    ServerAdmin admin@outlook.com
    DocumentRoot "/openlab/"
    ServerName www.openlab.com
</VirtualHost>
[root@server ~]# httpd -t               #语法检测
Syntax OK
[root@server ~]# systemctl restart httpd         #重启服务

客户端访问

[root@client ~]# curl 192.168.110.136
welcome to openlab

2.搭建学生信息,教学资料,缴费网站页面

[root@server ~]# mkdir /openlab/{student,data,money} -v
mkdir: 已创建目录 '/openlab/student'
mkdir: 已创建目录 '/openlab/data'
mkdir: 已创建目录 '/openlab/money'

[root@server ~]# echo "学生信息" > /openlab/student/index.html      #写入内容
[root@server ~]# echo "教育网站" > /openlab/data/index.html           #写入内容
[root@server ~]# echo "缴费网站" > /openlab/money/index.html       #写入内容

首先配置student页面只有song和tian用户访问

[root@server ~]# htpasswd -c /etc/httpd/conf.d/httpd song    #创建sond的身份验证文件
New password: 
Re-type new password: 
Adding password for user song
[root@server ~]# htpasswd /etc/httpd/conf.d/httpd tian      #添加tain的身份验证文件
New password: 
Re-type new password: 
Adding password for user tian

[root@server ~]# cat /etc/httpd/conf.d/httpd
song:$apr1$XWPO6i0/$hNsM5W/Gx3ukFsPokAEEH.
tian:$apr1$SSblX1SO$YGyWDIuzZmCuLfhBnqn6m1

[root@server ~]# vim /etc/httpd/conf.d/openlab.conf    #在额外参数配置文件添加内容

<VirtualHost 192.168.110.136:80>
    ServerAdmin admin@outlook.com
    DocumentRoot "/openlab/student"
    ServerName www.openlab.com
</VirtualHost>
<Directory "/openlab/student">
        Options Indexes FollowSymLinks
        AllowOverride None
        AuthType Basic
        AuthName "Restricted Files"
        AuthUserFile "/etc/httpd/conf.d/httpd "    #身份验证文件的路径
        Require user song tian                         #允许访问的用户

</Directory>
[root@server ~]# httpd -t                             #语法检测
Syntax OK
[root@server ~]# systemctl restart httpd   #重启服务

客户端访问

[root@client ~]# curl 192.168.110.136/student/ -u song
Enter host password for user 'song':
学生信息
[root@client ~]# curl 192.168.110.136/student/ -u tian
Enter host password for user 'tian':
学生信息


其他用户访问

配置教学资料网站所有用户都可访问

[root@server ~]# vim /etc/httpd/conf.d/openlab.conf   #打开配置文件添加内容

<Directory "/openlab/data/">
Options Indexes FollowSymLinks
  AllowOverride None
Require all granted
</Directory>

<VirtualHost 192.168.110.136:80>
    ServerAdmin admin@outlook.com
    DocumentRoot "/openlab/data/"
    ServerName www.openlab.com
</VirtualHost>
[root@server ~]# httpd -t
Syntax OK
[root@server ~]# systemctl restart httpd
 

客户端访问

[root@client ~]# curl 192.168.110.136/data/
教育网站

配置缴费网站实现数据加密基于https访问

[root@server ~]# cd /etc/pki/tls/certs/                         #存放着一些证书文件

[root@server certs]# openssl genrsa 2048 >> openlab.key    #生成私钥文件
[root@server certs]# openssl req -utf8 -new -key openlab.key -x509 -days 100 -out openlab.crt     #生成证书
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:SN         #国家
State or Province Name (full name) []:CN     #省份
Locality Name (eg, city) [Default City]:XI'AN        #城市     
Organization Name (eg, company) [Default Company Ltd]:OPENLAB    #企业
Organizational Unit Name (eg, section) []:RHCE        #部门
Common Name (eg, your name or your server's hostname) []:www.openlab.com 域名
Email Address []:admi@outlook.com            #邮件
[root@server ~]# vim /etc/httpd/conf.d/openlab.conf

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

<Directory "/openlab/money/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
[root@server ~]# httpd -t
Syntax OK
[root@server ~]# systemctl restart httpd

客户端访问

[root@client ~]# curl https://192.168.110.136 -k    #-k为忽略证书访问
缴费网站
[root@client ~]# curl 192.168.110.136/money/ -k 
缴费网站

/etc/httpd/conf.d/openlab.conf配置文件最终内容

3.客户端通过域名可以正常访问服务端内容

在没有DNS域名解析服务器的情况下可以使用本机hosts文件hosts文件其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库"

在Linux下hosts文件地址为/etc/host

[root@client ~]# vim /etc/hosts                        #写入内容

192.168.110.136        www.openlab.com

[root@client ~]# curl www.openlab.com
welcome to openlab
[root@client ~]# curl www.openlab.com/student/ -u song
Enter host password for user 'song':
学生信息
[root@client ~]# curl www.openlab.com/student/ -u tian
Enter host password for user 'tian':
学生信息
[root@client ~]# curl www.openlab.com/data/
教育网站
[root@client ~]# curl https://www.openlab.com -k
缴费网站
[root@client ~]# curl www.openlab.com/money/ -k
缴费网站

在Windows客户端下hosts文件路径为C:\Windows\System32\drivers\etc\hosts  

添加内容浏览器访问即可

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 服务器