RHCSA——使用Linux搭建一个简单的论坛

ZY目录

  • Linux操作系统讲解:
  • 使用Linux搭建一个简单的论坛
    • 一、准备工作
    • 二、基础知识
      • 1、PHP超文本预处理器
      • 2、Apache网页服务器
      • 3、mariadb数据库管理系统
    • 三、实现思路
      • 1、安装 LAMP 或 LNMP 环境
      • 2、创建数据库和用户
      • 3、下载和安装 Discuz 论坛
      • 4、更新权限
      • 5、进入安装页面
      • 6、修改 Discuz 配置文件
      • 7、测试和优化
    • 四、实现步骤
      • 1、查看发行版本信息
      • 2、挂载光盘
      • 3、搭建yum安装环境
        • 1.1网络源:
        • 1.2本地源
      • 4、安装http服务
      • 5、启动http服务并配置开机自启动
      • 6、安装软件包:mariadb-server,php,php-mysql[php*]
      • 7、下载并解压论坛源码包Discuz
      • 8、设置selinux为允许,一定要
      • 9、重新启动httpd服务
      • 10、安装Discuz论坛
      • 11、安装数据库
      • 12、添加luntan数据库
      • 13、实现局域网中都可以访问
    • 五、所遇到的问题以及解决方式
      • 报错:错误:连接激活失败:(5) ip 配置无法保留(无可用地址、超时等)。

Linux操作系统讲解:

Linux所有命令(日更)
1、红帽Linux安装配置讲解
2、Linux基本使用以及文件类型根目录结构讲解
3、Linux文件管理以及Vim编辑器的用法讲解
4、文件管理命令及管通符的用法讲解
5、文件管理以及用户和组的管理讲解
6、Linux文件权限管理讲解

使用Linux搭建一个简单的论坛

一、准备工作

1、首先这里我是用的VM17.0虚拟机的版本信息为Red Hat9.0的一个版本,其他版本自然也可以完成这个搭建;
2、其次,这里用到的论坛的框架源码包为Discuz的一个开源的论坛源码包;
3、最后,我之前有一块网卡,利用的是Net模式,之后要用到的是桥接模式
4、读者如果和我一样的话,这里面也自然会讲到如何创建并且配置。

由于这里写的过于详细(自然有时步骤是不必要的),还请认真看完······
这里附上Discuz的源码包下载地址: https://www.dismall.com/thread-14660-1-1.html
在这里插入图片描述下载现在的版本最新的为3.5,这里我将也用3.5来完成搭建。

二、基础知识

1、PHP超文本预处理器

1、PHP (Hypertext Preprocessor超文本预处理器) 是一种用于开发Web应用程序的开源服务器端脚本语言。
2、PHP 可以嵌入 HTML 中,也可以独立运行于PHP的模式下。
3、PHP 语言简单易学,同时具有非常强大的功能,能够进行动态网页创建、文件操作、文本处理、数据库操作等众多操作。
4、PHP 支持绝大多数流行的数据库,例如 MySQL、Oracle、Microsoft SQL Server 等。
5、PHP 还可以通过扩展和库来扩展其功能,扩展和库可以为 PHP 实现许多不同的功能,例如图像处理、PDF 创建和解析、HTML 分析和生成等。
由于 PHP 的开源、跨平台、稳定性好、易于扩展和集成的特点,在互联网应用和 Web 开发中得到广泛应用。

2、Apache网页服务器

1、Apache 是一款开源的、跨平台的 Web 服务器软件。
2、Apache 是最流行的 Web 服务器之一,其市场份额在 2020 年达到了约29%Apache 支持多种操作系统,例如 Windows、Linux、Unix 等,并且支持多种开发语言,例如PHP、Perl、Python、Ruby等。
3、Apache 是一个可扩展的Web服务器,具有众多有用的功能和模块,例如虚拟主机、SSL/TLS 加密、URL 重写、反向代理、动态内容缓存等。
4、Apache 的配置文件简单易用,操作简便,可以满足大规模、高性能、高可靠性的Web服务器需求,非常适合用于互联网应用和企业 Web 系统。

3、mariadb数据库管理系统

1、MariaDB 是一款基于 MySQL 开源关系型数据库管理系统DBMS),它继承了 MySQL 的主要特性和优点,并扩展了一些新的功能。MariaDB MySQL 的创始人之一 Michael Widenius 开发,旨在保持 MySQL 的兼容性,同时改进MySQL原有的一些限制和缺陷。
2、MariaDB 为用户带来了更多的特性、更高的性能、更好的稳定性和更好的安全性。
3、它支持多种操作系统,包括Linux、Windows等,并提供了许多语言的连接器,例如C、C++、Python、PHP、Java等。
4、MariaDB 支持ACID事务,具有高性能、高可靠性、可扩展性等特点。
5、MariaDB 也是开源社区开发的,拥有庞大的用户和开发者群体,同时也有许多的社区支持和文档资源。

三、实现思路

搭建yum的安装环境->安装httpd服务->安装php*软件->安装数据库->登录数据库->创建数据库->搭建论坛
就这个流程,对。

1、安装 LAMP 或 LNMP 环境

Discuz 论坛需要 LAMPLNMP 环境才能正常运行。在 Red Hat 上可以使用 yum 命令安装对应的软件包。
这里我们来认识下LAMP环境以及LNMP环境:
LAMP 环境:
Apache Web 服务器:用于提供 Web 服务,处理 HTTP 请求和响应;
MySQLMariaDB 数据库服务器:用于存储和管理 Web 应用程序的数据;
PHP 解释器:用于解释和执行服务器端的 PHP 代码。
LNMP 环境:
Nginx Web 服务器:用于提供Web服务,处理 HTTP 请求和响应;
MySQL MariaDB 数据库服务器:用于存储和管理 Web 应用程序的数据;
PHP 解释器:用于解释和执行服务器端的PHP代码。

2、创建数据库和用户

使用MySQL命令行或者其他 MySQL 管理工具创建一个新的数据库
同时,也需要创建一个MySQL 用户并授权给该用户访问该数据库。

3、下载和安装 Discuz 论坛

可以在Discuz的官网上下载最新的Discuz软件包,并解压到Apache的网站根目录

4、更新权限

在安装完成后,需检查目录、文件权限是否设置正确。

5、进入安装页面

打开浏览器输入本机IP或域名加上Discuz目录,如:http://localhost/Discuz ,然后按照安装向导填写相关信息,其中需要填写数据库名称、用户名和密码等信息。

6、修改 Discuz 配置文件

安装完成后,在 /var/www/html/Discuz/config/config_global.php 文件中修改MySQL数据库的相关配置信息。
这里我们来科普下Linux下的Var文件:

