RHCE---搭建博客网站

一.实验要求:

  • Server-NFS-DNS主机配置NFS服务器,将博客网站资源文件共享给Server-web主机,Server-NFS-DNS
  • 主机配置DNS Server-web主机配置web服务,通过域名www.openlab.com可以访问到自建的博客网站

二.准备工作

  • 创建两台虚拟机:分别命名为Server-NFS-DNS Server-web

  • 将两条虚拟机初始化系统

    #在文件/etc/yum.repos.d/中新建一个以.repos 结尾的文件
    [root@timeserver ~]# cd /etc/yum.repos.d/
    [root@timeserver yum.repos.d]# vim /etc/yum.repos.d/wangluo.repo
    #写入如下内容
    [wangluo-app]
    name=wanluo-app
    baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
    gpgcheck=0
    [wangluo-base]
    name=wangluo-base
    baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/
    gpgcheck=0

    #安装软件包
    [root@timeserver yum.repos.d]# yum install vim bash-completion -y
    出现完毕字样代表成功安装

  • 关闭防火墙

    [root@localhost ~]# systemctl disable --now firewalld
    #查看防火墙状态
    [root@localhost ~]# systemctl status firewalld
    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
    Active: inactive (dead) #dead 代表已关闭
    Docs: man:firewalld(1)

  • 关闭SELinux

    [root@localhost ~]# setenforce 0
    #查看关闭状态
    [root@localhost ~]# getenforce
    Permissive #代表关闭

  • 配置给两台虚拟机时间服务器

时间服务器配置详解

三.搭建环境

  • 在 Server-web 服务器上LAMP环境软件 搭建环境

    [root@Server-Web ~]# yum install httpd mariadb-server php* -y

  • 网址:https://cn.wordpress.org/ ,下载后为zip压缩文件

  • 将wordpress上传到192.168.48.131(Server-NFS-DNS)端的/目录下

  • 解压缩:

    [root@Server-NFS-DNS ~]# cd /
    [root@Server-NFS-DNS /]# unzip wordpress-6.1-zh_CN.zip
    [root@Server-NFS-DNS /]# cd wordpress
    [root@Server-NFS-DNS /]# ls

四.配置共享目录

  • 目的:将Server-NFS-DNS端的/wordpress 目录共享给192.168.48.130(Server-Web)
  • 安装NFS服务器
  • 注意:* 和括号之间不能有空格,否则导致共享文件没有权限(本人出错点)

Server-NFS-DNS端配置共享文件

复制代码
[root@localhost ~]# yum install nfs-utils
[root@localhost ~]vim /etc/exports
#写入以下内容实现共享文件
/wordpress *(rw) # * 和括号之间不能有空格
#开启服务
[root@localhost ~]systemctl enable --now nfs-server.service
#查看共享文件
[root@localhost ~]showmount -e 192.168.186.100(Server-NFS-DNS的IP)

Server-Web 端挂载共享文件

复制代码
#安装软件包
[root@localhost ~]# yum install nfs-utils -y
#查看共享文件
[root@localhost ~]#show mount -e 192.168.186.100(Server-NFS-DNS的IP)
#创建挂载点目录
[root@localhost ~]# mkdir /guazai
#将文件挂载到挂载点目录
[root@localhost ~]# cd /guazai
[root@localhost ~]# mount 192.168.186.100:/wordpress /guazai 
#客户端对于服务端的挂载文件属于nobody只有 r 权限,因此需要在服务端修改权限
[root@localhost ~]# chmod o+w /wordpress

五.配置Web服务器

Web服务器配置详解

复制代码
#安装Apache服务器软件
[root@localhost ~]# yum install httpd -y
#打开红帽软件管理器列出安装httpd所使用的文件
[root@localhost ~]# rpm -ql httpd
[root@timeserver ~]# systemctl enable --now httpd
#查看httpd启动情况
[root@timeserver ~]# systemctl status httpd
#查看监听情况
[root@timeserver ~]# netstat -lntup 

