RHCE: web服务器+nfs服务器搭建

发布时间:2024年01月17日

网站需求:

1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!!

web服务器准备工作:

#添加多ip(也可以用nmtui命令在图形界面配置)
[root@192 ~]# nmcli connection modify ens32 ipv4.method manual  ipv4.addresses 192.168.112.129/24 ipv4.gateway 192.168.112.2 ipv4.dns 114.114.114.114 +ipv4.addresses 192.168.112.130/24

#连接ens32网卡
[root@192 ~]# nmcli con up ens32

#openEuler系统自带yum源,安装nginx
[root@192 ~]# yum install nginx -y

#关闭防火墙
[root@192 ~]# systemctl stop firewalld

#查看防火墙工作状态
[root@192 ~]# systemctl status firewalld

#关闭selinux
[root@192 ~]# setenforce 0

主要配置:


#启动nginx服务
[root@192 ~]# systemctl start nginx


#使用vim编辑test_name.conf文件
[root@localhost ~]# vim /etc/nginx/conf.d/test_name.conf


server {
        listen 192.168.112.129:80;
        root /www/name/openlab;
        server_name www.openlab.com;
        location / {
                index index.html;
        }

}

#查看nginx服务运行状态,也可用于检查配置文件语法是否有错
[root@localhost ~]# systemctl status nginx



#创建/www/name/openlab目录文件
[root@localhost ~]# mkdir /www/name/openlab -pv
mkdir: 已创建目录 '/www'
mkdir: 已创建目录 '/www/name'
mkdir: 已创建目录 '/www/name/openlab'


#重启nginx服务
[root@localhost ~]# systemctl restart nginx


#将要输出的内容写入html文件
[root@localhost ~]# echo welcome to openlab > /www/name/openlab/index.html

测试:

[root@localhost ~]# vim /etc/hosts

#编辑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.112.129 www.openlab.com

#进行测试(用此方法查看的测试结果是html代码,这里简化了结果)

[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网站访问缴费网站)。

[root@localhost ~]# vim /etc/nginx/conf.d/test_name.conf

server {
        listen 192.168.112.129:80;
        root /www/name/openlab/student;
        server_name www.openlab.com/student;
        location / {
                index index.html;
        }

}
server {
        listen 192.168.112.129:80;
        root /www/name/openlab/data;
        server_name www.openlab.com/data;
        location / {
                index index.html;
        }

}
server {
        listen 192.168.112.129:80;
        root /www/name/openlab/money;
        server_name www.openlab.com/money;
        location / {
                index index.html;
        }

}



#创建子目录
[root@localhost ~]# mkdir /www/name/openlab/{student,data,money} -pv
mkdir: 已创建目录 '/www/name/openlab/student'
mkdir: 已创建目录 '/www/name/openlab/data'
mkdir: 已创建目录 '/www/name/openlab/money'

#将要输出的内容写入其中
[root@server ~]# echo 学生信息网 > /www/name/openlab/student/index.html
[root@server ~]# echo 教学资源网  > /www/name/openlab/date/index.html
[root@server ~]# echo 缴费网  > /www/name/openlab/money/index.html


#重启nginx服务
[root@localhost ~]# systemctl restart nginx




测试结果:

[root@localhost ~]# 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.112.129 www.openlab.com

192.168.112.129 www.openlab.com/student
192.168.112.129 www.openlab.com/data
192.168.112.129 www.openlab.com/money


#进行测试(简化了之后的结果)
[root@client ~]# curl http://www.openlab.com/student/
学生信息网
[root@client ~]# curl http://www.openlab.com/date/
教学资源网
[root@client ~]# curl http://www.openlab.com/money/
缴费网