/varLinux 系统下的一个目录,用于存放可变数据。它包含了各种与系统相关的文件,包括日志文件、数据库文件、配置文件等。每个子目录都有特定的用途,具体如下:
/var/log:存放系统日志文件,包括系统启动、应用程序运行、错误日志等;
/var/spool:存放有关进程和文件输出的缓存文件,比如 邮件队列、打印队列等;
/var/cache:用于存储应用程序缓存数据,比如 yum软件包缓存、DNS 缓存等;
/var/lib:用于存储各种数据库文件、状态文件等;
/var/run:存放系统运行期间产生的临时文件,比如**PID文件、套接字文件**等。
/var 目录下的文件通常都是临时性的,并且经常会被修改、增加、删除等,因此其内容易受到影响,并且需要进行备份和维护

7、测试和优化

完成安装和配置后,可以在浏览器中访问 Discuz 论坛,并创建一些测试帖子来测试其功能。同时,还需要注意对系统性能进行优化和调整,例如调节 ApachePHP的配置,启用缓存等。

四、实现步骤

下面我将详细讲下其中的过程:

1、查看发行版本信息

先看发行版本信息:
红帽类的软件包扩展名.rpm;如果是debian,ubuntu类的扩展名为.deb

[root@rhcsa ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.1 (Plow)
[root@rhcsa ~]# cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="9.1 (Plow)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="9.1"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Red Hat Enterprise Linux 9.1 (Plow)"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:redhat:enterprise_linux:9::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/red_hat_enterprise_linux/9/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_BUGZILLA_PRODUCT_VERSION=9.1
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.1"

2、挂载光盘

获取rpm软件包: rpmfind.net网站,官网,系统安装镜像文件(9个G左右的那个文件)
iso文件浏览到虚拟机的光驱,然后挂载光盘读取光盘里面的文件

[root@rhcsa ~]# mkdir /guangpan
[root@rhcsa ~]# mount /dev/sr0 /guangpan/
mount: /guangpan: WARNING: source write-protected, mounted read-only.
[root@rhcsa ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        4.0M     0  4.0M    0% /dev
tmpfs           3.8G     0  3.8G    0% /dev/shm
tmpfs           1.5G  9.8M  1.5G    1% /run
/dev/nvme0n1p2   30G  4.2G   26G   14% /
/dev/nvme0n1p1  5.0G  308M  4.7G    7% /boot
tmpfs           766M   96K  766M    1% /run/user/0
/dev/sr0        8.5G  8.5G     0  100% /guangpan

这里移动到guangpan文件下面并查看内容:

[root@rhcsa ~]# cd /guangpan/
[root@rhcsa guangpan]# ll
总用量 44
dr-xr-xr-x. 1 root root  2048 1027  2022 AppStream
dr-xr-xr-x. 1 root root  2048 1027  2022 BaseOS
dr-xr-xr-x. 1 root root  2048 1027  2022 EFI
-r--r--r--. 1 root root  8154 1027  2022 EULA
-r--r--r--. 1 root root  1455 1027  2022 extra_files.json
-r--r--r--. 1 root root 18092 1027  2022 GPL
dr-xr-xr-x. 1 root root  2048 1027  2022 images
dr-xr-xr-x. 1 root root  2048 1027  2022 isolinux
-r--r--r--. 1 root root   103 1027  2022 media.repo
-r--r--r--. 1 root root  1669 1027  2022 RPM-GPG-KEY-redhat-beta
-r--r--r--. 1 root root  3682 1027  2022 RPM-GPG-KEY-redhat-release

3、搭建yum安装环境

这里其实创建一个源便好,推荐使用网络源。
不过这里我两个都进行创建:

#这里我们尝试安装软件包,可以看到安装出错
[root@rhcsa Packages]# yum install httpd
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

错误:在"/etc/yum.repos.d", "/etc/yum/repos.d", "/etc/distro.repos.d"中没有被启用的仓库。
#出现以上错误是因为在"/etc/yum.repos.d"下面没有启用的仓库
[root@rhcsa Packages]# yum repolist
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

没有可用的软件仓库

先配置仓库,仓库的文件名必须以.repo结尾,如果有多个以.repo结尾的文件,那么每一个文件都会被读取,rhel8rhel9都需要至少两个仓库:AppStreamBaseOS

1.1网络源:
#首先移动到yum.repos.d目录下
[root@rhcsa Packages]# cd /etc/yum.repos.d/
#创建文件net.repo
[root@rhcsa yum.repos.d]# touch net.repo
#这里进行编辑文件,可以将我下面查看到的内容复制过去进行粘贴即可
[root@rhcsa yum.repos.d]# vim net.repo
[root@rhcsa yum.repos.d]# cat net.repo
[app]
name=appstream
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
gpgcheck=0

[base]
name=baseos
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/
gpgcheck=0

注解:

[app]    #源标识
name=appstream   #名称
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/   #软件仓库的路径
#enabled=1    #1标识启用该仓库,0标识不启用该仓库,默认值是1
gpgcheck=0    #1表示鉴定软件包,0表示不鉴定,默认值是1,如果要鉴定软件包必须要写gpgkey
#gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
1.2本地源

先挂载光盘

#依然首次按查看仓库,看安装是否正确
[root@rhcsa yum.repos.d]# yum repolist
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

仓库 id                                仓库名称
app                                    appstream
base                                   baseos

配置本地源

#步骤同网络源一样,就文件内容不同
[root@rhcsa yum.repos.d]# touch guangpan.repo
[root@rhcsa yum.repos.d]# vim guangpan.repo
[root@rhcsa yum.repos.d]# cat guangpan.repo
[guangpan-app]
name=gungpan-appstream
baseurl=file:///guangpan/AppStream
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[guangpan-base]
name=guanpan-baseos
baseurl=file:///guangpan/BaseOS
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
#查看包信息
#可以查看当前启用的仓库
[root@rhcsa yum.repos.d]# yum repolist
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

仓库 id                               仓库名称
app                                   appstream
base                                  baseos
guangpan-app                          gungpan-appstream
guangpan-base                         guanpan-baseos
#此时可以看到yum安装环境已经配置完成

4、安装http服务

[root@rhcsa yum.repos.d]# yum install httpd -y
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

gungpan-appstream                               111 MB/s | 6.1 MB     00:00
guanpan-baseos                                   80 MB/s | 1.7 MB     00:00
appstream                                       2.8 MB/s |  17 MB     00:05
baseos
上次元数据过期检查:0:00:01 前,执行于 2023年05月31日 星期三 19时07分05秒。
依赖关系解决。

================================================================================
 软件包                                         架构
 
================================================================================
安装:
 httpd                                          x86_64
安装依赖关系:
 apr                                            x86_64
 apr-util                                       x86_64
 apr-util-bdb                                   x86_64
 centos-logos-httpd                             noarch
 httpd-core                                     x86_64
 httpd-filesystem                               noarch
 httpd-tools                                    x86_64
安装弱的依赖:
 apr-util-openssl                               x86_64
 mod_http2                                      x86_64
 mod_lua                                        x86_64

事务概要

================================================================================
安装  11 软件包

总计:2.4 M
总下载:2.1 M
安装大小:6.4 M
下载软件包:

(1/7): httpd-2.4.57-2.el9.x86_64.rpm            105 kB/s |  50 kB     00:00
(2/7): centos-logos-httpd-90.4-1.el9.noarch.rpm 472 kB/s | 252 kB     00:00
(3/7): httpd-filesystem-2.4.57-2.el9.noarch.rpm 261 kB/s |  15 kB     00:00
(4/7): httpd-tools-2.4.57-2.el9.x86_64.rpm      2.4 MB/s |  84 kB     00:00
(5/7): mod_http2-1.15.19-4.el9.x86_64.rpm       2.1 MB/s | 149 kB     00:00
(6/7): httpd-core-2.4.57-2.el9.x86_64.rpm       2.4 MB/s | 1.5 MB     00:00
(7/7): mod_lua-2.4.57-2.el9.x86_64.rpm          1.2 MB/s |  62 kB     00:00

--------------------------------------------------------------------------------
总计                                            3.3 MB/s | 2.1 MB     00:00
gungpan-appstream                               3.5 MB/s | 3.6 kB     00:00
导入 GPG 公钥 0xFD431D51:
 Userid: "Red Hat, Inc. (release key 2) "
 指纹: 567E 347A D004 4ADE 55BA 8A5F 199E 2F91 FD43 1D51
 来自: /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
导入公钥成功
导入 GPG 公钥 0x5A6340B3:
 Userid: "Red Hat, Inc. (auxiliary key 3) "
 指纹: 7E46 2425 8C40 6535 D56D 6F13 5054 E4A4 5A63 40B3
 来自: /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
导入公钥成功
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                 1/1
  安装    : apr-1.7.0-11.el9.x86_64                                        1/11
  安装    : apr-util-bdb-1.6.1-20.el9.x86_64                               2/11
  安装    : apr-util-openssl-1.6.1-20.el9.x86_64                           3/11
  安装    : apr-util-1.6.1-20.el9.x86_64                                   4/11
  安装    : httpd-tools-2.4.57-2.el9.x86_64                                5/11
  运行脚本: httpd-filesystem-2.4.57-2.el9.noarch                           6/11
  安装    : httpd-filesystem-2.4.57-2.el9.noarch                           6/11
  安装    : httpd-core-2.4.57-2.el9.x86_64                                 7/11
  安装    : mod_lua-2.4.57-2.el9.x86_64                                    8/11
  安装    : centos-logos-httpd-90.4-1.el9.noarch                           9/11
  安装    : mod_http2-1.15.19-4.el9.x86_64                                10/11
  安装    : httpd-2.4.57-2.el9.x86_64                                     11/11
  运行脚本: httpd-2.4.57-2.el9.x86_64                                     11/11
  验证    : apr-1.7.0-11.el9.x86_64                                        1/11
  验证    : apr-util-1.6.1-20.el9.x86_64                                   2/11
  验证    : apr-util-bdb-1.6.1-20.el9.x86_64                               3/11
  验证    : apr-util-openssl-1.6.1-20.el9.x86_64                           4/11
  验证    : centos-logos-httpd-90.4-1.el9.noarch                           5/11
  验证    : httpd-2.4.57-2.el9.x86_64                                      6/11
  验证    : httpd-core-2.4.57-2.el9.x86_64                                 7/11
  验证    : httpd-filesystem-2.4.57-2.el9.noarch                           8/11
  验证    : httpd-tools-2.4.57-2.el9.x86_64                                9/11
  验证    : mod_http2-1.15.19-4.el9.x86_64                                10/11
  验证    : mod_lua-2.4.57-2.el9.x86_64                                   11/11
已更新安装的产品。

已安装:
  apr-1.7.0-11.el9.x86_64                apr-util-1.6.1-20.el9.x86_64
  apr-util-bdb-1.6.1-20.el9.x86_64       apr-util-openssl-1.6.1-20.el9.x86_64
  centos-logos-httpd-90.4-1.el9.noarch   httpd-2.4.57-2.el9.x86_64
  httpd-core-2.4.57-2.el9.x86_64         httpd-filesystem-2.4.57-2.el9.noarch
  httpd-tools-2.4.57-2.el9.x86_64        mod_http2-1.15.19-4.el9.x86_64
  mod_lua-2.4.57-2.el9.x86_64

完毕!

5、启动http服务并配置开机自启动

#1、找到安装软件之后的可执行文件执行,例如sl的安装完毕之后执行sl指令即可。
#2、后台进程(不随着终端的关闭而导致该服务程序关闭):软件要一直不停的运行。
[root@rhcsa yum.repos.d]# systemctl start httpd
[root@rhcsa yum.repos.d]# systemctl enable --now  httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
#查看服务运行状态
[root@rhcsa yum.repos.d]# systemctl status  httpd
● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor pre>
     Active: active (running) since Wed 2023-05-31 19:08:08 CST; 31s ago
       Docs: man:httpd.service(8)
   Main PID: 32842 (httpd)
     Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes>
      Tasks: 213 (limit: 48597)
     Memory: 37.5M
        CPU: 263ms
     CGroup: /system.slice/httpd.service
             ├─32842 /usr/sbin/httpd -DFOREGROUND
             ├─33180 /usr/sbin/httpd -DFOREGROUND
             ├─33181 /usr/sbin/httpd -DFOREGROUND
             ├─33182 /usr/sbin/httpd -DFOREGROUND
             └─33183 /usr/sbin/httpd -DFOREGROUND

531 19:08:06 rhcsa systemd[1]: Starting The Apache HTTP Server...
531 19:08:07 rhcsa httpd[32842]: AH00558: httpd: Could not reliably determin>
531 19:08:08 rhcsa httpd[32842]: Server configured, listening on: port 80
531 19:08:08 rhcsa systemd[1]: Started The Apache HTTP Server.
#查看http服务的进程
[root@rhcsa yum.repos.d]# ps -aux | grep httpd
root       32842  0.1  0.1  20172 11576 ?        Ss   19:08   0:00 /usr/sbin/httpd -DFOREGROUND
apache     33180  0.0  0.0  21500  7232 ?        S    19:08   0:00 /usr/sbin/httpd -DFOREGROUND
apache     33181  0.1  0.2 2521164 17172 ?       Sl   19:08   0:00 /usr/sbin/httpd -DFOREGROUND
apache     33182  0.1  0.2 2324492 17168 ?       Sl   19:08   0:00 /usr/sbin/httpd -DFOREGROUND
apache     33183  0.0  0.1 2324492 15124 ?       Sl   19:08   0:00 /usr/sbin/httpd -DFOREGROUND
root       33425  0.0  0.0 221680  2320 pts/0    S+   19:09   0:00 grep --color=auto httpd
[root@rhcsa yum.repos.d]# ps -ef | grep httpd
root       32842       1  0 19:08 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     33180   32842  0 19:08 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     33181   32842  0 19:08 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     33182   32842  0 19:08 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     33183   32842  0 19:08 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root       33428    3284  0 19:09 pts/0    00:00:00 grep --color=auto httpd
#动态查看进程信息
[root@rhcsa yum.repos.d]# top
top - 19:09:26 up 15 min,  2 users,  load average: 0.29, 0.27, 0.15
Tasks: 399 total,   1 running, 398 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.4 sy,  0.0 ni, 99.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7653.9 total,   5613.6 free,   1432.0 used,    885.0 buff/cache
MiB Swap:  10240.0 total,  10240.0 free,      0.0 used.   6221.9 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  33429 root      20   0  226200   4400   3516 R   5.9   0.1   0:00.02 top
      1 root      20   0  173360  17416  10328 S   0.0   0.2   0:02.34 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.06 kthreadd
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par+
      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns
      7 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+
      9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+
     10 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_perc+
     12 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tas+
     13 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tas+
     14 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tas+
     15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftir+
     16 root      20   0       0      0      0 I   0.0   0.0   0:00.26 rcu_pre+
     17 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migrati+
     19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
     20 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/1
     21 root      rt   0       0      0      0 S   0.0   0.0   0:00.69 migrati+
     22 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftir+
     24 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+
     25 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/2
     26 root      rt   0       0      0      0 S   0.0   0.0   0:00.69 migrati+
     27 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftir+
     29 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+
     30 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/3
     31 root      rt   0       0      0      0 S   0.0   0.0   0:00.69 migrati+
     32 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftir+
     33 root      20   0       0      0      0 I   0.0   0.0   0:00.00 kworker+
     34 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+
     35 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/4
     36 root      rt   0       0      0      0 S   0.0   0.0   0:00.69 migrati+
     37 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftir+
     39 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+
     40 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/5
#查看内存信息
[root@rhcsa yum.repos.d]# free -m
               total        used        free      shared  buff/cache   available
Mem:            7653        1431        5614          20         885        6222
Swap:          10239           0       10239

6、安装软件包:mariadb-server,php,php-mysql[php*]

[root@rhcsa yum.repos.d]# yum install mariadb-server -y
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:03:39 前,执行于 2023年05月31日 星期三 19时07分05秒。
依赖关系解决。

================================================================================
 软件包                       架构     版本                仓库            大小
 
================================================================================
安装:
 mariadb-server               x86_64   3:10.5.16-2.el9_0   guangpan-app   9.4 M
安装依赖关系:
 mariadb                      x86_64   3:10.5.16-2.el9_0   guangpan-app   1.6 M
 mariadb-common               x86_64   3:10.5.16-2.el9_0   guangpan-app    39 k
 mariadb-connector-c          x86_64   3.2.6-1.el9_0       guangpan-app   203 k
 mariadb-connector-c-config   noarch   3.2.6-1.el9_0       guangpan-app    11 k
 mariadb-errmsg               x86_64   3:10.5.16-2.el9_0   guangpan-app   227 k
 mysql-selinux                noarch   1.0.5-1.el9_0       guangpan-app    37 k
 perl-DBD-MariaDB             x86_64   1.21-16.el9_0       guangpan-app   156 k
 perl-File-Copy               noarch   2.34-480.el9        app             21 k
 perl-Sys-Hostname            x86_64   1.23-480.el9        app             18 k
安装弱的依赖:
 mariadb-backup               x86_64   3:10.5.16-2.el9_0   guangpan-app   6.4 M
 mariadb-gssapi-server        x86_64   3:10.5.16-2.el9_0   guangpan-app    21 k
 mariadb-server-utils         x86_64   3:10.5.16-2.el9_0   guangpan-app   222 k

事务概要

================================================================================
安装  13 软件包

总计:18 M
总下载:39 k
安装大小:108 M
下载软件包:
(1/2): perl-File-Copy-2.34-480.el9.noarch.rpm    57 kB/s |  21 kB     00:00
(2/2): perl-Sys-Hostname-1.23-480.el9.x86_64.rp  46 kB/s |  18 kB     00:00

--------------------------------------------------------------------------------
总计                                             98 kB/s |  39 kB     00:00
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                 1/1
  安装    : mariadb-connector-c-config-3.2.6-1.el9_0.noarch                1/13
  安装    : mariadb-common-3:10.5.16-2.el9_0.x86_64                        2/13
  安装    : mariadb-connector-c-3.2.6-1.el9_0.x86_64                       3/13
  安装    : perl-Sys-Hostname-1.23-480.el9.x86_64                          4/13
  安装    : perl-DBD-MariaDB-1.21-16.el9_0.x86_64                          5/13
  安装    : mariadb-errmsg-3:10.5.16-2.el9_0.x86_64                        6/13
  安装    : perl-File-Copy-2.34-480.el9.noarch                             7/13
  运行脚本: mysql-selinux-1.0.5-1.el9_0.noarch                             8/13
  安装    : mysql-selinux-1.0.5-1.el9_0.noarch                             8/13
  运行脚本: mysql-selinux-1.0.5-1.el9_0.noarch                             8/13
libsemanage.semanage_direct_install_info: Overriding mysql module at lower priority 100 with module at priority 200.

  安装    : mariadb-backup-3:10.5.16-2.el9_0.x86_64                        9/13
  安装    : mariadb-gssapi-server-3:10.5.16-2.el9_0.x86_64                10/13
  安装    : mariadb-server-utils-3:10.5.16-2.el9_0.x86_64                 11/13
  运行脚本: mariadb-server-3:10.5.16-2.el9_0.x86_64                       12/13
  安装    : mariadb-server-3:10.5.16-2.el9_0.x86_64                       12/13
  运行脚本: mariadb-server-3:10.5.16-2.el9_0.x86_64                       12/13
  安装    : mariadb-3:10.5.16-2.el9_0.x86_64                              13/13
  运行脚本: mysql-selinux-1.0.5-1.el9_0.noarch                            13/13
  运行脚本: mariadb-3:10.5.16-2.el9_0.x86_64                              13/13
  验证    : mariadb-3:10.5.16-2.el9_0.x86_64                               1/13
  验证    : mariadb-backup-3:10.5.16-2.el9_0.x86_64                        2/13
  验证    : mariadb-common-3:10.5.16-2.el9_0.x86_64                        3/13
  验证    : mariadb-connector-c-3.2.6-1.el9_0.x86_64                       4/13
  验证    : mariadb-connector-c-config-3.2.6-1.el9_0.noarch                5/13
  验证    : mariadb-errmsg-3:10.5.16-2.el9_0.x86_64                        6/13
  验证    : mariadb-gssapi-server-3:10.5.16-2.el9_0.x86_64                 7/13
  验证    : mariadb-server-3:10.5.16-2.el9_0.x86_64                        8/13
  验证    : mariadb-server-utils-3:10.5.16-2.el9_0.x86_64                  9/13
  验证    : mysql-selinux-1.0.5-1.el9_0.noarch                            10/13
  验证    : perl-DBD-MariaDB-1.21-16.el9_0.x86_64                         11/13
  验证    : perl-File-Copy-2.34-480.el9.noarch                            12/13
  验证    : perl-Sys-Hostname-1.23-480.el9.x86_64                         13/13
已更新安装的产品。

已安装:
  mariadb-3:10.5.16-2.el9_0.x86_64
  mariadb-backup-3:10.5.16-2.el9_0.x86_64
  mariadb-common-3:10.5.16-2.el9_0.x86_64
  mariadb-connector-c-3.2.6-1.el9_0.x86_64
  mariadb-connector-c-config-3.2.6-1.el9_0.noarch
  mariadb-errmsg-3:10.5.16-2.el9_0.x86_64
  mariadb-gssapi-server-3:10.5.16-2.el9_0.x86_64
  mariadb-server-3:10.5.16-2.el9_0.x86_64
  mariadb-server-utils-3:10.5.16-2.el9_0.x86_64
  mysql-selinux-1.0.5-1.el9_0.noarch
  perl-DBD-MariaDB-1.21-16.el9_0.x86_64
  perl-File-Copy-2.34-480.el9.noarch
  perl-Sys-Hostname-1.23-480.el9.x86_64

完毕!
[root@rhcsa yum.repos.d]# yum install php -y
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:04:13 前,执行于 2023年05月31日 星期三 19时07分05秒。
依赖关系解决。

================================================================================
 软件包                  架构          版本                    仓库        大小
 
================================================================================
安装:
 php                     x86_64        8.0.27-1.el9            app        7.1 k
安装依赖关系:
 nginx-filesystem        noarch        1:1.22.1-2.el9          app         12 k
 php-common              x86_64        8.0.27-1.el9            app        683 k
安装弱的依赖:
 php-cli                 x86_64        8.0.27-1.el9            app        3.1 M
 php-fpm                 x86_64        8.0.27-1.el9            app        1.6 M
 php-mbstring            x86_64        8.0.27-1.el9            app        471 k
 php-opcache             x86_64        8.0.27-1.el9            app        513 k
 php-pdo                 x86_64        8.0.27-1.el9            app         84 k
 php-xml                 x86_64        8.0.27-1.el9            app        134 k

事务概要

================================================================================
安装  9 软件包

总下载:6.5 M
安装大小:35 M
下载软件包:
(1/9): nginx-filesystem-1.22.1-2.el9.noarch.rpm  21 kB/s |  12 kB     00:00
(2/9): php-8.0.27-1.el9.x86_64.rpm               12 kB/s | 7.1 kB     00:00
(3/9): php-cli-8.0.27-1.el9.x86_64.rpm          3.3 MB/s | 3.1 MB     00:00
(4/9): php-common-8.0.27-1.el9.x86_64.rpm       1.5 MB/s | 683 kB     00:00
(5/9): php-fpm-8.0.27-1.el9.x86_64.rpm          2.9 MB/s | 1.6 MB     00:00
(6/9): php-opcache-8.0.27-1.el9.x86_64.rpm      2.4 MB/s | 513 kB     00:00
(7/9): php-mbstring-8.0.27-1.el9.x86_64.rpm     1.3 MB/s | 471 kB     00:00
(8/9): php-pdo-8.0.27-1.el9.x86_64.rpm          488 kB/s |  84 kB     00:00
(9/9): php-xml-8.0.27-1.el9.x86_64.rpm          700 kB/s | 134 kB     00:00

--------------------------------------------------------------------------------
总计                                            4.6 MB/s | 6.5 MB     00:01
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                 1/1
  安装    : php-common-8.0.27-1.el9.x86_64                                  1/9
  安装    : php-cli-8.0.27-1.el9.x86_64                                     2/9
  安装    : php-mbstring-8.0.27-1.el9.x86_64                                3/9
  安装    : php-opcache-8.0.27-1.el9.x86_64                                 4/9
  安装    : php-pdo-8.0.27-1.el9.x86_64                                     5/9
  安装    : php-xml-8.0.27-1.el9.x86_64                                     6/9
  运行脚本: nginx-filesystem-1:1.22.1-2.el9.noarch                          7/9
  安装    : nginx-filesystem-1:1.22.1-2.el9.noarch                          7/9
  安装    : php-fpm-8.0.27-1.el9.x86_64                                     8/9
  运行脚本: php-fpm-8.0.27-1.el9.x86_64                                     8/9
  安装    : php-8.0.27-1.el9.x86_64                                         9/9
  运行脚本: php-8.0.27-1.el9.x86_64                                         9/9
  验证    : nginx-filesystem-1:1.22.1-2.el9.noarch                          1/9
  验证    : php-8.0.27-1.el9.x86_64                                         2/9
  验证    : php-cli-8.0.27-1.el9.x86_64                                     3/9
  验证    : php-common-8.0.27-1.el9.x86_64                                  4/9
  验证    : php-fpm-8.0.27-1.el9.x86_64                                     5/9
  验证    : php-mbstring-8.0.27-1.el9.x86_64                                6/9
  验证    : php-opcache-8.0.27-1.el9.x86_64                                 7/9
  验证    : php-pdo-8.0.27-1.el9.x86_64                                     8/9
  验证    : php-xml-8.0.27-1.el9.x86_64                                     9/9
已更新安装的产品。

已安装:
  nginx-filesystem-1:1.22.1-2.el9.noarch    php-8.0.27-1.el9.x86_64
  php-cli-8.0.27-1.el9.x86_64               php-common-8.0.27-1.el9.x86_64
  php-fpm-8.0.27-1.el9.x86_64               php-mbstring-8.0.27-1.el9.x86_64
  php-opcache-8.0.27-1.el9.x86_64           php-pdo-8.0.27-1.el9.x86_64
  php-xml-8.0.27-1.el9.x86_64

完毕!

7、下载并解压论坛源码包Discuz

[root@rhcsa yum.repos.d]# cd /var/www/html/
[root@rhcsa html]# ll
总用量 0
[root@rhcsa html]# mv /root/Discuz_X3.5_SC_UTF8_20230210.zip .
[root@rhcsa html]# ll
总用量 11432
-rw-r--r--. 1 root root 11706121  531 19:15 Discuz_X3.5_SC_UTF8_20230210.zip
[root@rhcsa html]# unzip Discuz_X3.5_SC_UTF8_20230210.zip

这里我们winlinux之间进行文件的传输可以使用mobaFTP文件传输协议。
当然也可以直接进行传输:

在这里插入图片描述
我们可以看到moba中有一排选项,绿色的那个向上的箭头便是上传。
上传的时候我们需要首先先确定好上传的位置:这里默认为root目录

下面有个follow选项:
RHCSA——使用Linux搭建一个简单的论坛_第1张图片
这里这个选项的意思是随着你所在的文件的位置打开文件:pwd可进行查看。
当然也可以借助外部软件,比如winSCP软件进行文件的传输······
这里我们就先不逐一介绍了。

[root@rhcsa html]# cd upload/
[root@rhcsa upload]# ll
总用量 72
-rw-r--r--.  1 root root 2869  210 15:23 admin.php
drwxr-xr-x. 10 root root  149  210 15:23 api
-rw-r--r--.  1 root root  727  210 15:23 api.php
drwxr-xr-x.  2 root root   23  210 15:23 archiver
drwxr-xr-x.  2 root root   90  210 15:23 config
-rw-r--r--.  1 root root 1040  210 15:23 connect.php
-rw-r--r--.  1 root root  106  210 15:23 crossdomain.xml
drwxr-xr-x. 12 root root  178  210 15:23 data
-rw-r--r--.  1 root root 5558  210 15:21 favicon.ico
-rw-r--r--.  1 root root 2357  210 15:23 forum.php
-rw-r--r--.  1 root root  906  210 15:23 group.php
-rw-r--r--.  1 root root 1325  210 15:23 home.php
-rw-r--r--.  1 root root 6745  210 15:23 index.php
drwxr-xr-x.  5 root root   64  210 15:23 install
-rw-r--r--.  1 root root  998  210 15:23 member.php
-rw-r--r--.  1 root root 2410  210 15:23 misc.php
-rw-r--r--.  1 root root 1790  210 15:23 plugin.php
-rw-r--r--.  1 root root 1086  210 15:23 portal.php
-rw-r--r--.  1 root root  639  210 15:23 robots.txt
-rw-r--r--.  1 root root 1755  210 15:23 search.php
drwxr-xr-x. 10 root root  168  210 15:23 source
drwxr-xr-x.  7 root root   86  210 15:23 static
drwxr-xr-x.  3 root root   38  210 15:23 template
drwxr-xr-x.  8 root root  146  210 15:23 uc_client
drwxr-xr-x. 13 root root 4096  210 15:23 uc_server

这里我们可以·来了解下upload文件:

upload” 文件夹通常用于存放用户上传的文件,例如图片、音频、视频等这些需要保存在服务器端的数据。通常,用户上传的文件需要进行一些安全性检查,例如检查文件类型、大小等,避免恶意代码的注入和安全漏洞的出现。上传的文件还需要进行命名、存储和索引管理等,以确保文件的可用性和可访问性。
在网站开发中,上传文件是一个常见的功能需求,例如用户头像、附件、图库等。通过上传文件,用户可以将自己的文件和数据上传到网站上,与其他用户共享和交流。对于网站管理员而言,上传文件也可以用于网站维护、备份和管理等方面,如服务器数据的上传、定期备份等。
通常,在实现上传文件功能的时候,需要涉及到客户端 HTML 部分和服务端 PHP 程序部分客户端 HTML 部分负责用表单将上传的文件发送到服务器,而服务端 PHP 文件则接收和存储上传的文件。 同时,为了确保文件上传过程的安全性,需要对上传文件的类型、大小、后缀名等进行检查和限制,避免非法文件的上传或者任务附件太大导致服务器异常等问题。

#配置开机自启动
[root@rhcsa upload]# systemctl enable --now httpd
#查看运行状态
[root@rhcsa upload]# systemctl status httpd
● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor pre>
    Drop-In: /usr/lib/systemd/system/httpd.service.d
             └─php-fpm.conf
     Active: active (running) since Wed 2023-05-31 19:08:08 CST; 10min ago
       Docs: man:httpd.service(8)
   Main PID: 32842 (httpd)
     Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes>
      Tasks: 213 (limit: 48597)
     Memory: 37.6M
        CPU: 938ms
     CGroup: /system.slice/httpd.service
             ├─32842 /usr/sbin/httpd -DFOREGROUND
             ├─33180 /usr/sbin/httpd -DFOREGROUND
             ├─33181 /usr/sbin/httpd -DFOREGROUND
             ├─33182 /usr/sbin/httpd -DFOREGROUND
             └─33183 /usr/sbin/httpd -DFOREGROUND

531 19:08:06 rhcsa systemd[1]: Starting The Apache HTTP Server...
531 19:08:07 rhcsa httpd[32842]: AH00558: httpd: Could not reliably determin>
531 19:08:08 rhcsa httpd[32842]: Server configured, listening on: port 80
531 19:08:08 rhcsa systemd[1]: Started The Apache HTTP Server.

设置开机自启动

[root@rhcsa upload]# systemctl enable --now mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.

关闭防火墙

[root@rhcsa upload]# systemctl disable --now firewalld.service
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".

8、设置selinux为允许,一定要

selinx为什么要设置为允许,它又是什么?
这里我依然是简单科普下,之后在Linux进阶中会学到。

SELinuxSecurity-Enhanced Linux)是一种 Linux 内核模块和用户空间工具,主要用于强化 Linux 系统的安全性。 它通过实施强制访问控制MAC策略限制进程、用户和服务对文件、目录、设备等系统资源的访问。
具体来说,SELinux 对系统资源进行了标记和分类,并针对不同类型和级别的资源设置了访问控制和安全策略。这些策略与用户和进程的安全上下文紧密相关,确保只有授权的用户和进程才能访问或操作特定的资源。如果试图违反安全策略,则会提示警告或拒绝访问。
与其他访问控制工具不同,SELinux 在较低的系统层面上对进程进行审查,可以检测到许多传统安全控制方式所不能掌控的安全风险,以及应用程序中的安全漏洞。此外,使用 SELinux 可以让用户和组的权限得到更精确的限制,防止被盗取的帐户对系统造成破坏。
虽然 SELinux 可以提高系统的安全性,但是它也会给系统管理带来额外的负担和挑战。因为 SELinux 的策略非常严格,可能会限制某些常规操作的执行,如软件的安装和配置,因此需要特别小心和细心地配置。在使用 SELinux 之前,需要对其配置和操作方式进行深入了解和学习,以便确保正确使用它提供的保护机制。

#查看selinux
#临时设置selinux为permissive
[root@rhcsa upload]# getenforce
Enforcing
[root@rhcsa upload]# setenforce 0
[root@rhcsa upload]# getenforce
Permissive

这里同样来说明下如果不开setenforce 0可能看不到目前用IP访问的界面。
RHCSA——使用Linux搭建一个简单的论坛_第2张图片

#查看httpd进程有运行状态
[root@rhcsa upload]# ps -ef | grep httpd
root       32842       1  0 19:08 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     33180   32842  0 19:08 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     33181   32842  0 19:08 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     33182   32842  0 19:08 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     33183   32842  0 19:08 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root       35260    3284  0 19:21 pts/0    00:00:00 grep --color=auto httpd
[root@rhcsa upload]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:6c:54:be brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.13.129/24 brd 192.168.13.255 scope global dynamic noprefixroute ens160
       valid_lft 1013sec preferred_lft 1013sec
    inet6 fe80::20c:29ff:fe6c:54be/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
#查看web服务的监听情况,这里的80也就是端口号
[root@rhcsa upload]# ss -lntup | grep 80
tcp   LISTEN 0      80                 *:3306             *:*    users:(("mariadbd",pid=35148,fd=19))                                                           
tcp   LISTEN 0      511                *:80               *:*    users:(("httpd",pid=33183,fd=4),("httpd",pid=33182,fd=4),("httpd",pid=33181,fd=4),("httpd",pid=32842,fd=4))

9、重新启动httpd服务

[root@rhcsa upload]# systemctl restart httpd
[root@rhcsa upload]# ll
总用量 72
-rw-r--r--.  1 root root 2869  210 15:23 admin.php
drwxr-xr-x. 10 root root  149  210 15:23 api
-rw-r--r--.  1 root root  727  210 15:23 api.php
drwxr-xr-x.  2 root root   23  210 15:23 archiver
drwxr-xr-x.  2 root root   90  210 15:23 config
-rw-r--r--.  1 root root 1040  210 15:23 connect.php
-rw-r--r--.  1 root root  106  210 15:23 crossdomain.xml
drwxr-xr-x. 12 root root  178  210 15:23 data
-rw-r--r--.  1 root root 5558  210 15:21 favicon.ico
-rw-r--r--.  1 root root 2357  210 15:23 forum.php
-rw-r--r--.  1 root root  906  210 15:23 group.php
-rw-r--r--.  1 root root 1325  210 15:23 home.php
-rw-r--r--.  1 root root 6745  210 15:23 index.php
drwxr-xr-x.  5 root root   64  210 15:23 install
-rw-r--r--.  1 root root  998  210 15:23 member.php
-rw-r--r--.  1 root root 2410  210 15:23 misc.php
-rw-r--r--.  1 root root 1790  210 15:23 plugin.php
-rw-r--r--.  1 root root 1086  210 15:23 portal.php
-rw-r--r--.  1 root root  639  210 15:23 robots.txt
-rw-r--r--.  1 root root 1755  210 15:23 search.php
drwxr-xr-x. 10 root root  168  210 15:23 source
drwxr-xr-x.  7 root root   86  210 15:23 static
drwxr-xr-x.  3 root root   38  210 15:23 template
drwxr-xr-x.  8 root root  146  210 15:23 uc_client
drwxr-xr-x. 13 root root 4096  210 15:23 uc_server

10、安装Discuz论坛

1、输入自己的IP地址比如我虚拟机IP地址为192.168.13.129
2、则我这里访问的链接就为www.192.168.13.129/upload/
3、如果是下面这个界面还请刷新下界面。
在这里插入图片描述
正确的界面应为:
在这里插入图片描述
接着这里点击接收,我们将看到如下这个界面:
在这里插入图片描述
在这里插入图片描述
当然这里我们一步一步来,首先第一步自然是解决它不能写等权限,这里我们仔细看可以发现,这些文件都是config/,data/以及uc*目录下的。
那么这里我就最简单的解决方式便是将他们直接赋予最高权限777
实现代码: [root@rhcsa upload]# chmod -R 777 config/ data/ uc*
-R便是进行递归修改文件的执行权限。
接着我们配置结束权限之后可以看到如下界面:
在这里插入图片描述
这里显示的是请检查mysqli是否正确加载,也就是有服务还没有进行配置。

11、安装数据库

#首先我们当然是搜索出来php的软件包
[root@rhcsa upload]# yum list | grep php
php.x86_64                                           8.0.27-1.el9                       @app
php-cli.x86_64                                       8.0.27-1.el9                       @app
php-common.x86_64                                    8.0.27-1.el9                       @app
php-fpm.x86_64                                       8.0.27-1.el9                       @app
php-mbstring.x86_64                                  8.0.27-1.el9                       @app
php-opcache.x86_64                                   8.0.27-1.el9                       @app
php-pdo.x86_64                                       8.0.27-1.el9                       @app
php-xml.x86_64                                       8.0.27-1.el9                       @app
php-bcmath.x86_64                                    8.0.27-1.el9                       app
php-dba.x86_64                                       8.0.27-1.el9                       app
php-dbg.x86_64                                       8.0.27-1.el9                       app
php-devel.x86_64                                     8.0.27-1.el9                       app
php-embedded.x86_64                                  8.0.27-1.el9                       app
php-enchant.x86_64                                   8.0.27-1.el9                       app
php-ffi.x86_64                                       8.0.27-1.el9                       app
php-gd.x86_64                                        8.0.27-1.el9                       app
php-gmp.x86_64                                       8.0.27-1.el9                       app
php-intl.x86_64                                      8.0.27-1.el9                       app
php-ldap.x86_64                                      8.0.27-1.el9                       app
php-mysqlnd.x86_64                                   8.0.27-1.el9                       app
php-odbc.x86_64                                      8.0.27-1.el9                       app
php-pear.noarch                                      1:1.10.13-1.el9                    guangpan-app
php-pear.noarch                                      1:1.10.13-1.el9                    app
php-pecl-apcu.x86_64                                 5.1.20-5.el9                       guangpan-app
php-pecl-apcu.x86_64                                 5.1.20-5.el9                       app
php-pecl-apcu-devel.x86_64                           5.1.20-5.el9                       guangpan-app
php-pecl-apcu-devel.x86_64                           5.1.20-5.el9                       app
php-pecl-rrd.x86_64                                  2.0.3-3.el9                        guangpan-app
php-pecl-rrd.x86_64                                  2.0.3-3.el9                        app
php-pecl-xdebug3.x86_64                              3.1.2-1.el9                        guangpan-app
php-pecl-xdebug3.x86_64                              3.1.2-1.el9                        app
php-pecl-zip.x86_64                                  1.19.2-6.el9                       guangpan-app
php-pecl-zip.x86_64                                  1.19.2-6.el9                       app
php-pgsql.x86_64                                     8.0.27-1.el9                       app
php-process.x86_64                                   8.0.27-1.el9                       app
php-snmp.x86_64                                      8.0.27-1.el9                       app
php-soap.x86_64                                      8.0.27-1.el9                       app
#然后再其中过滤出mysql的可安装包
[root@rhcsa upload]# yum list | grep php | grep mysql
php-mysqlnd.x86_64                                   8.0.27-1.el9                       app
[root@rhcsa upload]# yum list php-mysqlnd
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:25:25 前,执行于 2023年05月31日 星期三 19时07分05秒。
可安装的软件包
php-mysqlnd.x86_64                       8.0.27-1.el9                        app
#这里查看系统有没有进行安装注册
[root@rhcsa upload]# yum search php-mysqlnd
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:25:42 前,执行于 2023年05月31日 星期三 19时07分05秒。
========================== 名称 精准匹配:php-mysqlnd ==========================
php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
#安装数据库
[root@rhcsa upload]# yum install php-mysqlnd -y
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:26:28 前,执行于 2023年05月31日 星期三 19时07分05秒。
依赖关系解决。

================================================================================
 软件包               架构            版本                   仓库          大小
 
================================================================================
安装:
 php-mysqlnd          x86_64          8.0.27-1.el9           app          152 k

事务概要

================================================================================
安装  1 软件包

总下载:152 k
安装大小:450 k
下载软件包:
php-mysqlnd-8.0.27-1.el9.x86_64.rpm             196 kB/s | 152 kB     00:00

--------------------------------------------------------------------------------
总计                                            195 kB/s | 152 kB     00:00
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                 1/1
  安装    : php-mysqlnd-8.0.27-1.el9.x86_64                                 1/1
  运行脚本: php-mysqlnd-8.0.27-1.el9.x86_64                                 1/1
  验证    : php-mysqlnd-8.0.27-1.el9.x86_64                                 1/1
已更新安装的产品。

已安装:
  php-mysqlnd-8.0.27-1.el9.x86_64

完毕!
#监听数据库执行状态
[root@rhcsa upload]# ss -lntup | grep 3306
tcp   LISTEN 0      80                 *:3306             *:*    users:(("mariadbd",pid=35148,fd=19))                                                           

12、添加luntan数据库

#设置数据库管理员root的密码
#这里设置账户密码:u是代表用户user的意思,p也就是密码:passwd
[root@rhcsa upload]# mysqladmin -uroot password '123456'
#添加luntan数据库
[root@rhcsa upload]# mysql -uroot -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.5.16-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
#查看当前存在的数据库名
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.001 sec)
#创建一个数据库名为luntan的数据库
MariaDB [(none)]> create database luntan;
Query OK, 1 row affected (0.001 sec)
#查看当前存在的数据库名
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| luntan             |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.001 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| luntan             |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.001 sec)
#退出
MariaDB [(none)]> quit;
Bye

