0.用LINUX搭建一个论坛
Linux操作系统讲解:
Linux所有命令(日更)
1、红帽Linux安装配置讲解
2、Linux基本使用以及文件类型根目录结构讲解
3、Linux文件管理以及Vim编辑器的用法讲解
4、文件管理命令及管通符的用法讲解
5、文件管理以及用户和组的管理讲解
6、Linux文件权限管理讲解
- 使用Linux搭建一个简单的论坛
- RHCE——一、安装部署及例行性工作
- RHCE——二、时间服务器
- RHCE——三、远程连接服务器
- RHCE——四、Web服务器(理论篇
- RHCE——五、Web服务器及内网穿透(实验篇
- RHCE——六、基于https协议的静态网站
- RHCE——七、搭建云存储器
- RHCE——八、DNS域名解析服务器
- RHCE——九、SELinux
- RHCE——十、防火墙、iptables、firewalld
- RHCE——十一、NFS服务器
- RHCE——十二、Mysql服务
- RHCE——十三、Shell自动化运维编程基础
- RHCE——十四、变量和引用
- RHCE——十五、shell条件测试
- RHCE——十六、流程控制之条件判断、循环
- RHCE——十七、文本搜索工具-grep、正则表达式
- RHCE——十八、shell编程之sed
- RHCE——十九、shell编程之awk
- RHCE——二十、Ansible及安装与配置
- RHCE——二十一、Ansible模块
使用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
论坛需要 LAMP
或 LNMP
环境才能正常运行。在 Red Hat
上可以使用 yum
命令安装对应的软件包。
这里我们来认识下LAMP环境以及LNMP环境:
LAMP 环境:
Apache Web
服务器:用于提供 Web
服务,处理 HTTP
请求和响应;
MySQL
或 MariaDB
数据库服务器:用于存储和管理 We
b 应用程序的数据;
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
文件:
/var
是Linux
系统下的一个目录,用于存放可变数据。它包含了各种与系统相关的文件,包括日志文件、数据库文件、配置文件等。每个子目录都有特定的用途,具体如下:
/var/log:
存放系统日志文件,包括系统启动、应用程序运行、错误日志等;
/var/spool:
存放有关进程和文件输出的缓存文件,比如 邮件队列、打印队列等;
/var/cache:
用于存储应用程序缓存数据,比如 yum软件包缓存、DNS 缓存等;
/var/lib:
用于存储各种数据库文件、状态文件等;
/var/run:
存放系统运行期间产生的临时文件,比如**PID
文件、套接字文件**等。
/var
目录下的文件通常都是临时性的,并且经常会被修改、增加、删除等,因此其内容易受到影响,并且需要进行备份和维护。
7、测试和优化
完成安装和配置后,可以在浏览器中访问 Discuz
论坛,并创建一些测试帖子来测试其功能。同时,还需要注意对系统性能进行优化和调整,例如调节 Apache
和PHP
的配置,启用缓存等。
四、实现步骤
下面我将详细讲下其中的过程:
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 10月 27 2022 AppStream
dr-xr-xr-x. 1 root root 2048 10月 27 2022 BaseOS
dr-xr-xr-x. 1 root root 2048 10月 27 2022 EFI
-r--r--r--. 1 root root 8154 10月 27 2022 EULA
-r--r--r--. 1 root root 1455 10月 27 2022 extra_files.json
-r--r--r--. 1 root root 18092 10月 27 2022 GPL
dr-xr-xr-x. 1 root root 2048 10月 27 2022 images
dr-xr-xr-x. 1 root root 2048 10月 27 2022 isolinux
-r--r--r--. 1 root root 103 10月 27 2022 media.repo
-r--r--r--. 1 root root 1669 10月 27 2022 RPM-GPG-KEY-redhat-beta
-r--r--r--. 1 root root 3682 10月 27 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结尾的文件,那么每一个文件都会被读取,rhel8和rhel9都需要至少两个仓库:AppStream和BaseOS
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
注解:
<