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
相关推荐
冬天vs不冷36 分钟前
Linux用户与权限管理详解
linux·运维·chrome
凯子坚持 c1 小时前
深入Linux权限体系:守护系统安全的第一道防线
linux·运维·系统安全
✿ ༺ ོIT技术༻2 小时前
C++11:新特性&右值引用&移动语义
linux·数据结构·c++
watermelonoops5 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
疯狂飙车的蜗牛6 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
远游客07138 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<8 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟8 小时前
centos-stream9系统安装docker
linux·docker·centos
超爱吃士力架8 小时前
邀请逻辑
java·linux·后端
njnu@liyong10 小时前
图解HTTP-HTTP报文
网络协议·计算机网络·http