这里我们接着去浏览器进行刚才的配置:
下面这张图为数据库刚安装成功后截的
在这里插入图片描述
这一步之后直接默认,然后到第三步也就是数据库的配置
这里我们将数据库的名称改为我们刚才进行创建的数据库的名称:luntan
然后我们再在下面输入刚才所设置的管理员用户名以及密码就可完成数据库的配置以及安装。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这个时候我们就可以访问虚拟机然后登陆论坛了
在这里插入图片描述
但是,这里光我一个人可以使用,这好玩吗?
不好玩,所以我们需要将可以访问这个网站的主机数量提高到自己的局域网内的所有主机搜可以来访问这个论坛。

这里由于我原本是nat方式的自然不可以完成我那个要求。
所以,这个时候我可以进行添加一块网卡:
在这里插入图片描述
这里我们可以看到右下角有许多小标,第一个硬盘,第二个DVD,第三个网络适配器
我们只需要鼠标右键点击那些小标,弹出设置点开:
在这里插入图片描述
这里我们选择桥接方式连接网络,如下图:
在这里插入图片描述

13、实现局域网中都可以访问

#查看网卡对应的会话名
[root@rhcsa html]# nmcli connection
NAME    UUID                                  TYPE      DEVICE
ens160  6a85e48e-0f2a-37eb-9a0a-38296c2998a8  ethernet  ens160
#查看linux的网卡名,我们这里可以看到有一个ens224
[root@rhcsa upload]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group de
    link/ether 00:0c:29:6c:54:be brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.13.129/24 brd 192.168.13.255 scope global dynamic noprefixroute
       valid_lft 1401sec preferred_lft 1401sec
    inet6 fe80::20c:29ff:fe6c:54be/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group de
    link/ether 00:0c:29:6c:54:c8 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