3.要求 (1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。

#修改配置文件
[root@localhost ~]# vim /etc/nginx/conf.d/test_name.conf

server {
        listen 192.168.112.129:80;
        root /www/name/openlab/student;
        server_name www.openlab.com/student;
        location / {
                index index.html;
                auth_basic on;
                auth_basic_user_file /etc/nginx/users;
        }

}

#查看htpassswd的安装包
[root@localhost ~]# yum provides htpasswd
Last metadata expiration check: 2:55:14 ago on 2024年01月11日 星期四 15时43分48秒.
httpd-tools-2.4.55-3.oe2309.x86_64 : Related tools for use HTTP Server
Repo        : OS
Matched from:
Filename    : /usr/bin/htpasswd

httpd-tools-2.4.55-3.oe2309.x86_64 : Related tools for use HTTP Server
Repo        : everything
Matched from:
Filename    : /usr/bin/htpasswd


#安装htpasswd
[root@localhost ~]# yum install httpd-tools -y


#用户管理 
[root@localhost ~]# htpasswd -c /etc/nginx/users song    
New password: 
Re-type new password: 
Adding password for user song
[root@localhost ~]# htpasswd -c /etc/nginx/users tian
New password: 
Re-type new password: 
Adding password for user tian


#重启nginx服务
[root@localhost ~]# systemctl restart nginx

? ? (2)访问缴费网站实现数据加密基于https访问

#安装ssl包(Web服务器是Apache)
[root@localhost ~]# yum install mod_ssl

#nginx里包含了ssl服务,可删除
[root@localhost ~]# yum remove mod_ssl

#修改配置文件
[root@localhost ~]# vim /etc/nginx/conf.d/test_name.conf
   
server {
        listen 192.168.112.129:443 ssl;
        root /www/name/openlab/money;
        server_name www.openlab.com/money;
        ssl_certificate /etc/pki/tls/certs/openlab.crt;
        ssl_certificate_key /etc/pki/tls/private/openlab.key;
        location / {
                index index.html;
        }

}



#设置其访问时需要https(使用ca证书)

#生成密钥(私钥)
[root@localhost ~]# openssl genrsa -out /etc/pki/tls/private/openlab.key
# /etc/pki/tls/private/openlab.key用于存储私钥

#获取公钥
[root@localhost ~]# openssl req -utf8 -new -key /etc/pki/tls/private/openlab.key  -x509 -days 365 -out /etc/pki/tls/certs/openlab.crt


#在输入基本信息后成功注册ca证书
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]:xixihaha
Organizational Unit Name (eg, section) []:an^H^H^H^H^H
Common Name (e.g. server FQDN or YOUR name) []:rrl
Email Address []:adimin^H^H^H


#重启nginx配置
[root@localhost ~]# systemctl restart nginx

3.架设一台NFS服务器,并按照以下要求配置

准备工作:

#修改主机名
[root@localhost ~]# hostname server
[root@localhost ~]# bash
[root@server ~]# 


#安装需要的软件(服务端和客户端都需要安装)
[root@server ~]# yum install rpcbind -y
[root@server ~]# yum install nfs-utils -y

# 关闭防火墙以及selinux
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0

# 启动程序
[root@server ~]# systemctl start rpcbind
[root@server ~]#systemctl start nfs-server

1、开放/nfs/shared目录,供所有用户查询资料 ?

#创建目录文件
[root@server ~]# mkdir /nfs/shared -pv
mkdir: 已创建目录 '/nfs'
mkdir: 已创建目录 '/nfs/shared'

#编辑配置文件
[root@server ~]# vim /etc/exports
/nfs/shared   *(ro)   
 *表示允许所有人共享,ro表示只读

#创建5个文件
[root@server ~]# touch /nfs/shared/{1..5}


客户端配置:
#创建对应目录
[root@client ~]# mkdir /nfs/shared -pv

#挂载对应文件
[root@client ~]# mount 192.168.112.129:/nfs/shared /nfs/shared


#验证相应的文件是否挂载成功
[root@client ~]# ll /nfs/shared
总计 4
-rw-r--r--. 1 root root 6  1月11日 21:29 1
-rw-r--r--. 1 root root 0  1月11日 21:15 2
-rw-r--r--. 1 root root 0  1月11日 21:15 3
-rw-r--r--. 1 root root 0  1月11日 21:15 4
-rw-r--r--. 1 root root 0  1月11日 21:15 5

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,nfs-upload_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

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,nfs-upload_squash,anonuid=210,anongid=210)
/home/tom    192.168.0.0/24(ro,no_all_squash,anonuid=tom,anongid=tom)
#仅共享给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
文章来源:https://blog.csdn.net/rrl18215821889/article/details/135574794
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。