当前位置: 首页 > news >正文

西宁网站建设报价网站怎么申请

西宁网站建设报价,网站怎么申请,办公室设计风格,桂林网上服务目录 需求 环境拓扑结构 主机环境描述 需求具体描述 基本环境配置 servera主机 serverb主机 shell脚本编写-servera 配置防火墙 配置本地仓库 配置nginx服务 安装nginx服务 修改配置文件 测试nginx服务 配置selinux 配置dns服务 安装bind软件 配置dns主配置文…

目录

需求

环境拓扑结构

主机环境描述

需求具体描述

基本环境配置

servera主机

serverb主机

shell脚本编写-servera

配置防火墙

配置本地仓库

配置nginx服务

安装nginx服务

修改配置文件

测试nginx服务

配置selinux

配置dns服务

安装bind软件

配置dns主配置文件

配置dns正向解析区域文件

配置dns反向解析区域文件

启动dns服务并测试

配置网络仓库

配置ntp服务

安装chrony软件

配置防火墙

修改ntp配置文件

启动服务并测试

配置mariaDB

安装mariaDB

配置防火墙

启动服务并运行mariaDB

创建bbs数据库并给其他主机授权

配置nfs服务

安装nfs-utils软件

修改配置文件

创建共享目录并修改权限

修改防火墙配置

启动nfs服务并测试

shell脚本编写-serverb

配置网络仓库

配置nfs客户端

安装autofs软件

配置autofs自动挂载

测试挂载是否成功

配置论坛

安装http服务

安装论坛软件

解压论坛压缩包

修改部分目录权限

开启httpd服务并测试

安装论坛所需软件

配置selinux

启动httpd服务

配置ntp客户端

修改配置文件

启动ntp服务并测试

Shell文件运行测试

serverb方测试

dns客户端测试

ntp客户端测试

论坛测试


需求

环境拓扑结构

主机环境描述

主机名

主机地址需要提供的服务
content.exam.com
172.25.250.101
提供基于 httpd/nginx YUM 仓库服务
ntp.exam.com
172.25.250.102
提供基于 Chronyd NTP 服务
mysql.exam.com
172.25.250.103
提供基于 MySQL 的数据库服务
nfs.example.com
172.25.250.104
提供基于 NFS 的网络文件系统服务
dns.exam.com
172.25.250.105
提供基于 bind DNS 服务
bbs.exam.com
172.25.250.106
提供基于 Discuz 的论坛服务
172.25.250.101-172.25.250.105 5 IP 地址由 servera.exam.com 服务器进行提供。
172.25.250.106 serverb.exam.com 服务器进行提供。

需求具体描述

1. 172.25.250.101 主机上的 Web 服务要求提供 www.exam.com Web 站点,该站点在任何路由可达的主机上被访问,页面内容显示为 "Hello Welcome to www.exam.com !" ,并提供
content.exam.com/yum/AppStream content.exam.com/yum/BaseOS URL 作为网络仓库供所有主机使用。
2. 172.25.250.102 主机提供基于 Chronyd NTP 服务将本主机作为时间服务器,对外提供 NTP 服务,并设置本服务器为 3 层。
3. 172.25.250.103 主机提供的 MySQL 数据库服务,要求使用需求 1 中提供的仓库进行安装,并将数据库密码设定为 redhat 。创建名称为 bbs 的数据库提供给论坛服务使用。
4. 172.25.250.104 主机提供 NFS 服务,该服务将导出本地的 /bbs 目录作为论坛数据目录,该导出指定只能论坛所在主机使用,并且开机自动挂载。
5. 172.25.250.105 主机提供 DNS 服务,该服务需要提供对项目中所有主机名的正向和反向解析,并要求所有服务器的 DNS 配置为该 DNS 服务器。
6. 172.25.250.106 主机提供基于 Discuz 的论坛服务,该论坛服务使用 172.25.250.103 主机提供的数据库 bbs ,使用 172.25.250.104 主机提供的 NFS 作为论坛数据目录,并开机挂载。并使用
172.25.250.101 主机提供的网络仓库, 172.25.250.102 主机提供的 NTP 服务, 172.25.250.105 主机提供的 DNS 服务。
7. 所有服务器的防火墙服务和 SELinux 服务必须开启。
8. 所有服务器提供的网络服务必须在系统重启后仍然可以正常提供服务。
9. 根据所有服务的相关代码,编写一键部署 shell 脚本,最基础的功能为 通过执行该脚本实现所有上面所有需求,要求脚本必须在 servera.exam.com 主机上运行,并支持多次运行。

基本环境配置

servera主机