[root@rhcsa html]# nmcli device connect ens224
成功用 "ens224e8c203d6-f1b4-4b0a-9db1-d1ad1e499975" 激活了设备 ""
#再次查看网卡对应的会话名
[root@rhcsa html]# nmcli connection
NAME    UUID                                  TYPE      DEVICE
ens160  6a85e48e-0f2a-37eb-9a0a-38296c2998a8  ethernet  ens160
ens224  e8c203d6-f1b4-4b0a-9db1-d1ad1e499975  ethernet  ens224
#再次查看网卡名以及其IP地址
[root@rhcsa html]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group de
    link/ether 00:0c:29:6c:54:be brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.13.129/24 brd 192.168.13.255 scope global dynamic noprefixroute
       valid_lft 931sec preferred_lft 931sec
    inet6 fe80::20c:29ff:fe6c:54be/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group de
    link/ether 00:0c:29:6c:54:c8 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    inet 192.168.123.93/24 brd 192.168.123.255 scope global dynamic noprefixrout
       valid_lft 86264sec preferred_lft 86264sec
    inet6 fe80::921a:ec44:730b:9b95/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
[root@rhcsa html]#

五、所遇到的问题以及解决方式

报错:错误:连接激活失败:(5) ip 配置无法保留(无可用地址、超时等)。

在本实验最后结尾配置了ens224,一直不能激活,如下图:
RHCSA——使用Linux搭建一个简单的论坛_第3张图片
这里是由于网卡进行桥接的时候选错了主机的网卡;
甚至虚拟机出现了连接不上等问题,这里的解决方式为:
1、首先打开VMware:
RHCSA——使用Linux搭建一个简单的论坛_第4张图片
2、这里点击编辑有一个虚拟虚拟网络编辑器点开,如下图:
RHCSA——使用Linux搭建一个简单的论坛_第5张图片
==3、这里我们点击更改设置,然后给管理员权限进行配置,如下图:
==RHCSA——使用Linux搭建一个简单的论坛_第6张图片
RHCSA——使用Linux搭建一个简单的论坛_第7张图片
4、这里我们点击已桥接至,然后选择网卡进行桥接
RHCSA——使用Linux搭建一个简单的论坛_第8张图片
5、这里选择到主机的真实网卡进行桥接,即可解决这个错误。
那么本次Linux搭建一个论坛的讲解结束。

你可能感兴趣的:(Linux,linux,php,服务器,bash,mysql)