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,一经查实,立即删除!

相关文章

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;彻底…

ChatGPT Mac App 发布!

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

【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…

元服务体验-服务发现

服务发现&#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…

win10远程ubuntu服务器桌面且显示图像窗口工具及配置说明

仅需一个MobaXterm_Personal工具就可以实现 网上的教程比较多&#xff0c;实现起来比较复杂&#xff0c;这个是经过自己的钻研找到的方法&#xff08;请勿转载和抄袭&#xff09; 报错&#xff1a;cannot connect to X server :0.0 操作1&#xff1a;export DISPLAY自己windo…

SSE、Webworker 、webSocket、Http、Socket 服务器推送技术

Http协议 受浏览器的同源策略限制 HTTP 协议是一种无状态的、无连接&#xff08;短暂连接&#xff0c;客户端发送请求&#xff0c;服务器响应后即断开连接&#xff09;的、单向的应用层协议。 它采用了请求/响应模型。通信请求只能由客户端发起&#xff0c;服务端对请求做出应…

IP地址与物理地址:网络通信的基础详解

在学习网络通信时&#xff0c;理解IP地址与物理地址&#xff08;也称为硬件地址&#xff09;的区别至关重要。这篇文章将为你解答这些基本概念&#xff0c;并帮助你更好地掌握网络通信的基础。 什么是IP地址和物理地址&#xff1f; IP地址是网络层的逻辑地址&#xff0c;用于标…

leetcode算法题(反转链表)

思路1&#xff1a; 创建新的链表&#xff0c;遍历原链表&#xff0c;将原链表的节点进行头插到新链表中。 struct ListNode* reverseList(struct ListNode* head) {struct ListNode* next NULL;struct ListNode* new_head NULL;if (head NULL ||head->next NULL) // 空…

Python 获取今天(当天)、昨天(前一天)、前天(昨天的前一天)的开始时间、结束时间

描述&#xff1a;我这里是封装成DatetimeHelper工具类来调用 1.今天(当天)开始时间、结束时间 from datetime import datetime, timedeltaclass DatetimeHelper:# 获取今天(当天)的开始时间、结束时间(datetime类型)staticmethoddef getTodayStartEnd():# 获取当前的日期now …

在 electron+vite+vue3+express 项目中使用better-sqlite3

文章目录 一、安装 electron-rebuild 和 better-sqlite3二、使用 electron-rebuild 重建 Node.js 模块三、better-sqlite3 的基本使用四、打包五、参考资料 一、安装 electron-rebuild 和 better-sqlite3 yarn add -D electron-rebuild yarn add better-sqlite3Electron 内置的…

解决onlyoffice无法重命名的问题

当前的问题&#xff1a; 返回的是 error&#xff1a;1&#xff0c;根据官方文档的解释&#xff0c;这个是文档的key是错误的。 参考官方文档&#xff1a;https://api.onlyoffice.com/zh/editors/command 解决思路&#xff1a;看有没有什么事件&#xff0c;能够携带文档的key…

无人机图像目标检测

本仓库是人工智能课程的课程作业仓库&#xff0c;主要是完成无人机图像目标检测的任务&#xff0c;我们对visdrone数据集进行了处理&#xff0c;在yolo和ssd两种框架下进行了训练和测试&#xff0c;并编写demo用于实时的无人机图像目标检测。 requirements依赖&#xff1a; ss…

01- 收入数据集【Pytorch入门实战】

目录 一、机器学习基础 二、实战例子 1.数据集分析 2.实战训练 3.总结 三、参考资料 一、机器学习基础 为了解决这个问题&#xff0c;人们想到数据驱动方法&#xff0c;也就是让计算机从现有的大量的带标签图片电学习规律&#xff0c;一旦计算机学习到了其中的规律&…

LLM量化--AWQ论文阅读笔记

写在前面&#xff1a;近来大模型十分火爆&#xff0c;所以最近开启了一波对大模型推理优化论文的阅读&#xff0c;下面是自己的阅读笔记&#xff0c;里面对文章的理解并不全面&#xff0c;只将自己认为比较重要的部分摘了出来&#xff0c;详读的大家可以参看原文 原论文地址&am…

PostgreSQL 中如何处理数据的并发插入和唯一约束的冲突解决?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 PostgreSQL 中如何处理数据的并发插入和唯一约束的冲突解决一、并发插入和唯一约束的基本概念&#xf…