宝塔面包安装搭建Flarum开源论坛程序 文档教程

一、服务器环境说明
宝塔 7.0.3 或更新版本
Linux Server(本文用的是 CentOs 7.4.6 64位)
Apache 或者 Nginx(本文用的是 Nginx 1.16.0)
MySQL 5.6+(本文使用 MySQL 5.7,原因请看下方引用)
PHP 7.1+(本文 PHP-7.3)
phpMyAdmin 4.7

MySQL 自 5.7 开始支持 FULLTEXT 中文搜索,后续方便我们优化 Flarum 论坛的中文关键词搜索。

【安装扩展】,安装 fileinfo(opcache、exif 非必选)

二、安装 Composer
2.1 更新服务器软件包
使用 SSH 执行下方命令:

yum update -y
更新完左下角会提示 “ Complete! ”
在这里插入图片描述
2.2 解除 PHP 函数禁用

宝塔面板默认禁用一些安装 Composer 要用到的 3 个函数 putenv() 、 pcntl_signal() 、 proc_open(),我们需要解除禁用,否则导致步骤 4.3 Composer 变更源地址时报错、步骤 5.3 Composer 安装 Flarum 时报错。

2.3 安装 Composer

使用 SSH 依次执行以下命令:

# (此步骤可省略)进入当前用户家目录

cd

# 将安装脚本下载到当前目录

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

# 运行安装脚本

php composer-setup.php --install-dir=bin --filename=composer

# 删除安装脚本

php -r "unlink('composer-setup.php');"

由于 Composer 的服务器在国外,可能导致下载 Flarum 已经依赖包会很慢,所以我们需要更换一下源地址。至于 Composer 是啥,其实就是 PHP 的一个包管理,类似 Java 的 Maven 和 Gradle 工具。

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

三、安装 Flarum
3.0 设置设置PHP配置文件:
最大脚本运行时间(max_execution_time):600
脚本内存限制(memory_limit):512M 或 1024M

3.1 新建存放 Flarum 的网站
前往宝塔面板 – 【网站】 – 【添加站点】,同时创建用于 Flarum 的数据库。最后提交。数据库字符集一定要是 utf8mb4

3.2 配置完成后,请注意开启 “ 强制 HTTPS ”!否则在 6.2 步骤中无法正常访问网站
在 SSH 中执行:# 解除 .user.ini 的文件锁定,否则该文件无法被删除

chattr -i .user.ini

3.3 composer create-project flarum/flarum .

执行成功后会下载 Flarum 并更新依赖包。更新依赖包会根据服务器地理位置花费 十几秒 至 三十分钟 不等的时间,请耐心等待。

Flarum 以及对应的依赖安装完成应该是这个样子的:
在这里插入图片描述
四、配置运行

4.1 修改 Nginx 配置
进入宝塔面板,打开站点设置,修改网站配置文件:(可对照下图修改)

root:需要在路径后面加上 public,比如原本是 root /www/wwwroot/example.com;,需要修改为 root /www/wwwroot/example.com/public;。

引入 Flarum 提供的伪静态配置,在 server name 下方加上 include /www/wwwroot/example.com/.nginx.conf;,网站目录不要忘记更换成自己的。
在这里插入图片描述
五、Flarum 安装引导
在浏览器中访问安装 Flarum 的站点网址。

可以看到出现下面的情况:
在这里插入图片描述
这是因为没有给予网站目录写入的权限,我们加一下权限即可:

在这里插入图片描述
安装完成后会发现不支持中文,所以我们需要安装中文语言包。还有一些常用的插件
在这里插入图片描述

Flarum开源论坛安装搭建、二次开发 QQ扫一扫
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

weblogic ssrf漏洞(CVE-2014-4210)

