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
相关推荐
云飞云共享云桌面23 分钟前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq1 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮2 小时前
Linux 使用中的问题
linux·运维
dsywws3 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零4 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
小林熬夜学编程5 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
程思扬6 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
sun0077006 小时前
拷贝 cp -rdp 和 cp -a
linux·运维·服务器
wowocpp6 小时前
ubuntu 22.04 server 安装 anaconda3
linux·运维·ubuntu
乡村农夫6 小时前
cuda 环境搭建
linux