[root@timeserver ~]# vim /etc/httpd/conf.d/ip.conf
#192.168.186.13代表Serve-web IP

<virtualhost 192.168.186.133:443>  
servername 192.168.186.133 
documentroot /guazai  #代表访问Serve-web IP自动访问的目录
</virtualhost>

<directory /guazai>
allowoverride none
require all granted   #允许所有人访问
</directory>

#重启HTTP服务
[root@localhost ~]# systemctl restart httpd
[root@Server-Web ~]# vim /etc/httpd/conf/httpd.conf   # 编辑http配置文件

124 DocumentRoot "/guazai"
129 <Directory "/guazai">

六.配置数据库文件

复制代码
[root@Server-Web ~]# cd /guazai
[root@Server-Web guazai]# cp wp-config-sample.php wp-config.php   # 根据模板拷贝配置文件
# 编辑wp-config.php配置文件
[root@Server-Web guazai]# vim wp-config.php
# 定位23行修改后半部分
define('DB_NAME', 'wordpress'); # WordPress数据库的名称
define('DB_USER', 'test1');     # MySQL数据库用户名
define('DB_PASSWORD', '123456');  # MySQL数据库密码 
#启动数据库
[root@Server-Web guazai]# cd ~ 
[root@Server-Web ~]# systemctl start mariadb
  • 在数据库中创建数据库和用户

注意:创建的用户和密码需要和 挂载目录中配置的一样(本人错误)

复制代码
[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   # 退出
  • 重启数据库和HTTP服务,在浏览器中输入Server-Web服务器的IP 地址测试页面是否生效

    [root@Server-Web ~]# systemctl restart mariadb
    [root@Server-Web ~]# systemctl start httpd

七.配置DNS服务器

DNS服务器配置详解

复制代码
#安装软件包
[root@timeserver ~]# cd /etc/yum.repos.d/
[root@timeserver yum.repos.d]# yum install bind -y
#编辑文件
[root@localhost ~]# vim /etc/named.conf
        listen-on port 53 {192.168.186.132;};
        directory "/var/named";
        allow-query {any; }; 
};
zone "openlab.com" IN {
        type master;
        file "named.openlab.com";
};
#复制文件内容到对应文件
[root@timeserver ~]# cp /var/named/named.localhost /var/named/named.openlab.com
[root@localhost ~]# vim /var/named/named.openlab.com
$TTL 1D
@       IN SOA  ns.openlab.com. admin.openlab.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns.openlab.com.
ns IN A 192.168.186.133
www IN A 192.168.186.133

注意:上述复制文件的过程必须严格执行,不可手动在/var/named/named.openlab.com中添加

八.网站搭建成功

相关推荐
草莓熊Lotso1 小时前
Git 分支管理:从基础操作到协作流程(本地篇)
大数据·服务器·开发语言·c++·人工智能·git·sql
江湖有缘1 小时前
Linux系统之htop命令基本使用
linux·运维·服务器
CodeByV1 小时前
【Linux】基础 IO 深度解析:文件、描述符与缓冲区
linux
qq_401700415 小时前
嵌入式用Unix时间的优势及其C语言转换
服务器·c语言·unix
xu_yule7 小时前
Linux_12(进程信号)内核态和用户态+处理信号+不可重入函数+volatile
linux·运维·服务器
虾..7 小时前
Linux 环境变量&&进程优先级
linux·运维·服务器
i***t9198 小时前
Linux下MySQL的简单使用
linux·mysql·adb
偶像你挑的噻8 小时前
11-Linux驱动开发-I2C子系统–mpu6050简单数据透传驱动
linux·驱动开发·stm32·嵌入式硬件
稚辉君.MCA_P8_Java8 小时前
DeepSeek 插入排序
linux·后端·算法·架构·排序算法
郝学胜-神的一滴10 小时前
Linux命名管道:创建与原理详解
linux·运维·服务器·开发语言·c++·程序人生·个人开发