漏洞复现环境搭建请参考 Vulhub漏洞复现环境搭建流程_vulhub一键搭建漏洞测试靶场,来进行漏洞复现-CSDN博客 docker未能成功启动redis请参考 http://t.csdnimg.cn/5osP3 漏洞版本 weblogic 10.0.2 -- 10.3.6.0 漏洞验证 (1)访问7001端口,…

基于MetaGPT构建单智能体

前言 在之前的文章中,我们详细地描述了Agent的概念和组成,在代码案例中体验了Agent的记忆、工具、规划决策模块,并通过几个Agent框架来加强读者对Agent开发设计与应用的理解,接下来我们就要进入智能体Agent的实际开发中&#xff0…

Linux系统Redhat7.4版本安装mysql-5.7.17详细步骤

1.1、在根目录创建一个data目录 mkdir /data 1.2、将MySQL安装包上传到/data目录下 1.3、解压MySQL安装包到当前目录 tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 1.4、因为解压后MySQL目录名称太长,修改成简短的mysql mv mysql-5.7.17-linux-glibc2.…

AI智能体|扣子Coze“图像流”功能速览

大家好,我是无界生长。 AI智能体|扣子Coze“图像流”功能速览Coze提供易上手的图像处理工作流,包含智能生成、智能编辑和基础编辑三类节点,旨在通过AI技术简化图像处理过程。本文对扣子Coze“图像流”功能做了简单介绍&#xff0…

爬虫学习--11.MySQL数据库的基本操作(上)

MySQL数据库的基本操作 创建数据库 我们可以在登陆 MySQL 服务后,使用命令创建数据库,语法如下: CREATE DATABASE 数据库名; 显示所有的数据库 show databases; 删除数据库 使用普通用户登陆 MySQL 服务器,你可能需要特定的权限来创建或者删…

基于EifficientNet的视网膜病变识别

分析一下代码 model.py ①下面这个方法的作用是:将传入的ch(channel)的个数调整到离它最近的8的整数倍,这样做的目的是对硬件更加友好。 def _make_divisible(ch, divisor8, min_chNone):if min_ch is None:min_ch divisornew…

爬虫学习--12.MySQL数据库的基本操作(下)

MySQL查询数据 MySQL 数据库使用SQL SELECT语句来查询数据。 语法:在MySQL数据库中查询数据通用的 SELECT 语法 SELECT 字段1,字段2,……,字段n FROM table_name [WHERE 条件] [LIMIT N] 查询语句中你可以使用一个或者多个表&…

Ajax用法总结(包括原生Ajax、Jquery、Axois)

HTTP知识 HTTP(hypertext transport protocol)协议『超文本传输协议』,协议详细规定了浏览器和万维网服务器之间互相通信的规则。 请求报文 请求行: GET、POST /s?ieutf-8...(url的一长串参数) HTTP/1.1 请求头…

MySQL数据库单表查询中查询条件的写法

1.使用比较运算符作为查询条件 ; !; >; >; <; <; 如上图所示&#xff0c;可以使用命令select 字段&#xff0c;字段 from 表名 where Gender “M”; 即挑选出Gender “M” 的教师&#xff0c; 如上图所示&#xff0c;可以使用命令select 字段&#xff0c;…

如何使用Android NDK将头像变成“遗像”

看完本文的标题&#xff0c;可能有人要打我。你说黑白的老照片不好吗&#xff1f;非要说什么遗像&#xff0c;我现在就把你变成遗像&#xff01;好了&#xff0c;言归正传。我想大部分人都用过美颜相机或者剪映等软件吧&#xff0c;它们的滤镜功能是如何实现的&#xff0c;有人…

TCP Spurious Retransmission

TCP虚假重传是网络中可能存在丢包问题的一个指标&#xff0c;但并不意味着一定存在丢包。虚假重传指的是当TCP发送方错误地认为原始数据包已丢失时&#xff0c;会不必要地进行重传&#xff0c;而实际上原始数据包已成功到达目的地。 虚假重传可能由多种因素引起&#xff0c;例…

