网络服务(第三次作业)
综合练习:请给openlab搭建web网站,网站需求:
1.基于域名www.openlab.com可以访问网站内容为welcome to openlab!!!
2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/student网站访问学生信息,www.openlab.com/date网站访问教学资料www.openlab.com/money. 网站访问缴费网站
3.要求
(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
(2)访问缴费网站实现数据加密基于https访问。
第一步:准备工作
a.关闭防火墙及SELinux
[root@master ~]# systemctl stop firewalld
[root@master ~]# systemctl enable firewalld
Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.
[root@master ~]# systemctl status firewalld
○ firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1)
[root@master ~]# getenforce
Disabled
b.安装所需软件
[root@master ~]# yum install nginx mod_ssl httpd-tools -y
[root@master ~]# systemctl start nginx
[root@master ~]# systemctl enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
c.在windows的C:\Windows\System32\drivers\etc\hosts 文件进行映射
第二步:创建www.openlab.com网站
a.创建网页目录及网页
[root@master ~]# mkdir -p /www/openlab
[root@master ~]# echo "welcom to openlab" > /www/openlab/index.html
b.编辑nginx配置文件(在38行写入代码)
[root@master ~]# vim /etc/nginx/nginx.confserver {listen 80;server_name www.openlab.com;root /www/openlab;
c.重启nginx
[root@master ~]# systemctl restart nginx
d.在Windows端打开浏览器输入www.openlab.com测试
第三步:创建教学资料子网站www.openlab.com/data
a.创建网页目录及网页
[root@master ~]# mkdir /www/openlab/data
[root@master ~]# echo "data" > /www/openlab/data/index.html
b.编写nginx配置文件(在42行接着往后写)
[root@master ~]# vim /etc/nginx/nginx.confserver {listen 80;server_name www.openlab.com;root /www/openlab;
server {listen 80;server_name www.openlab.com;root /www/openlab;location /data {alias /www/openlab/data;index index.html index.htm;}}
c.重启nginx
[root@master ~]# systemctl restart nginx
d.在Windows端打开浏览器输入www.openlab.com/data测试
第四步:创建学生信息子网站www.openlab.com/student
a.创建网页目录及网页
[root@master ~]# mkdir /www/openlab/student
[root@master ~]# echo "student" > /www/openlab/student/index.html
b.创建学生song和学生tian并创建密码(song密码123456,tian密码654321)
[root@master ~]# useradd song
[root@master ~]# passwd song
更改用户 song 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@master ~]# useradd tian
[root@master ~]# passwd tian
更改用户 tian 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
c.增加密码来控制访问
[root@master ~]# htpasswd -c /etc/nginx/passwd song
New password:
Re-type new password:
Adding password for user song
[root@master ~]# htpasswd /etc/nginx/passwd tian
New password:
Re-type new password:
Adding password for user tian
d.编写nginx配置文件(设置访问网站时需要验证密码,并在48行接着往后写)
[root@master ~]# vim /etc/nginx/nginx.confserver {listen 80;server_name www.openlab.com;root /www/openlab;location /data {alias /www/openlab/data;index index.html index.htm;}location /student{alias /www/openlab/student;index index.html index.htm;auth_basic "Please input password";auth_basic_user_file /etc/nginx/passwd;}}
e.重启nginx
[root@master ~]# systemctl restart nginx
f.在Windows端打开浏览器输入www.openlab.com/student测试
song学生登录界面:
tian学生登录界面:
第五步:创建缴费子网站www.openlab.com/money
a.创建网页目录及网页
[root@master ~]# mkdir /www/openlab/money
[root@master ~]# echo "money" > /www/openlab/money/index.html
b.在/etc/nginx目录下制作私钥文件money.key(密码为123456)
[root@master ~]# openssl genrsa -aes128 2048 > /etc/nginx/money.key
Generating RSA private key, 2048 bit long modulus (2 primes)
........................................................................+++++
...............................+++++
e is 65537 (0x010001)
Enter pass phrase: #输入加密私钥的密码为123456
Verifying - Enter pass phrase: #再输入一遍密码
c.制作证书
[root@master ~]# openssl req -utf8 -new -key /etc/nginx/money.key -x509 -days 365 -out /etc/nginx/money.crt
Enter pass phrase for /etc/nginx/money.key:
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) [AU]:86 #国家代码
State or Province Name (full name) [Some-State]:guangxi #省份
Locality Name (eg, city) []:guilin #城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:openlab#公司
Organizational Unit Name (eg, section) []:RHCE #部门
Common Name (e.g. server FQDN or YOUR name) []:master #主机名
Email Address []:jun@qq.com #邮箱
d.删除私钥需要验证的密码
[root@master ~]# cd /etc/nginx
[root@master nginx]# cp money.key money.key.org
[root@master nginx]# openssl rsa -in money.key.org -out money.key
Enter pass phrase for money.key.org: #输入私钥密码123456
writing RSA key
e.编写nginx配置文件(接着在57行接着往后写)
[root@master nginx]# vim /etc/nginx/nginx.confserver {listen 80;server_name www.openlab.com;root /www/openlab;location /data {alias /www/openlab/data;index index.html index.htm;}location /student{alias /www/openlab/student;index index.html index.htm;auth_basic "Please input password";auth_basic_user_file /etc/nginx/passwd;}
}server{listen 443 ssl http2;server_name www.openlab.com;location /money {alias /www/openlab/money;index index.html index.htm; }ssl_certificate "/etc/nginx/money.crt";ssl_certificate_key "/etc/nginx/money.key";}
f.重启nginx
[root@master nginx]# systemctl restart nginx