LinuxShell编程2——shell搭建Discuzz论坛网站

目录

一、环境准备

①准备一台虚拟机

②初始化虚拟机

1、关闭防火墙

2、关闭selinux

3、配置yum源

4、修改主机名

 二、搭建LAMP环境

①安装httpd(阿帕奇apache)服务器

查看是否安装过httpd

启动httpd

设置开机启动

查看状态

安装网络工具

测试

②安装mysql5.7

下载mysql安装包

使用MobaXterm软件将mysql5.7的包上传到服务器

安装mysql

启动mysql

查看mysql的临时密码

​编辑

登录mysql改密码

创建discuz数据库用于存储discuz的数据

③安装php

下载

查看yum仓库

启用php80的yum源

安装php80

启动php

测试

注意要重启apache

④部署discuz论坛

下载安装包

上传软件包

解压安装包

拷贝discuz相关的文件到/var/www/html/

重启apache服务

打开网页安装论坛


什么是LAMP ?

LAMP是一个架构的组合

LAMP=Linux+Apache+Mysql+PHP

LNMP=Linux+Nginx+Mysql+php

Apache:是世界使用排名第一的Web服务器软件

php:一种专门用于Web开发的编程语言

Mysql:关系型数据库的管理系统,用于存储结构化的数据

一、环境准备

①准备一台虚拟机

192.168.50.166

②初始化虚拟机

1、关闭防火墙

2、关闭selinux

进里面修改SELINUX=disabled

3、配置yum源

配置阿里云的centos源和 epel源

#curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

#curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

# yum clean all

# yum makecache fast

4、修改主机名

# hostnamectl set-hostname discuz

 二、搭建LAMP环境

AMP的关系

①安装httpd(阿帕奇apache)服务器

查看是否安装过httpd

# rpm -qa |grep httpd

# yum -y install httpd

启动httpd

# systemctl start httpd

设置开机启动

# systemctl enable httpd

查看状态

# systemctl status httpd

安装网络工具

# yum -y install net-tools
# netstat -tunlp |grep 80

测试

# echo "welecome  to  Apache" > /var/www/html/index.html
# systemctl restart httpd
# curl 192.168.50.166(自己的IP地址)

②安装mysql5.7

下载mysql安装包

使用MobaXterm软件将mysql5.7的包上传到服务器

(需要mysql安装包和MobaXterm软件压缩包的小伙伴们可call我,发你们哇!😄)

安装mysql

安装mysql的rpm包它是有依赖关系的,所以安装是有先后顺序的
过虑你的服务器是否有Mysql
# rpm -qa |grep mysql
# rpm -qa |grep mariadb

# rpm -e mariadb-libs-5.5.68-1.el7.x86_64  --nodeps
# rpm -qa |grep mariadb

 必须按照以下顺序安装,它们有依赖关系

# rpm -ivh mysql-community-common-5.7.40-1.el7.x86_64.rpm

# rpm -ivh mysql-community-libs-5.7.40-1.el7.x86_64.rpm

# rpm -ivh mysql-community-libs-compat-5.7.40-1.el7.x86_64.rpm

# rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm

# rpm -ivh mysql-community-server-5.7.40-1.el7.x86_64.rpm

启动mysql

# systemctl start mysqld

# systemctl status mysqld

# netstat -tunlp |grep 3306

查看mysql的临时密码

# grep 'temporary password' /var/log/mysqld.log

登录mysql改密码

# mysql -uroot -p'G0Ea,VzsT_4D'

-u是指用户登录

-p是指定密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

刷新权限

mysql> flush privileges;

mysql> exit

创建discuz数据库用于存储discuz的数据

# mysql -uroot -p'MyNewPass4!'
mysql>  create database discuz;
mysql> exit

③安装php

PHP: Hypertext Preprocessor

  1. 配置php的yum源
  2. 安装php
  3. 启动php
  4. 测试

配置阿里云的remi源

阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

下载

# wget https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm

# rpm -ivh remi-release-7.rpm

# yum -y install epel-release

# rpm -ivh remi-release-7.rpm

查看yum仓库

# ls /etc/yum.repos.d/

# yum clean all  

# yum makecache fast

启用php80的yum源

# yum -y install yum-utils
# yum-config-manager --enable remi-php80

安装php80

# yum -y install  php80 php80-php php80-php-xml php80-php-xmlrpc php80-php-pecl-mcrypt php80-php-fpm php80-php-pecl-apcu php80-php-mbstring php80-php-gd php80-php-json php80-php-pecl-json-post php80-php-pdo php80-php-mysqlnd php80-php-pecl-mysql php80-php-opcache php80-php-pear php80-php-soap php80-php-intl php80-php-pear php-pear-MDB2-Driver-mysqli.noarch

启动php

# systemctl  start php80-php-fpm

# systemctl status php80-php-fpm

# systemctl enable php80-php-fpm

测试

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

# ll /var/www/html/

注意要重启apache

# systemctl restart httpd