【Linux】进程信号及相关函数/系统调用的简单认识与使用

文章目录 前言一、相关函数/系统调用1. signal2. kill3. abort (库函数)4. raise (库函数)5. alarm 前言 现实生活中, 存在着诸多信号, 比如红绿灯, 上下课铃声…我们在接收到信号时, 就会做出相应的动作. 对于进程也是如此的, 进程也会收到来自 OS 发出的信号, 根据信号的不同…

分布式锁2-Zookeeper分布式锁实战

Zookeeper分布式锁实战 使用curator操作Zookeeper进行实战&#xff1b; curator是什么&#xff1a;Apache Curator包含一套高级API框架和工具类&#xff0c;它 是Apache ZooKeeper 的Java 客户端库。 准备 pom文件引入curtor依赖和zookeeper依赖 <!--curator--> <…

麦克纳母轮(全向)移动机器人集群控制的Simulink/Simscape虚拟仿真平台搭建

麦克纳姆轮是一种常见的全向移动机构&#xff0c;可以使机器人在平面内任意方向平移&#xff0c;同时可以利用差速轮车的属性实现自转&#xff0c;能够在狭窄且复杂多变的环境中自由运行&#xff0c;因而被广泛应用于竞赛机器人和特殊工业机器人场景。 Ps:最新的BYD仰望U8也有一…

graspnet+Astra2相机实现部署

graspnetAstra2相机实现部署 &#x1f680; 环境配置 &#x1f680; ubuntu 20.04Astra2相机cuda 11.0.1cudnn v8.9.7python 3.8.19pytorch 1.7.0numpy 1.23.5 1. graspnet的复现 具体的复现流程可以参考这篇文章&#xff1a;Ubuntu20.04下GraspNet复现流程 这里就不再详细…

C++容器之映射(std::map)

目录 1 概述2 使用实例3 接口使用3.1 construct3.2 assigns3.3 iterators3.4 capacity3.5 access3.6 insert3.7 erase3.8 swap3.9 clear3.10 emplace3.11 emplace_hint3.12 key_comp3.13 value_comp3.14 find/count3.15 upper_bound/upper_bound/equal_range3.16 get_allocator…

数据结构和算法|堆排序系列问题(一)|堆、建堆和Top-K问题

在这里不再描述大顶堆和小顶堆的含义&#xff0c;只剖析原理层面。 主要内容来自&#xff1a;Hello算法 文章目录 1.堆的实现1.1 堆的存储与表示过程1.2 访问堆顶元素1.4元素出堆 2.⭐️建堆2.1 方法一&#xff1a;借助入堆操作实现2.2 ⭐️方法二&#xff1a;通过遍历堆化实现…

Java 多线程抢红包

问题需求 一个人在群里发了1个100元的红包&#xff0c;被分成了8个&#xff0c;群里有10个人一起来抢红包&#xff0c;有抢到的金额随机分配。 红包功能需要满足哪些具体规则呢? 1、被分的人数抢到的金额之和要等于红包金额&#xff0c;不能多也不能少。 2、每个人至少抢到1元…

Ubuntu Nerfstudio安装

https://blog.csdn.net/qq_30565883/article/details/133778529 https://blog.csdn.net/weixin_52581013/article/details/137982846 https://zhuanlan.zhihu.com/p/654394767 1. 结论 因为需要安装tiny-cuda-nn&#xff0c;然而 所以我之前的在笔记本上安装就白费了&#xf…

基于python的k-means聚类分析算法,对文本、数据等进行聚类,有轮廓系数和手肘法检验

K-means算法是一种常见的聚类算法&#xff0c;用于将数据点分成不同的组&#xff08;簇&#xff09;&#xff0c;使同一组内的数据点彼此相似&#xff0c;不同组之间的数据点相对较远。以下是K-means算法的基本工作原理和步骤&#xff1a; 工作原理&#xff1a; 初始化&#x…