http作业

综合练习:请给openlab搭建web网站

网站需求:

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

网站需求1shell 复制代码
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# vim /etc/httpd/conf.d/vhosts.conf
<Virtualhost 192.168.126.140:80>
        DocumentRoot /www/openlab
        Servername www.openlab.com
</Virtualhost>
<Directory /www>
        AllowOverride none
        Require all granted
</Directory>
[root@localhost ~]# mkdir /www/openlab -p
[root@localhost ~]# echo 'welcome to openlab!!!' > /www/openlab/index.html
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# vim /etc/hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.126.140 www.openlab.com
[root@localhost ~]# curl http://www.openlab.com
welcome to openlab!!!

网站需求2

shell 复制代码
------------------------------------------------------------------------------------------------------------------
#教学资料
[root@localhost ~]# mkdir /www/openlab/data
[root@localhost ~]# echo this is data > /www/openlab/data/index.html
#data后一定要加/,否则系统会将data当成一个网页文件,解析不了
#但在浏览器中可以不加
[root@localhost ~]# curl http://www.openlab.com/data/
this is data
------------------------------------------------------------------------------------------------------------------
#学生信息
[root@localhost ~]# mkdir /www/openlab/student
[root@localhost ~]# echo this is student > /www/openlab/student/index.html
[root@localhost ~]# vim /etc/httpd/conf.d/vhosts.conf
<Virtualhost 192.168.126.140:80>
        DocumentRoot /www/openlab
        Servername www.openlab.com
</Virtualhost>
<Directory /www>
        AllowOverride none
        Require all granted
</Directory>
<Directory /www/openlab/student>
        AuthType Basic
        AuthName "Login...."
        AuthUserfile /etc/httpd/users
        Require user song tian
</Directory>
#创建用户song tian
[root@localhost ~]# htpasswd -c /etc/httpd/users song
New password: 
Re-type new password: 
Adding password for user song
[root@localhost ~]# htpasswd /etc/httpd/users tian
New password: 
Re-type new password: 
Adding password for user tian
#查看用户是否存在
[root@localhost ~]# cat /etc/httpd/users
song:$apr1$jmumSjZg$NQ/.Vwjd4Z2LQa3G8AA.g.
tian:$apr1$s0B0LyB/$dzg8iGYYrKIVqysi201TJ/
#对配置文件更改后需要重启服务
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# curl http://www.openlab.com/student/ -u song:123
this is student
------------------------------------------------------------------------------------------------------------------
#缴费网站
[root@localhost ~]# vim /etc/httpd/conf.d/vhosts.conf
<Virtualhost 192.168.126.140:80>
        DocumentRoot /www/openlab
        Servername www.openlab.com
</Virtualhost>
<Directory /www>
        AllowOverride none
        Require all granted
</Directory>
<Directory /www/openlab/student>
        AuthType Basic
        AuthName "Login...."
        AuthUserfile /etc/httpd/users
        Require user song tian
</Directory>
<Virtualhost 192.168.126.140:443>
        DocumentRoot /www/certs
        Servername www.openlab.com
        SSLEngine on
        SSLCertificateFile /certs/haha.crt
        SSLCertificateKeyFile /private/haha.key
</Virtualhost>
[root@localhost ~]# mkdir /www/certs
[root@localhost ~]# mkdir /www/certs/money
[root@localhost ~]# echo this is money > /www/certs/money/index.html
#安装加密模块ssl
[root@localhost ~]# yum install mod_ssl -y
#生成密钥
[root@localhost ~]# mkdir /certs
[root@localhost ~]# mkdir /private
[root@localhost ~]# openssl genrsa 2048 > /private/haha.key
[root@localhost ~]# openssl req -new -key /private/haha.key -x509 -days 365 -out /certs/haha.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]:86
State or Province Name (full name) []:shaanxi
Locality Name (eg, city) [Default City]:xian
Organization Name (eg, company) [Default Company Ltd]:ce
Organizational Unit Name (eg, section) []:11
Common Name (eg, your name or your server's hostname) []:hostname
Email Address []:admin@admin.com
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# curl -k https://www.openlab.com/money/
this is money
#测试
[root@localhost ~]# curl -k http://www.openlab.com
welcome to openlab!!!
[root@localhost ~]# curl -k http://www.openlab.com/data/
this is data
[root@localhost ~]# curl -k http://www.openlab.com/student/ -u tian:123
this is student
相关推荐
Mikko73 小时前
Linux 重启后日志没了?进程被 OOM 杀了去哪看?logrotate 之后日志还往旧文件写?三台真机实测日志与性能排查
linux·运维·centos
书生执笔画浮沉3 小时前
分享一个开源小工具CAdapt
linux·c·gnu·glibc·kernel·升级·灵感
mounter6254 小时前
Linux 内核热升级(Live Update)技术详解:PCI、VFIO 与 IOMMU 子系统的演进与实战解析引言
linux·linux kernel·kernel·iommu·vfio
墨神谕4 小时前
RPC框架与HTTP REST的区别
网络协议·http·rpc
砚凝霜4 小时前
【软考信息安全】第十九章 Unix/Linux安全分析与防护
linux·安全·unix
creator_Li5 小时前
Linux 的 Page Cache
linux·page cache
HY小宝F5 小时前
树莓派智能摄像头系统 30 天重学计划之 Day 04 · HTTP / API:控制链入口 —— 学习总结
网络协议·学习·http
蜗牛互联网6 小时前
Java标准HTTP调用多模态模型的票据抽取前置校验
java·人工智能·python·http
KING-WU5127 小时前
Linux GDB 调试实战指南:从编译到断点调试
linux·运维·服务器
Lucis__7 小时前
深入理解程序链接与加载—从动静态链接到库加载
linux·elf·链接·程序·动静态库