[root@localhost ~]# nmcli connection modify ens160 ipv4.addresses 172.25.250.101/24 ipv4.gateway 172.25.250.2 ipv4.dns 172.25.250.105 ipv4.method manual connection.autoconnect yes
[root@localhost ~]# nmcli connection modify ens160 +ipv4.addresses 172.25.250.102/24
[root@localhost ~]# nmcli connection modify ens160 +ipv4.addresses 172.25.250.103/24
[root@localhost ~]# nmcli connection modify ens160 +ipv4.addresses 172.25.250.104/24
[root@localhost ~]# nmcli connection modify ens160 +ipv4.addresses 172.25.250.105/24
[root@localhost ~]# nmcli connection up ens160[root@localhost ~]# hostnamectl hostname servera.exam.com

serverb主机

[root@localhost ~]# nmcli connection modify ens160 ipv4.addresses 172.25.250.106/24 ipv4.gateway 172.25.250.2 ipv4.dns 172.25.250.105 ipv4.method manual connection.autoconnect yes

shell脚本编写-servera

配置防火墙

systemctl enable --now firewalldfirewall-cmd --permanent --add-service=http --add-service=dns &> /dev/nullfirewall-cmd --reload &> /dev/null

 

配置本地仓库

rm -rf /etc/yum.repos.d/* &> /dev/null
cat << EOF > /etc/yum.repos.d/bendi.repo
[base]
name=base
baseurl=/mnt/BaseOS
gpgcheck=0
[app]
name=app
baseurl=/mnt/AppStream
gpgcheck=0
EOF

 挂载并测试是否成功

mount /dev/sr0 /mnt &> /dev/null# 判断挂载是否成功
ls /mnt/GPL &> /dev/null
if [ $? -eq 0 ]
thenecho "mount ok"
elseecho "mount not ok"
fi

 

配置nginx服务

安装nginx服务

dnf install -y nginx &> /dev/null
if [ $? -eq 0 ]
thenrpm -qa | grep nginx &> /dev/nullif [ $? -eq 0 ]thenecho "nginx install ok"elseecho "nginx install not ok"fi
elseecho "nginx install not ok"
fi

修改配置文件

mkdir -p /var/www/exam &> /dev/null
echo Hello, Welcome to www.exam.com! > /var/www/exam/index.html
mkdir /var/log/nginx/exam &> /dev/nullcat << EOF > /etc/nginx/conf.d/exam.conf
server {server_name www.exam.com;root /var/www/exam/;access_log /var/log/nginx/exam/access.log;error_log /var/log/nginx/exam/error.log;
}
EOF
cat << EOF > /etc/nginx/conf.d/content.conf
server {server_name content.exam.com;root /var/www/exam/;access_log /var/log/nginx/exam/access.log;error_log /var/log/nginx/exam/error.log;
}
EOF

测试nginx服务

systemctl enable --now nginx &> /etc/null
if [ $? -eq 0 ]
thenactive=$(systemctl is-active nginx)if [ "$active"=="active" ]thenecho "nginx start ok"elseecho "nginx start not ok"fi
elseecho "nginx start not ok"
fi

配置selinux

给nginx目录设置selinux上下文标签,若无特别要求也可将selinux修改为宽容模式

#设置httpd_d域为permissive(宽容)模式
#semanage permissive -a httpd_t
#添加上下文标签
chcon -t httpd_sys_content_t /var/www -R &> /etc/null

 

配置dns服务

安装bind软件

dnf install -y bind &> /dev/null
if [ $? -eq 0 ]
thenrpm -qa | grep bind &> /dev/nullif [ $? -eq 0 ]thenecho "bind install ok"elseecho "bind install not ok"fi
elseecho "bind install not ok"
fi

配置dns主配置文件

cat << EOF > /etc/named.conf
options {listen-on port 53 { 172.25.250.105; };directory       "/var/named";
};
zone "exam.com" IN {type master;file "named.exam";
};
zone "250.25.172.in-addr.arpa" IN {type master;file "named.fanxiangexam";
};
EOF

配置dns正向解析区域文件

cat << EOF > /var/named/named.exam
\$TTL   1D
@       IN      SOA     @       admin.exam.com. (01111)IN      NS      ns.exam.com.
ns      IN      A       172.25.250.101
www     IN      A       172.25.250.101
content IN      A       172.25.250.101
ntp     IN      A       172.25.250.102
mysql   IN      A       172.25.250.103
nfs     IN      A       172.25.250.104
dns     IN      A       172.25.250.105
bbs     IN      A       172.25.250.106
EOF

配置dns反向解析区域文件

cat << EOF > /var/named/named.fanxiangexam
\$TTL   1D
@       IN      SOA     @       admin.exam.com. (01111)IN      NS      ns.exam.com.
101     IN      PTR     ns.exam.com.
101     IN      PTR     www.exam.com.
101     IN      PTR     content.exam.com.
102     IN      PTR     ntp.exam.com.
103     IN      PTR     mysql.exam.com.
104     IN      PTR     nfs.exam.com.
105     IN      PTR     dns.exam.com.
106     IN      PTR     bbs.exam.com.
EOF

启动dns服务并测试

systemctl enable --now named &> /etc/null
if [ $? -eq 0 ]
thenecho "named start ok"
elseecho "named start not ok"
fi

 

配置网络仓库

把/dev/sr0挂载到nginx下的目录中,使其他服务器可以将http://content.exam.com/yum/此作为网络仓库的地址

umount /dev/sr0
mkdir /var/www/exam/yum &> /etc/null
mount /dev/sr0 /var/www/exam/yum &> /etc/nullcat << EOF > /etc/yum.repos.d/bendi.repo
[base]
name=base
baseurl=http://content.exam.com/yum/BaseOS
gpgcheck=0
[app]
name=app
baseurl=http://content.exam.com/yum/AppStream
gpgcheck=0
EOF

 

配置ntp服务

安装chrony软件

dnf install -y chrony &> /etc/nullif [ $? -eq 0 ]
thenecho "chrony install ok"
elseecho "chrony install not ok"
fi

配置防火墙

firewall-cmd --permanent --add-service=ntp &> /dev/null
firewall-cmd --reload &> /dev/null

修改ntp配置文件

sed -i 's/^pool.*/server time.windows.com iburst/g' /etc/chrony.conf
sed -i 's/#allow.*/allow 172.25.250.0\/24/g' /etc/chrony.conf
sed -i 's/#local stratum.*/local stratum 3/g' /etc/chrony.conf
sed -i 's/#log measurements statistics tracking/log measurements statistics tracking/g' /etc/chrony.conf