http://192.168.50.166/info.php

④部署discuz论坛

  1. 下载安装包
  2. 上传包到服务器
  3. 解压安装包
  4. 拷贝discuz相关的文件到/var/www/html/
  5. 重启apache
  6. 打开网页安装论坛

下载安装包

Discuz! 官方交流社区 - 贰道网络 - Discuz应用中心社区 - 提供模板、插件、技术支持等全方位服务 - Powered by Discuz!

 

上传软件包

解压安装包

# mkdir discuz
# unzip Discuz_X3.5_SC_UTF8_20231221.zip -d discuz/

# yum -y install unzip

# unzip Discuz_X3.5_SC_UTF8_20240520.zip -d discuz/

# ls discuz/

upload 这个目录下面的所有文件是我们需要上传到服务器上的可用程序文件(仅上传目录里边的文件);

readme 目录为产品介绍、授权、安装、升级、转换以及版本更新日志说明(不要上传)

readme.html 为安装、升级教程(不要上传)。

utility.html 为论坛附带工具下载地址,比如升级程序(不要上传)。

拷贝discuz相关的文件到/var/www/html/

# cp -r discuz/upload/*   /var/www/html/
# ll /var/www/html/

重启apache服务

# systemctl restart httpd

 访问论坛   http://192.168.50.166/install/

原因是/var/www/html的文件没有写权限

修改/var/www/html/下的主件的权限777
# chmod -R 777 /var/www/html/
# ll /var/www/html/

如果出现下图的报错是因为没有安装mysqli这个模块 php-pear-MDB2-Driver-mysqli.noarch

安装了就不会出现上图的不支持,下面我们进行下一步

打开网页安装论坛

点开页面会发现会有个小bug,因为我们访问是直接输入的IP地址,然后其默认访问路径就是 ip地址/index.html,所以我们需要删除此文件。

至此我们的discuz论坛就搭建完成

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

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

相关文章

【CUDA】thrust进行前缀和的操作

接上篇文章&#xff0c;可以发现使用CUDA提供的API进行前缀和扫描时&#xff0c;第一次运行的时间不如共享内存访问&#xff0c;猜测是使用到了全局内存。 首先看调用逻辑&#xff1a; thrust::inclusive_scan(thrust::device, d_x, d_x N, d_x);第一个参数指定了设备&#x…

Spark和Hadoop作业之间的区别

Spark和Hadoop是两种广泛使用的大数据处理框架&#xff0c;各自有着不同的设计理念和使用场景。以下是它们之间的主要区别&#xff1a; 架构和处理模式 计算模型&#xff1a; Hadoop&#xff1a;基于MapReduce编程模型。任务分为Map和Reduce两个阶段&#xff0c;处理批量数据较…

安全加固:Eureka服务实例安全组配置全攻略

安全加固&#xff1a;Eureka服务实例安全组配置全攻略 在微服务架构中&#xff0c;服务的安全性是保障系统稳定性和数据完整性的关键。Eureka作为Netflix开源的服务发现框架&#xff0c;不仅提供服务注册与发现功能&#xff0c;还可以通过配置服务实例安全组来增强安全性。本文…

深入了解 Oracle 版本命名中的 i、g 及 c

深入了解 Oracle 版本命名中的 i、g 及 c 在 Oracle 数据库的版本命名中&#xff0c;经常会看到版本号码后面跟着一些特定的字母&#xff0c;如 “i”、“g” 和 “c”。这些字母代表了 Oracle 数据库版本的特定发行类型或更新。在本文中&#xff0c;我们将深入探讨这些字母的…

STM32 - FLASH 笔记

STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分&#xff0c;通过闪存存储器接口&#xff08;外设&#xff09;可以对程序存储器和选项字节进行擦除和编程 读写FLASH的用途&#xff1a; 利用程序存储器的剩余空间来保存掉电不丢失的用户数据 通过在程序…

java设计模式(十五)命令模式(Command Pattern)

1、模式介绍&#xff1a; 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式&#xff0c;其主要目的是将请求封装成一个对象&#xff0c;从而允许使用不同的请求、队列或者日志来参数化其他对象。这种模式使得命令的请求者和实现者解耦。 2、应用场景&…

【ARM】MDK-服务器与客户端不同网段内出现卡顿问题

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录不同网段之间的请求发送情况以及MDK网络版license文件内设置的影响。 2、 问题场景 客户使用很久的MDK网络版&#xff0c;在获取授权时都会出现4-7秒的卡顿&#xff0c;无法对keil进行任何操作&#xff0c;彻底…

Java 中如何实现接口和抽象类,它们的主要区别是什么?

在Java编程中&#xff0c;接口&#xff08;Interface&#xff09;和抽象类&#xff08;Abstract Class&#xff09;是实现抽象化的两种重要手段&#xff0c;它们帮助我们设计更灵活、可扩展的代码结构。 下面&#xff0c;我将从定义、实现方式、主要区别以及应用场景等方面&am…

力扣第七题——整数反转

