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
相关推荐
小小的木头人24 分钟前
Linux systemd Service 与 Timer 定时任务原理及实战
linux
熊明才1 小时前
WSL2 网络突然瘫痪(Network is unreachable / 没有 eth0)最短修复指南(2026年9月20日亲测可用)
linux·windows·wsl2
Tairitsu_H2 小时前
[Linux系统] 自动化构建make / Makefile | 进度条
linux·操作系统·makefile·make
行者全栈架构师2 小时前
大模型运维准确率不到 50%?我们用 DeepSeek V4 测了 5 大场景,结果出人意料
linux·人工智能·开源
zzzyyy5383 小时前
TCP 协议学习笔记:从报文格式到异常处理
linux·网络
傲世仙尊3 小时前
ELF与动态库进阶-链接真相与GOT表
linux
M78佐菲4 小时前
ARM学习笔记(五)
linux·arm开发·笔记·嵌入式硬件·学习
H_oRIZoN_4 小时前
Linux入门DAY45 IMX6ULL 裸机开发笔记:汇编点灯、C 语言点灯、GIC 中断梳理
linux·单片机·嵌入式硬件
临期冰淇淋5 小时前
Unisoc 展锐平台Camera摄像头分辨率适配
linux·c语言·驱动开发
流浪0016 小时前
Linux系统篇36——线程(一) 线程的概念、本质和Linux的实现方式
linux·面试·操作系统·线程