目录
1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!!
(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
2、开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录, 并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210
3、将/home/tom目录仅共享给192.168.xxx.xxx这台主机,并只有用户tom可以完全访问该目录
网站需求:
1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!!
2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.openlab.com/student](http://www.openlab.com/student) 网站访问学生信息,[www.openlab.com/data](http://www.openlab.com/data)网站访问教学资料
[www.openlab.com/money网站访问缴费网站](http://www.openlab.com/money网站访问缴费网站)。
3.要求 (1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
(2)访问缴费网站实现数据加密基于https访问。
架设一台NFS服务器,并按照以下要求配置
1、开放/nfs/shared目录,供所有用户查询资料
2、开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录,
并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210
3、将/home/tom目录仅共享给192.168.xxx.xxx这台主机,并只有用户tom可以完全访问该目录
准备工作:
#关闭防火墙,外面才可以访问Linux虚拟机上的服务。
[root@server ~]# systemctl stop firewalld
#设置SELinux 成为permissive模式 临时关闭selinux防火墙
[root@server ~]# setenforce 0
[root@server ~]# getenforce
Permissive
#openEuler系统自带yum源,安装好httpd
[root@server ~]# yum install httpd -y
#安装nginx
[root@server ~]# yum install nginx -y
#启动httpd服务
[root@server ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
#添加ip,并重启网络配置
[root@server ~]# nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.88.132/24 ipv4.gateway 192.168.88.2 ipv4.dns 114.114.114.114 +ipv4.addresses 192.168.88.133/24[root@server ~]# nmcli connection up ens33
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!!
#使用vim编辑test_httpd.conf文件
[root@server ~]# vim /etc/nginx/conf.d/test_httpd.conf
server {
listen 192.168.88.132:80;
server_name www.openlab.com; #服务名
root /www/name/openlab; #主页存放路径
location / {
index index.html; #配置/www/name/openlab下的资源文件
}
}
#创建目录
[root@server ~]# mkdir /www/name/openlab/ -pv
mkdir: 已创建目录 '/www'
mkdir: 已创建目录 '/www/name'
mkdir: 已创建目录 '/www/name/openlab/'
#将要输出的内容写入其中
[root@server ~]# echo welcome to openlab \!\!\! > /www/name/openlab/index.html
#重启nginx服务
[root@server ~]# systemctl restart nginx
测试:
#编辑hosts文件使其客户端能够访问到相应的网站
[root@client ~]# vim /etc/hosts
# Loopback entries; do not change.
# For historical reasons, localhost precedes localhost.localdomain:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# See hosts(5) for proper format and other examples:
# 192.168.1.10 foo.mydomain.org foo
# 192.168.1.13 bar.mydomain.org bar
192.168.88.132 www.openlab.com
#进行测试
[root@client ~]# curl http://www.openlab.com
welcome to openlab
2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.openlab.com/student](http://www.openlab.com/student) 网站访问学生信息,[www.openlab.com/data](http://www.openlab.com/data)网站访问教学资料[www.openlab.com/money网站访问缴费网站](http://www.openlab.com/money网站访问缴费网站)。
#使用vim编辑test_httpd.conf文件
[root@server ~]# vim /etc/nginx/conf.d/test_httpd.conf
server {
listen 192.168.88.132:80;
root /www/name/openlab;
server_name www.openlab.com;
location /student {
index index.html;
alias /www/openlab/name/student;
auth_basic on;
auth_basic_user_file /etc/nginx/users;
}
}
server {
listen 192.168.88.132:80;
root /www/name/openlab;
server_name www.openlab.com;
location /data {
index index.html;
alias /www/openlab/name/data;
auth_basic on;
auth_basic_user_file /etc/nginx/users;
}
}
server {
listen 192.168.88.132:80;
root /www/name/openlab;
server_name www.openlab.com;
location /money {
index index.html;
alias /www/openlab/name/money;
auth_basic on;
auth_basic_user_file /etc/nginx/users;
}
}
#创建其子目录
[root@server ~]# mkdir /www/name/openlab/{student,data,money} -pv
#将要输出的内容写入其中
[root@server ~]# echo 学生信息 > /www/name/openlab/student/index.html
[root@server ~]# echo 教学资源 > /www/name/openlab/data/index.html
[root@server ~]# echo 缴费网站 > /www/name/openlab/money/index.html
#重启nginx服务
[root@server ~]# systemctl restart nginx
测试(基于客户端):
#编辑hosts文件使其客户端能够访问到相应的网站
[root@client ~]# vim /etc/hosts
# Loopback entries; do not change.
# For historical reasons, localhost precedes localhost.localdomain:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# See hosts(5) for proper format and other examples:
# 192.168.1.10 foo.mydomain.org foo
# 192.168.1.13 bar.mydomain.org bar
192.168.88.132 www.openlab.com
192.168.88.132 www.openlab.com/student
192.168.88.132 www.openlab.com/data
192.168.88.132 www.openlab.com/money
#进行测试
[root@client ~]# curl http://www.openlab.com/student/
学生信息网
[root@client ~]# curl http://www.openlab.com/data/
教学资源网
[root@client ~]# curl http://www.openlab.com/money/
缴费网
3.相关要求
(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
#修改配置文件
[root@server ~]# vim /etc/nginx/conf.d/test_httpd.conf
server {
listen 192.168.88.132:80;
root /www/name/openlab;
server_name www.openlab.com;
location /student {
index index.html;
alias /www/name/openlab/student;
auth_basic on;
auth_basic_user_file /etc/nginx/users;
}
}
#用户管理
[root@server ~]# htpasswd -c /etc/nginx/users song
New password:
Re-type new password:
Adding password for user song
[root@server ~]# htpasswd -c /etc/nginx/users tian
New password:
Re-type new password:
Adding password for user tian
#重启nginx配置
[root@server ~]# systemctl restart nginx
#测试:
[root@server ~]curl www.openlab.com/student/ -u song:密码
(2)访问缴费网站实现数据加密基于https访问。
#修改相关配置文件
[root@server ~]# vim /etc/nginx/conf.d/test_https.conf
server {
listen 192.168.88.132:443 ssl;
root /www/name/openlab;
server_name www.openlab.com;
ssl_certificate /etc/pki/tls/certs/openlab.crt;
ssl_certificate_key /etc/pki/tls/private/openlab.key;
location / {
index index.html;
}
}
#设置其访问时需要https(使用ca加密)
[root@server ~]# openssl req -utf8 -new -key openlab.key -x509 -days 365 -out openlab.crt
Could not read private key from openlab.key
[root@server ~]# openssl genrsa -out /etc/pki/tls/private/openlab.key
[root@server ~]# openssl req -utf8 -new -key /etc/pki/tls/private/openlab.key -x509 -days 365 -out /etc/pki/tls/certs/openlab.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) [AU]:86
State or Province Name (full name) [Some-State]:sichuan
Locality Name (eg, city) []:chengdu
Organization Name (eg, company) [Internet Widgits Pty Ltd]:cdcas
Organizational Unit Name (eg, section) []:xinggong
Common Name (e.g. server FQDN or YOUR name) []:gxc
Email Address []:admin
#重启nginx配置
[root@server ~]# systemctl restart nginx
测试:
[root@client ~]# curl https://192.168.88.132 -k
缴费网
架设一台NFS服务器,并按照以下要求配置
服务端以及客户端的准备工作:
#安装nfs配置相应的包
[root@server ~]# yum install rpcbind -y
[root@server ~]# yum install nfs-utils -y
#关闭防火墙,外面才可以访问Linux虚拟机上的服务。
[root@server ~]# systemctl stop firewalld
#设置SELinux 成为permissive模式 临时关闭selinux防火墙
[root@server ~]# setenforce 0
[root@server ~]# getenforce
Permissive
1、开放/nfs/shared目录,供所有用户查询资料
服务端配置:
#创建目录
[root@server ~]# mkdir /nfs/shared -pv
mkdir: 已创建目录 '/nfs'
mkdir: 已创建目录 '/nfs/shared'
#创建10个文件
[root@server ~]# touch /nfs/shared/{1..10}
#编辑配置文件
[root@server ~]# vim /etc/exports
/nfs/shared *(ro) #任何用户都可以访问
客户端配置:
#创建对应目录
[root@client ~]# mkdir /nfs/shared -pv
#挂载对应文件
[root@client ~]# mount 192.168.88.132:/nfs/shared /nfs/shared
#验证相应的文件是否挂载成功
[root@client ~]# ll /nfs/shared/
总计 0
-rw-r--r--. 1 root root 0 1月11日 03:33 1
-rw-r--r--. 1 root root 0 1月11日 03:33 10
-rw-r--r--. 1 root root 0 1月11日 03:33 2
-rw-r--r--. 1 root root 0 1月11日 03:33 3
-rw-r--r--. 1 root root 0 1月11日 03:33 4
-rw-r--r--. 1 root root 0 1月11日 03:33 5
-rw-r--r--. 1 root root 0 1月11日 03:33 6
-rw-r--r--. 1 root root 0 1月11日 03:33 7
-rw-r--r--. 1 root root 0 1月11日 03:33 8
-rw-r--r--. 1 root root 0 1月11日 03:33 9
[root@client ~]# ll /nfs/shared/ -d
drwxr-xr-x. 2 root root 4096 1月11日 03:33 /nfs/shared/
2、开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录, 并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210
服务端配置:
#创建目录
[root@server ~]# mkdir /nfs/upload -pv
mkdir: 已创建目录 '/nfs/upload'
#创建5个文件
[root@server ~]# touch /nfs/shared/{1..5}
#编辑文件
[root@server ~]# vim /etc/exports
/nfs/shared *(ro)
/nfs/upload 192.168.0.0/24(rw,all_squash,anonuid=210,anongid=210)
#,为192.168.xxx.0/24网段主机可以上传目录, 并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210
客户端配置:
#创建对应文件
[root@client ~]# mkdir /nfs/upload -pv
#挂载对应文件
[root@client ~]# mount 192.168.88.132:/nfs/upload /nfs/upload
#查看是否挂载成功
[root@client ~]# ll /nfs/upload
总计 0
-rw-r--r--. 1 root root 0 1月11日 03:53 1
-rw-r--r--. 1 root root 0 1月11日 03:53 2
-rw-r--r--. 1 root root 0 1月11日 03:53 3
-rw-r--r--. 1 root root 0 1月11日 03:53 4
-rw-r--r--. 1 root root 0 1月11日 03:53 5
#测试写入功能
[root@client ~]# ll /nfs/upload/
总计 0
-rw-r--r--. 1 root root 0 1月11日 03:53 1
-rw-r--r--. 1 root root 0 1月11日 03:53 2
-rw-r--r--. 1 root root 0 1月11日 03:53 3
-rw-r--r--. 1 root root 0 1月11日 03:53 4
-rw-r--r--. 1 root root 0 1月11日 03:53 5
-rw-r--r--. 1 root root 0 1月11日 04:15 6
[root@client ~]# ll /nfs/upload/ -d
drwxr-xr-x. 2 root root 4096 1月11日 04:15 /nfs/upload/
[root@client ~]# chmod o+w /nfs-upload -u 210
[root@client ~]# grounpmod -g 210 nfs-upload
或者
[root@client ~]# useradd -r -u 210 nfs-upload
[root@client ~]# id nfs-upload
uid=210(nfs-upload) gid=210(nfs-upload) 组=210(nfs-upload)
3、将/home/tom目录仅共享给192.168.xxx.xxx这台主机,并只有用户tom可以完全访问该目录
服务端配置:
#创建相关目录
[root@server ~]# mkdir /home/tom -pv
mkdir: 已创建目录 '/home/tom'
#创建10个文件
[root@server ~]# touch /home/tom/{1..10}
#编辑配置文件
[root@server ~]# vim /etc/exports
/nfs/shared *(ro)
/nfs/upload 192.168.0.0/24(rw,all_squash,anonuid=210,anongid=210)
/home/tom 192.168.88.132/24(rw)
#仅共享给192.168.xxx.xxx这台主机,并只有用户tom可以完全访问该目录
客户端配置:
#创建对应目录
[root@client ~]# mkdir /home/tom -pv
#挂载对应目录
[root@client ~]# mount 192.168.88.132:/home/tom /home/tom
#验证是否挂载成功
[root@client ~]# ll /home/tom/
总计 0
-rw-r--r--. 1 root root 0 1月11日 04:21 1
-rw-r--r--. 1 root root 0 1月11日 04:21 10
-rw-r--r--. 1 root root 0 1月11日 04:21 2
-rw-r--r--. 1 root root 0 1月11日 04:21 3
-rw-r--r--. 1 root root 0 1月11日 04:21 4
-rw-r--r--. 1 root root 0 1月11日 04:21 5
-rw-r--r--. 1 root root 0 1月11日 04:21 6
-rw-r--r--. 1 root root 0 1月11日 04:21 7
-rw-r--r--. 1 root root 0 1月11日 04:21 8
-rw-r--r--. 1 root root 0 1月11日 04:21 9
#或者不创建文件,直接如下操作
[root@client ~]# useradd tom
[root@client ~]# ll /home/tom/ -d