题目介绍 给你一个 32 位的有符号整数 x &#xff0c;返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] &#xff0c;就返回 0。 假设环境不允许存储 64 位整数&#xff08;有符号或无符号&#xff09;。 示例 1&#xff1…

ChatGPT Mac App 发布!

2024 年 6 月&#xff0c;OpenAI 的大语言模型 ChatGPT 的 Mac 客户端与 ChatGPT-4o 一起发布了。ChatGPT Mac 户端可以让用户直接在 Mac 电脑上使用 ChatGPT 进行对话。它提供了一个简单易用的用户界面&#xff0c;用户可以在其中输入文本或语音指令&#xff0c;并接收模型生成…

心跳检测的艺术:Eureka服务发现中的智能配置

心跳检测的艺术&#xff1a;Eureka服务发现中的智能配置 在微服务架构中&#xff0c;服务发现是确保服务之间可以相互通信的关键机制。Eureka作为Netflix开源的服务发现框架&#xff0c;提供了一种简单而高效的服务注册与发现机制。然而&#xff0c;为了维持服务的可用性和稳定…

python基础知识点(蓝桥杯python科目个人复习计划68)

做一下算法赛题目。 第一题&#xff1a;银色情人节 题目描述&#xff1a; 七月的阳光炙热灿烂&#xff0c;智慧的火花闪耀天际。7.14银色情人节&#xff0c;是传递爱意的美好时光。 分享甜蜜&#xff0c;珍藏浪漫。正是彼此的真心相伴&#xff0c;才有了我们温馨美满的情感。…

vue检测页面手指滑动距离,执行回调函数,使用混入的语法,多个组件都可以使用

mixin.ts 定义滑动距离的变量和检测触摸开始的方法&#xff0c;滑动方法&#xff0c;并导出两个方法 sendTranslateX.value > 250 && sendTranslateY.value < -100是向上滑动&#xff0c;满足距离后执行回调函数func&#xff0c;并在一秒内不再触发&#xff0c;一…

【重走编程路】设计模式概述(七) -- 外观模式、组合模式、享元模式

文章目录 前言10. 外观模式&#xff08;Facade&#xff09;定义解决方案为什么使用外观模式应用场景优缺点 11. 组合模式&#xff08;Composite&#xff09;定义解决方案应用场景优缺点 12. 享元模式&#xff08;Flyweight&#xff09;定义解决方案应用场景优缺点 前言 结构型…

【Python百日进阶-Web开发-音频】Day702 - librosa安装及模块一览表

文章目录 一、Librosa简介与安装1.1 Librosa是什么1.2 Librosa官网 二、Librosa安装2.1 安装Librosa 三、安装ffmpeg3.1 ffmpeg官网下载3.2 ffmpeg安装3.2.1 解压3.2.2 添加环境变量3.2.3 测试ffmpeg是否安装成功 四、Librosa 库模块一览4.1 库函数结构4.2 Audio processing&am…

C++相关概念和易错语法(21)(虚函数、协变、析构函数的重写)

多态的核心是虚函数&#xff0c;本文从虚函数出发&#xff0c;根据原理慢慢推进得到结论&#xff0c;进而理解多态 1.虚函数 先看一下下面的代码&#xff0c;想想什么导致了这个结果 #include <iostream> using namespace std;class A { public:virtual void test(){co…

x264 编码过程中视频相关数据流转分析

介绍 x264编码器的编码过程是一个复杂且多阶段的流程,涉及多个步骤,每个步骤都对视频数据进行特定的处理。以下是x264编码过程的一般数据流和关键步骤的分析: 输入帧处理: 输入原始视频帧到编码器。帧可能首先被转换到内部颜色空间(如YUV420P)。分析与预处理: 进行宏块级…

元服务体验-服务发现

服务发现&#xff0c;无论线上或线下的方式都可以发现元服务。 线上&#xff1a;基于用户意图。从精准意图的搜索、用户事件触发的推荐到主动探索等场景。用户可以在设备的负一屏、全局搜索、应用市场、桌面等场景发现元服务。 线下&#xff1a;用户在 HarmonyOS Connect标签…

华为HCIP Datacom H12-821 卷39

1.填空题 请2001 :0DB8:0000:C030:0000: 000: 09A0:CDEF地址进行压缩。() (若答案中存在字母&#xff0c;请采用大写格式) 参考答案&#xff1a;2001 :DB8:0:C030: :9A0:CDEF 解析&#xff1a; IPv6地址的表示方法 IPv6地址总长度为128比特&#xff0c;通常分为8组&#xff0c…

LeetCode 20.有效的括号 C写法

LeetCode 20.有效的括号 C写法 思路&#x1f9d0;&#xff1a; ​ 这题最优思路是用栈来进行匹配&#xff0c;如果是左括号就入栈&#xff0c;如果是右括号那么左括号就出栈去匹配&#xff0c;匹配成功就继续入栈或者出栈&#xff0c;匹配失败则字符串无效。不过C语言没有STL…