【运维工程师学习六】LAM部署搭建个人Discuz论坛

【运维工程师学习六】LAM部署搭建个人Discuz论坛

    • 1、先卸载Mariadb再安装Mysql
    • 2、MySQL官网rpm包下载
    • 3、在rpm包路径下安装 YUM Repo 文件
    • 4、更新软件仓库本地数据库信息
    • 5、开始部署——php的安装
    • 6、搜索yum包
    • 7、开始部署——配置apache以支持php
      • (1)配置使apache能执行php脚本
      • (2)修改配置后重启apache使配置生效。
    • 8、开始部署——配置apache以支持php
    • 9、journalctl排错
    • 10、开始部署——创建数据库
    • 11、为discuz创建独立账户
    • 12、网站安装程序
      • (1)依赖补充

1、先卸载Mariadb再安装Mysql

systemctl stop mariadb
yum remove mariadb

2、MySQL官网rpm包下载

https://dev.mysql.com/downloads/repo/yum/在这里插入图片描述

wget https://dev.mysql.com/get/你要下载的rpm包
wget https://dev.mysql.com/get/mysql80-community-release-el8-5.noarch.rpm

在这里插入图片描述

  • 找到下载位置
ls /etc/yum.repos.d
  • 不在上面位置的话就在刚刚下载的路径下
ls 

在这里插入图片描述

3、在rpm包路径下安装 YUM Repo 文件

yum localinstall mysql80-community-release-el8-5.noarch.rpm

在这里插入图片描述

4、更新软件仓库本地数据库信息

yum makecache

在这里插入图片描述

yum list | grep mysql