启动服务并测试

systemctl enable chronyd
systemctl restart chronydif [ $? -eq 0 ]
thenecho "chronyd start ok"
elseecho "chronyd start not ok"
fi

 

配置mariaDB

安装mariaDB

dnf install -y mariadb* &> /etc/null
if [ $? -eq 0 ]
thenecho "mariadb install ok"
elseecho "mariadb install not ok"
fi

配置防火墙

#配置防火墙
firewall-cmd --permanent --add-service=mysql &> /etc/null
firewall-cmd --reload &> /etc/null

启动服务并运行mariaDB

systemctl enable --now mariadb &> /etc/nullmysqladmin -u root password "redhat"

创建bbs数据库并给其他主机授权

mysql -u root -predhat -e "USE bbs" &> /etc/null
#没有bbs数据库执行会报错if [ $? -eq 0 ]
thenecho "database bbs exists"mysql -u root -predhat << EOF
grant all privileges on *.* to 'root'@'%' identified by 'redhat';
flush privileges;
EOF
else# 给所有访问的主机授权,允许所有操作,并确定用户root且密码为redhatmysql -u root -predhat << EOF
create database bbs;
grant all privileges on *.* to 'root'@'%' identified by 'redhat';
flush privileges;
EOF
fiif [ $? -eq 0 ]
thenecho "数据库bbs创建完毕,授权成功"
elseecho "因未知原因,mysql配置失败"
fi

配置nfs服务

安装nfs-utils软件

dnf install -y nfs-utils &> /etc/null
if [ $? -eq 0 ]
thenecho "nfs-utils install ok"
elseecho "nfs-utils install not ok"
fisystemctl enable --now nfs-server &> /etc/null

修改配置文件

echo "/bbs 172.25.250.106(rw)" > /etc/exports

创建共享目录并修改权限

mkdir -p /bbs
chmod 777 /bbs/ -R

修改防火墙配置

firewall-cmd --permanent --add-service=nfs --add-service=mountd --add-service=rpc-bind &> /etc/null
firewall-cmd --reload &> /etc/null

启动nfs服务并测试

systemctl restart nfs-server &> /etc/nullif [ $? -eq 0 ]
thenecho "nfs-server start ok"
elseecho "nfs-server start not ok"
fi

 

shell脚本编写-serverb

在servera中要向把命令运行在serverb中,可以使用ssh

ssh root@172.25.250.106 << ALLEOF
...
ALLEOF

配置网络仓库

