项目实战-博客搭建
1. 运行环境:
| 主机 | 主机名 | 系统 | 服务 |
|---|---|---|---|
| 192.168.11.130 | Server-Web | Linux | Web |
| 192.168.11.131 | Server-NFS-DNS | Linux | NFS/DNS |
2. 基础配置:
-
配置主机名,静态IP地址
-
开启防火墙并配置
-
部分开启SElinux并配置
-
服务器之间使用同ntp.aliyun.com进行时间同步
-
服务器之间实现SSH免密登录
3. 业务需求
- Server-NFS-DNS主机
- 配置NFS服务器
- 将博客网站资源文件共享给Server-web主机
- Server-NFS-DNS主机配置DNS服务
- 配置NFS服务器
- Server-Web主机
- 配置web服务
- 通过域名www.openlab.com可以访问到自建的博客网站
4. 准备工作
4.1 配置静态IP
# 在192.168.11.130中配置:
[root@Cyber4K ~]# nmcli c modify ens32 ipv4.method manual ipv4.addresses '192.168.11.130/24' ipv4.gateway '192.168.11.2' ipv4.dns '114.114.114.114'
[root@Cyber4K ~]# nmcli c reload
[root@Cyber4K ~]# nmcli c up ens32
# 在192.168.11.131中配置:
[root@node1 ~]# nmcli c modify ens32 ipv4.method manual ipv4.addresses '192.168.11.131/24' ipv4.gateway '192.168.11.2' ipv4.dns '114.114.114.114'
[root@node1 ~]# nmcli c reload
[root@node1 ~]# nmcli c up ens32
4.2 修改主机名及hosts映射
# 在192.168.11.130中配置
[root@server ~]# hostnamectl set-hostname Server-Web
[root@server ~]# vim /etc/hosts
127.0.0.1 Server-Web
192.168.11.130 Server-Web
192.168.11.131 Server-NFS-DNS
[root@server ~]# reboot
# 在192.168.11.131中配置
[root@node1 ~]# hostnamectl set-hostname Server-NFS-DNS
[root@node1 ~]# vim /etc/hosts
127.0.0.1 Server-NFS-DNS
192.168.11.130 Server-Web
192.168.11.131 Server-NFS-DNS
[root@node1 ~]# reboot
# 修改完主机名记得重启生效!
4.3 开启防火墙并设置开机自启
# 两台机子都操作
systemctl start firewalld
systemctl enable firewalld
systemctl status firewalld
4.4 SELinux设置
# Server-Web端关闭
[root@Server-Web ~]# setenforce 0
# Server-NFS-DNS端修改配置文件至Permissive
[root@Server-NFS-DNS ~]# vim /etc/selinux/config
[root@Server-NFS-DNS ~]# reboot
[root@Server-NFS-DNS ~]# getenforce
Permissive
4.4 时间同步
# 两条机子都操作
vim /etc/chrony.conf
server ntp.aliyun.com iburst # 第三行更改
# 更改为阿里云的ntp:ntp.aliyun.com
systemctl restart chronyd
chronyc sources -v
timedatectl status
4.5 配置免密SSH登录
# 在192.168.11.130(Server-Web)中配置
[root@Server-Web ~]# ssh-keygen -t rsa # 生成公钥私钥,一路回车
[root@Server-Web ~]# ssh-copy-id 192.168.11.131
[root@Server-Web ~]# ssh 192.168.11.131
[root@Server-Web ~]# exit
# 在192.168.11.131(Server-NFS-DNS)中配置
[root@Server-NFS-DNS ~]# ssh-keygen -t rsa
[root@Server-NFS-DNS ~]# ssh-copy-id 192.168.11.130
[root@Server-NFS-DNS ~]# ssh 192.168.11.130
[root@Server-NFS-DNS ~]# exit
5. 环境搭建
5.1 Server-Web端安装LNMP环境软件
[root@Server-Web ~]# yum install nginx mariadb-server php* -y
5.2 Server-NFS-DNS端上传博客软件
- 网址:cn.wordpress.org/ ,下载后为zip压缩文件
- 将wordpress使用xftp上传到192.168.11.131(Server-NFS-DNS)端的/目录下
- 解压缩后并查看:
[root@Server-NFS-DNS ~]# cd /
# 最好使用6.1的版本
[root@Server-NFS-DNS /]# unzip wordpress-6.1-zh_CN.zip
[root@Server-NFS-DNS /]# cd wordpress
[root@Server-NFS-DNS /]# ls
5.3 Server-NFS-DNS端设置NFS共享
- 目的:
- 将Server-NFS-DNS端的/wordpress 目录共享给192.168.11.130(Server-Web)
[root@Server-NFS-DNS ~]#yum install rpcbind nfs-utils -y
[root@Server-NFS-DNS ~]# vim /etc/exports # 编辑配置文件
/wordpress 192.168.11.130(rw,sync,all_squash) # 添加
# 设置权限
[root@Server-NFS-DNS ~]# chmod -Rf 777 /wordpress
# 防火墙添加服务放行
[root@Server-NFS-DNS ~]# firewall-cmd --permanent --zone=public --add-service=mountd
[root@Server-NFS-DNS ~]# firewall-cmd --permanent --zone=public --add-service=rpc-bind
[root@Server-NFS-DNS ~]# firewall-cmd --permanent --zone=public --add-service=nfs
[root@Server-NFS-DNS ~]# firewall-cmd --reload
# 开启服务
[root@Server-NFS-DNS ~]# systemctl start rpcbind
[root@Server-NFS-DNS ~]# systemctl start nfs-server
5.4 Server-Web设置
5.4.1 挂载远程共享目录
[root@Server-Web ~]# yum install rpcbind nfs-utils -y
# 查询NFS服务器导出共享目录的命令
[root@Server-Web ~]# showmount -e 192.168.11.131
# 新建本地挂载目录
[root@Server-Web ~]# mkdir /wp
# 挂载
[root@Server-Web ~]# mount -t nfs 192.168.11.131:/wordpress /wp
# 查看如下图所示:
[root@Server-Web ~]# cd /wp
[root@Server-Web wp]# ls
5.4.2 nginx设置
# 放行协议及端口号并重置
[root@Server-Web ~]# firewall-cmd --permanent --zone=public --add-service=http
[root@Server-Web ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
[root@Server-Web ~]# firewall-cmd --reload
# 修改nginx服务配置文件
[root@Server-Web ~]# vim /etc/nginx/nginx.conf
root /wp;
# 记得重启服务
[root@Server-Web ~]# systemctl restart nginx
5.4.3 修改wordpress配置文件
[root@Server-Web ~]# cd /wp
[root@Server-Web wp]# cp wp-config-sample.php wp-config.php # 根据模板拷贝配置文件
# 编辑wp-config.php配置文件
[root@Server-Web wp]# vim wp-config.php
# 定位23行修改后半部分
define('DB_NAME', 'wordpress'); # WordPress数据库的名称
define('DB_USER', 'test1'); # MySQL数据库用户名
define('DB_PASSWORD', '123456'); # MySQL数据库密码
5.4.4 启动数据库
[root@Server-Web ~]# systemctl start mariadb
5.4.5 在数据库中创建数据库和用户
[root@Server-Web ~]# mysql
MariaDB [(none)]> create database wordpress; # 创建数据库,尾部有分号
MariaDB [(none)]> create user 'test1'@'localhost' identified by '123456'; # 第一个''为数据库账号,@后面的''内容为数据库可以登录的地址,localhost意为只能本机登录。用户和密码与wordpress配置文件一样,
MariaDB [(none)]> grant all on wordpress.* to 'test1'@'localhost'; # 给用户授权
MariaDB [(none)]> exit # 退出
5.4.6 重启数据库和http
[root@Server-Web ~]# systemctl restart mariadb
[root@Server-Web ~]# systemctl restart nginx
6. 测试
- 在windows端输入192.168.11.130继续完成wordpress配置 (邮箱必须设置)
- 此时只能实现IP访问,使此网站使用域名访问还需进行DNS配置
7. 在Server-NFS-DNS端配置DNS
原则:www.openlab.com正向解析为:192.168.11.130
- 安装及防火墙的放行
[root@Server-NFS-DNS ~]# cd ~
[root@Server-NFS-DNS ~]# yum install bind -y
[root@Server-NFS-DNS ~]# firewall-cmd --permanent --zone=public --add-service=dns # 防火墙放行
[root@Server-NFS-DNS ~]# firewall-cmd --reload
[root@Server-NFS-DNS ~]# systemctl start named
- 编辑主配置文件/etc/named.conf
[root@Server-NFS-DNS ~]# vim /etc/named.conf
# 第11 19行修改为any任意主机
11 listen-on port 53 { any; };
19 allow-query { any; };
- 修改区域配置文件/etc/named.rfc1912.zones,清空添加
[root@Server-NFS-DNS ~]# vim /etc/named.rfc1912.zones
zone "openlab.com" IN {
type master;
file "openlab.com.zone";
allow-update { none; };
};
- 新建区域数据文件并配置解析
[root@Server-NFS-DNS ~]# cd /var/named
[root@Server-NFS-DNS named]# cp -a named.localhost openlab.com.zone
[root@Server-NFS-DNS named]# vim openlab.com.zone
# 添加正向解析,注意:解析为192.168.48.130web服务器
$TTL 1D
@ IN SOA openlab.com. admin.openlab.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.openlab.com.
ns IN A 192.168.48.130
www IN A 192.168.48.130
bbs IN A 192.168.48.130
- 启动服务
[root@Server-NFS-DNS named]# systemctl restart named
- 测试:
[root@Server-NFS-DNS ~]# curl www.openlab.com
<!DOCTYPE html><html><head><script>window.onload=function(){window.location.href="/lander"}</script></head></html>