网站需求:
1.基于域名www.epenlab.com可以访问网站内容为 welcome to openlab!!!
2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/student 网站访问学生信息,www.openlab.com/data网站访问教学资料www.openlab.com/money双站访问缴费网站。
3.要求
(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
(2)访问缴费网站实现数据加密基于https访问。
一.准备工作
[root@server ~]# getenforce
Disabled
[root@server ~]# systemctl status firewalld
○ firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: en>
Active: inactive (dead)
Docs: man:firewalld(1)
[root@server ~]# yum install nginx -y
OS 8.7 kB/s | 2.1 kB 00:00
everything 9.9 kB/s | 2.4 kB 00:00
EPOL 11 kB/s | 2.4 kB 00:00
debuginfo 8.5 kB/s | 2.4 kB 00:00
source 9.8 kB/s | 2.3 kB 00:00
update 18 kB/s | 4.2 kB 00:00
update 3.9 MB/s | 9.5 MB 00:02
update-source 17 kB/s | 4.4 kB 00:00
update-source 392 kB/s | 231 kB 00:00
Package nginx-1:1.21.5-6.oe2203sp3.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
二.域名映射
做域名映射时发现无法修改C:\Windows\System32\drivers\etc\hosts 的权限,后来找了好久发现一个最简单的解决办法就是把该文件放到桌面上修改了再拉回去
三.创建www.openlab.com网站
[root@server ~]# mkdir -p /www/openlab
[root@server ~]# echo 'Welcome to openlab' > /www/openlab/index.html
[root@server ~]# vim /etc/nginx/nginx.conf
[root@server ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@server ~]# systemctl start nginx
验证:
四.创建子网站
教学资料子网站:
[root@server openlab]# mkdir /www/openlab/data
[root@server openlab]# echo 'Data' > /www/openlab/data/index.html
[root@server openlab]# ls /www/openlab/data/index.html
/www/openlab/data/index.html
[root@server openlab]# cat /www/openlab/data/index.html
Data
[root@server openlab]# vim /etc/nginx/nginx.conf
[root@server openlab]# systemctl restart nginxserver {
listen 80;
server_name www.openlab.com;
root /www/openlab/;location /data {
alias /www/openlab/data;
index index.html index.htm;
}
}
验证:
学生信息子网站:
[root@server openlab]# mkdir /www/openlab/student
[root@server openlab]# echo 'Student' > /www/openlab/student/index.html
[root@server openlab]# useradd song
[root@server openlab]# passwd song
更改用户 song 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server openlab]# useradd tian
[root@server openlab]# passwd song
更改用户 song 的密码 。
新的密码:
[root@server openlab]# passwd tian
更改用户 tian 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server openlab]# htpasswd -c /etc/nginx/passwd song
-bash: htpasswd:未找到命令
[root@server openlab]# yum -y install httpd-tools
[root@server openlab]# htpasswd -c /etc/nginx/passwd song
New password:
Re-type new password:
Adding password for user song
[root@server openlab]# htpasswd /etc/nginx/passwd tian
New password:
Re-type new password:
Adding password for user tian
[root@server openlab]# vim /etc/nginx/nginx.conf
[root@server openlab]# systemctl restart nginxserver {
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 passwd";
auth_basic_user_file /etc/nginx/passwd;
}
}
验证:
创建缴费子网站
[root@server openlab]# mkdir /www/openlab/money
[root@server openlab]# echo 'Money' > /www/openlab/money/index.html
[root@server openlab]# openssl genrsa -ase128 2048 > /etc/nginx/money.key
genrsa: Unrecognized flag ase128
[root@server openlab]# 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:
Verifying - Enter pass phrase:
[root@server openlab]# 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]:ningxia
Locality Name (eg, city) []:yinchuan
Organization Name (eg, company) [Internet Widgits Pty Ltd]:openlab
Organizational Unit Name (eg, section) []:RHCE
Common Name (e.g. server FQDN or YOUR name) []:server
Email Address []:lyy@qq.com
[root@server openlab]# cd /etc/nginx/
[root@server nginx]# cp money.key money.key.org
[root@server nginx]# openssl rsa -in money.key.org -out money.key
Enter pass phrase for money.key.org:
writing RSA key
[root@server nginx]# vim /etc/nginx/nginx.conf
[root@server nginx]# systemctl restart nginxserver {
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";
}
验证:
至此,网站搭建完毕。