rm -rf /etc/yum.repos.d/*cat << EOF > /etc/yum.repos.d/wangluo.repo
[base]
name=base
baseurl=http://content.exam.com/yum/BaseOS
gpgcheck=0
[app]
name=app
baseurl=http://content.exam.com/yum/AppStream
gpgcheck=0
EOF

 

配置nfs客户端

安装autofs软件

dnf install -y autofs &> /etc/null

配置autofs自动挂载

echo "html 172.25.250.104:/bbs" > /etc/auto.client
echo "/var/www/ /etc/auto.client" >> /etc/auto.master

测试挂载是否成功

systemctl enable autofs
systemctl restart autofsif [ $? -eq 0 ]
thenecho "serverb's nfs mount ok"
elseecho "serverb's nfs mount not ok"
fi

配置论坛

安装http服务

dnf install -y httpd &> /etc/null
if [ $? -eq 0 ]
thenecho "serverb's httpd install ok"
else    echo "serverb's httpd install not ok"
fi

修改防火墙配置

systemctl enable --now firewalld &> /etc/nullfirewall-cmd --permanent --add-service=http &> /etc/null

安装论坛软件

在servera运行shell文件前先将论坛安装包放在root用户目录下

解压论坛压缩包
cp -u Discuz_X3.5_SC_UTF8_20230520.zip /var/www/htmlcd /var/www/htmlunzip -o Discuz_X3.5_SC_UTF8_20230520.zip &> /etc/null
修改部分目录权限
chmod 777 upload/uc_server/ upload/uc_client/ upload/data/ upload/config/ -R &> /dev/null
开启httpd服务并测试
systemctl start httpd &> /etc/null
if [ $? -eq 0 ]
thenecho "serverb's httpd start ok"
elseecho "serverb's httpd start not ok"
fi
安装论坛所需软件
dnf install -y php* &> /etc/null
if [ $? -eq 0 ]
thenecho "serverb's php* install ok"
elseecho "serverb's php* install not ok"
fi
配置selinux
setsebool -P httpd_use_nfs 1 &> /etc/null
setsebool -P httpd_can_network_connect_db on &> /etc/null
#semanage permissive -a httpd_t
启动httpd服务
systemctl restart httpd
systemctl enable httpd &> /etc/null

配置ntp客户端

修改配置文件

sed -i 's/^pool.*/server 172.25.250.102 iburst/g' /etc/chrony.conf
sed -i 's/#log measurements statistics tracking/log measurements statistics tracking/g' /etc/chrony.conf

启动ntp服务并测试

systemctl restart chronyd
if [ $? -eq 0 ]
thenecho "serverb's ntp start ok"
elseecho "serverb's ntp start ok"
fi

Shell文件运行测试

servera服务器无明显报错

serverb方测试

dns客户端测试

ntp客户端测试

论坛测试

 填写数据库地址和先前授权的用户和密码

 

实验圆满结束:)

http://www.dtcms.com/a/550527.html

相关文章:

  • Rust专项——读多写少的共享状态:Arc<RwLock<T>> 并发设计与基准
  • 临河网站建设营销推广策划方案范文
  • 自己做一网站_多做宣传.网站建设公司能力要求
  • PyQt5 饼图全面指南:从数据比例到可视化洞察
  • 多云环境下的大规模资产配置统一治理实践
  • 【算法】day15 动态规划
  • 江阴公司网站建设建设官方网站查询
  • C#.NET Cronos 实战:优雅解析与执行 Cron 表达式
  • 【面试系列】好未来:电商策略运营面试题集
  • 大连零基础网站建设教学公司ppp模式在网站建设的
  • 网站百度收录怎么做展示营销类网站
  • 【Tauri2】050——加载html和rust爬虫
  • 网站制做工具郑州网站设计有哪些
  • 山东网站建设比较好wordpress安装提示500错误
  • 安卓/ios辅助工具按键精灵脚本制作教程,移动开发工具
  • Python 内置函数
  • 网站建设七个步骤做移动端网站设计
  • 浙江久天建设有限公司网站东莞网络公司电话
  • FBH开发用于增材制造的二极管激光模块
  • offer岗位的base地应该怎么选
  • 全国好的深圳网站设计聚美优品返利网站怎么做
  • [特殊字符] ROS 项目日记
  • 点云深度学习:KPFCNN资料分享
  • 网上下载的免费网站模板怎么用目前引流最好的平台
  • 太仓网站制作书生php网站开发视频
  • 英山县住房和城乡建设局网站百度广告电话号码是多少
  • 学习做网站教程现在网站还用asp做
  • 湖北网站中山外贸网站开发
  • 21.1 ChatPPT容器化部署实战:Dockerfile高效构建与CUDA优化全攻略
  • 理论网站建设实施方案干净简约的网站