【LINUX操作系统】搭建web网络服务器
题目:
请给openlab搭建web网站
1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab
2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/data网站访问教学资料 www.openlab.com/money网站访问缴费网站。
3.要求
(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
(2)访问缴费网站实现数据加密基于https访问。
第一步:准备工作
[root@master ~]# systemctl status firewalld #查看防火墙状态
[root@master ~]# getenforce #查看selinux状态
[root@master ~]# yum install nginx mod_ssl -y #下载安装包
[root@master ~]# systemctl enable --now nginx #重新启动服务
[root@master ~]# mkdir -p /www/openlab #新建目录
[root@master ~]# mkdir /www/openlab/data #新建子目录
[root@master ~]# mkdir /www/openlab/student
[root@master ~]# mkdir /www/openlab/money
[root@master ~]# tree /www #查看创建结果
[root@master ~]# echo "welcome to openlab" > /www/openlab/index.html #将内容写入网页文件中
[root@master ~]# echo "data" > /www/openlab/data/index.html
[root@master ~]# echo "student" > /www/openlab/student/index.html
[root@master ~]# echo "money" > /www/openlab/money/index.html
[root@master ~]# tree /www
在windows中找到文件,将自己电脑的IP地址和域名写入其中后保存,就可以在自己电脑中用自己的IP地址和域名访问了。
配置文件格式一定:【主机的IP地址 域名】
第二步:创建www.openlab.con网站
[root@master ~]# vim /etc/nginx/nginx.conf #编辑配置文件
server {listen 80; #基于80端口server_name www.openlab.com; #域名root /www/openlab; #该文件所在目录}
[root@master ~]# systemctl restart nginx #重启服务
[root@master ~]# nginx -t #检查配置文件是否有错误
测试:直接用域名访问就行
第三步:创建教学资料网站www.openlab.com/data
[root@master ~]# vim /etc/nginx/nginx.conf #编辑配置文件
server {listen 80; server_name www.openlab.com;root /www/openlab;location /data { #子网站dataalias /www/openlab/data; #data网站所在目录index index.html index.htm; #可以访问的文件类型}}
[root@master ~]# systemctl restart nginx #重启服务
[root@master ~]# nginx -t #检查配置文件中是否有错误
测试:直接用域名访问
第四步:创建学生信息子网站www.openlab.com/student
[root@master ~]# useradd song #创建用户song[root@master ~]# useradd tian #创建用户tian[root@master ~]# passwd song #交互式修改密码
更改用户 song 的密码 。
新的密码: 123
无效的密码: 密码少于 8 个字符
重新输入新的密码: 123
passwd:所有的身份验证令牌已经成功更新。[root@master ~]# echo "123" | passwd --stdin tian > /dev/null #非交互式修改密码[root@master ~]# htpasswd -c /etc/nginx/passwd song #给用户
New password:123456
Re-type new password:123456[root@master ~]# htpasswd /etc/nginx/passwd tian
New password:123456
Re-type new password:123456[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.html;auth_basic "Please input password";auth_basic_user_file /etc/nginx/passwd;}}[root@master ~]# systemctl restart nginx
[root@master ~]# nginx -t
测试:域名测试(两个用户都可以测试,如果使用另外一个需要将浏览器的缓存清理,继续输入域名访问即可。)
第五步:创建缴费子网站www.openlab.com/money
[root@master ~]# openssl genrsa -aes128 2048 > /etc/nginx/money.key #在/etc/nginx目录下制作整数所用的私钥文件money.key
Enter pass phrase:123456 #加密私钥密码123456
Verifying - Enter pass phrase:123456 #确认[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:123456 #加密私钥密码123456
Country Name (2 letter code) [AU]:86 #国家代码
State or Province Name (full name) [Some-State]:shan'xi #省份
Locality Name (eg, city) []:xi'an #城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:openlab #公司
Organizational Unit Name (eg, section) []:dev #部门
Common Name (e.g. server FQDN or YOUR name) []:master #主机名
Email Address []:123456@qq.com #邮箱[root@master ~]# cp /etc/nginx/money.key /etc/nginx/money.key.org #将私钥拷贝并失效 [root@master ~]# openssl rsa -in /etc/nginx/money.key.org -out /etc/nginx/money.key
Enter pass phrase for /etc/nginx/money.key.org:123456 #私钥密码[root@master ~]# vim /etc/nginx/nginx.confserver {listen 80; #监听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.html;auth_basic "Please input password"; #加密网页验证时的提示信息auth_basic_user_file /etc/nginx/passwd; #加密网页使用的密码验证文件 }}server {listen 443 ssl http2; #监听443端口号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"; #密钥存储目录 }[root@master ~]# systemctl restart nginx
[root@master ~]# nginx -t
测试:域名测试