在这里插入图片描述

  • 如果你跟我一样之前安装过MairaDB的,请在安装完MySQL后执行(只限MySQL8.0前的版本,8.0开始的版本请看这篇文章:https://blog.csdn.net/weixin_43576565/article/details/131702483)
mysql_upgrade -u root –p
  • 更新数据库(密码为你之前的MariaDB的root密码)。至此DB安装完成。

5、开始部署——php的安装

默认安装的apache不支持php。
系统自带软件仓库中同样有php二进制包,但软件仓库中的关于php的二进制包按功能组件单独编译,即php主程序被编译成一个包,其它组件如gd库、mysql库、xml库等等都被单独编译,如果网站代码中需要用到这些库则都需要安装,一般代码的说明文档会说明需要哪些库支持的。看了Discuz的readme文件,除对数据库有说明,其它的均没有说明,则本次只安装两个。使用如下安装命令:

yum install -y php php-mysql

在这里插入图片描述

  • 报错Error: Unable to find a match: php-mysql
    原因新版的名字发生了改变,为避免下次还发生改变,使用下次命令查清名字后再安装

6、搜索yum包

yum search php-mysql
  • 修改名字后开始安装
yum install -y php php-mysqlnd

在这里插入图片描述

7、开始部署——配置apache以支持php

(1)配置使apache能执行php脚本

安装了php及相关组件(库),需要在apache中作相关配置才能使apache能执行php脚本(代码)。配置如下:
编辑httpd.conf(yum安装的apache配置文件路径为/etc/httpd/conf/httpd.conf)文件
1、查找AddType text/html .shtml,在其它下方添加AddType application/x-httpd-php .php
2、查找DirectoryIndex index.html,将其修改为DirectoryIndex index.html index.php

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

(2)修改配置后重启apache使配置生效。

systemctl restart httpd

在这里插入图片描述

8、开始部署——配置apache以支持php

配置完成apache后,需要检验apache是否正常支持php。检验方法是在网站根目录中添加一个php文件,文件名随意,如phptest.php,文件内容如下:

<?php
phpinfo();
?>

在这里插入图片描述
这是最简单的php代码,因为其只有一个函数phpinfo()。由于这个文件的作用是探测服务器是否支持PHP,因此这个文件又叫探针。但这是最简单的探针文件,网络上有不少功能强大的php探针脚本,可搜索下载来看看。

我这边把phptest.php设置为了默认启动页可以直接通过ip访问,当然通过路径去访问也行
在这里插入图片描述

在这里插入图片描述

9、journalctl排错

配置过程中如果出现报错启动不了,可以通过journalctl -xe排查错误,具体操作可以参考下例:
在这里插入图片描述

journalctl -xe
  • 去到指定文件把311行内容删除

在这里插入图片描述

10、开始部署——创建数据库

create database discuz;
show databases;

在这里插入图片描述

11、为discuz创建独立账户

CREATE USER 'dztest'@'localhost'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON discuz.* TO 'dztest'@'localhost';

在这里插入图片描述

  • 上传网站代码至apache指定DocumentRoot目录

在这里插入图片描述
这里使用Xftp进行上传,上传成功后,请确保网站根目录下所有文件的所有者为apache运行用户。使用yum安装的apache运行用户名为gee(这里改为你的用户名),因此上传代码文件后,我执行了权限修改命令,确保网站所有文件的所有者均为gee。命令如下:

chown -R apache:gee /var/www/html

在这里插入图片描述

12、网站安装程序

你的ip/upload/install/index.php

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

(1)依赖补充

  • 通过yum搜索缺少的依赖全称,这里以缺少json依赖为例(具体缺啥就搜啥):
yum search php-json  #search啥看你缺少啥,他会提示的,我这里缺少的是json
yum install php-json

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

  • 数据库创建为前面创建的discuz,当然你用他默认的也行只要你后期维护知道是Discuz的论坛数据库就行

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

  • 到此就安装完毕啦,下面展示Discuz的用户管理中心、主页、管理后台

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/5080.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitHub上整理的一些实用的工具

1. Visual Studio Code 简称VScode&#xff0c;是一个轻量且强大的跨平台开源代码编辑器&#xff08;IDE&#xff09;&#xff0c;支持Windows&#xff0c;OS X和Linux。内置JavaScript、TypeScript和Node.js支持&#xff0c;而且拥有丰富的插件生态系统&#xff0c;可通过安装…

关于GDP调试

说出一些常见的指令 break&#xff08;或缩写为b&#xff09;&#xff1a;设置断点&#xff0c;例如 b main 在 main 函数处设置断点run&#xff08;或缩写为r&#xff09;&#xff1a;运行程序。step&#xff08;或缩写为s&#xff09;&#xff1a;单步执行程序&#xff0c;进…

SylixOS下SSH和SFTP连接

简要 基于网络的连接&#xff08;telnet&#xff0c;ftp&#xff09;方便高效&#xff0c;但其是基于明文的通信&#xff0c;容易被窃取、篡改和攻击&#xff0c;存在网络安全问题&#xff0c;尤其在进行远程访问时&#xff0c;穿过复杂未知的公网环境非常危险&#xff0c;为此…

快速替换chatgpt-web项目的access token的脚本

问题背景&#xff0c;由于GPT access token 会定期失效&#xff0c;更换服务器的项目的access token较为繁琐&#xff0c;特写一脚本协助完成更换access token。 使用方法&#xff1a; # token从https://chat.openai.com/api/auth/session获取 ./replace_token.sh token脚本内…

ELK-日志服务【es-安装使用】

目录 【1】安装-配置elasticsearch&#xff08;01、02、03相同&#xff09; 端口 【2】安装-配置-启动-Kibana 【3】浏览器访问测试&#xff08;10.0.0.21:5601&#xff09; 【4】使用kibana创建、更新、删除es索引、文档 【5】组es集群&#xff08;投票选举机制&#xf…

代码随想录一刷day49

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣121. 买卖股票的最佳时机二、力扣122.买卖股票的最佳时机II 前言 一、力扣121. 买卖股票的最佳时机 class Solution {public int maxProfit(int[] pr…

64.合理使用预训练网络-3

64.1 目标检测中如何从零开始训练(train from scratch) 目标检测和其他任务从零训练模型一样,只要拥有足够的数据以及充分而有效的训练,同样能训练出不亚于利用预训练模型的检测器。 1、数据集不大时,同样需要进行数据集增强。2、预训练模型拥有更好的初始化,train from sc…

【多线程】(六)Java并发编程深度解析:常见锁策略、CAS、synchronized原理、线程安全集合类和死锁详解

文章目录 一、常见锁策略1.1 乐观锁和悲观锁1.2 读写锁1.3 重量级锁和轻量级锁1.4 自旋锁1.5 公平锁和非公平锁1.6 可重入锁和不可重入锁 二、CAS2.1 什么是CAS2.2 CAS的实现原理2.3 CAS应用2.4 ABA问题 三、synchronized原理3.1 synchronized锁的特点3.2 加锁工作过程3.3 锁消…

自动驾驶多任务框架 MultiTask V3、HybridNets和YOLOP比较

目标检测和分割是自动驾驶汽车感知系统的两个核心模块。它们应该具有高效率和低延迟,同时降低计算复杂性。目前,最常用的算法是基于深度神经网络的,这保证了高效率,但需要高性能的计算平台。 在自动驾驶汽车的场景下,大多使用的都是计算能力有限的嵌入式平台,这使得难以满…

力扣 332. 重新安排行程

一、题目描述 给你一份航线列表 tickets&#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&#xff0c;所以该行程必须从 JFK 开始。…

leetcode_167两数之和II

1. 题目 两数之和II 2. 题意 有序数组&#xff0c;找到两数和为一固定值的两数下标。要求只能用到常数的空间。 3. 题解 与两数之和的区别是排好序了&#xff0c;且不能用额外的空间。即不能使用哈希表了&#xff0c;二重循环时间复杂度会超。 3.1 二分 固定指针左端&am…

通过定时任务+sh脚本方式实现服务器日志文件异机备份

需求&#xff1a; 等保要求服务器A日志(服务器、数据库、后端、nginx、redis等)备份在另外一台服务器B上 实现原理 通过定时任务sh脚本scp命令&#xff0c;实现定时执行脚本&#xff0c;将文件备份到另外一台服务器上 例子&#xff1a; step1、准备工作 服务器A ipA 服务…

CMake 学习笔记(子目录 续)

这篇博客接着上篇。我们的目录结构和上一个例子完全相同。 CMakeLists.txt MathFunctions|- CMakeLists.txt|- MathFunctions.cxx|- MathFunctions.h|- mysqrt.cxx|- mysqrt.htutorial.cxx TutorialConfig.h.in在上一个例子中&#xff0c;为了包含 MathFunctions 库。我们在最…

区块链:哈希算法与一致性哈希算法

本篇主要介绍区块链中常用到的哈希算法。 1 哈希算法 1.1 定义及特性 哈希算法是指通过哈希函数(Hash Function)对任意长度的输入数据(比如文件、消息、数字等)进行转换&#xff0c;生成一个固定长度的哈希值(Hash Value)的过程。   在区块链中&#xff0c;哈希算法常用于区…

蓝桥杯上岸每日N题 第一期(一)!!!

大家好 我是寸铁&#x1f4aa; 考前需要刷大量真题,大家一起相互监督&#xff0c;每日做N题&#xff0c;一起上岸吧✌️ ~ 第一期(一) 题目&#xff1a;回文日期 ✨ 考点&#xff1a;枚举模拟 &#x1f4aa; 该题目类型会同时收录在相关复习专题&#xff0c;供大家学习 收…

计算机网络基础-OSI七层模型 和 TCP/IP四层模型的对比

OSI七层模型 和 TCP/IP四层模型的对比 OSI七层模型&#xff1a; 理论上的网络通信模型 记忆&#xff1a; (物、链、网、输、会、示、用) TCP/IP四层模型&#xff1a; 实际上的网络通信标准 (1) 七层网络体系结构各层的主要功能&#xff1a; 应用层&#xff1a; 最上层的&am…

Nginx配置整合:基本概念、命令、反向代理、负载均衡、动静分离、高可用

一、基本概念 1.什么是Nginx Nginx是一个高性能的HTTP和反向代理服务器&#xff0c;也是一个IMAP/POP3/SMTP代理server。其特点是占有内存少。并发能力强&#xff0c;其并发能力确实在同类型的网页server中表现较好。 http服务器 Web服务器是指驻留于因特网上某种类型计算机的程…

请问支付功能如何测试

目录 01测试思维 02支付功能的测试点 一&#xff1a;支付的分类&#xff1a; 二&#xff1a;功能测试 三&#xff1a;接口测试 四&#xff1a;安全测试 五&#xff1a;测试点 01测试思维 要分析测试点之前&#xff0c;我们先来梳理一下测试思维。总结来说&#xff0c;任…

IP首部报文字段

一、IP首部报文字段 字段如下图所示 二、每个字段的含义 版本 表示 IP 协议的版本。通信双方使用的 IP 协议版本必须一致。目前广泛使用的IP协议版本号为 4&#xff0c;即 IPv4 首部长度 这个字段所表示数的单位是 32 位字长&#xff08;1 个 32 位字长是 4 字节&#xff0…

分布式事务 Seata

分布式事务 Seata 事务介绍分布式理论Seata 介绍Seata 部署与集成Seata TC Server 部署微服务集成 Seata XA 模式AT 模式AT 模式执行过程读写隔离写隔离读隔离 实现 AT 模式 TCC 模式TCC 模式介绍实现 TCC 模式 Saga 模式Seata 四种模式对比 事务介绍 事务&#xff08;Transac…