目录
简介
Flarum是一款轻论坛程序,该程序安装后的论坛页面简洁轻快,样式排版也比较合理好看。关于Flarum的更多特点这里就不介绍了,可以到官网查看。
环境要求
- 内存:>=2GB
- MySQL:5.6+。建议5.7版本,开启中文搜索功能需要 MySQL 5.7 及以上。
- PHP:>=7.3
- Composer:宝塔Linux面板默认已安装
本教程默认安装服务器环境:CentOS 7.9,宝塔Linux面板。环境程序的安装过程这里就不说了,宝塔直接点击安装即可。
本教程受演示服务器内存限制,只安装了 MySQL 5.6 ,中文搜索功能步骤无法提供命令执行截图。演示站点也无法搜索中文。
官方安装文档很久没有更新,里面有部分内容是错误的,只可参考。
创建站点
首先我们在宝塔面板正常创建一个站点,同时创建MySQL数据库。
删除站点目录文件
创建站点后默认宝塔面板会在站点目录内生成几个文件,我们需要将这几个文件全部删除。保持站点目录为空的状态。
删除PHP禁用函数
宝塔面板的默认PHP安装后会禁用一些危险函数。我们需要将这些函数在禁用列表删除。
putenv,pcntl_signal,proc_open
安装fileinfo扩展
程序需要使用到fileinfo这个PHP扩展,我们需要安装一下。
确认Composer 状态
进入服务器SSH,输入命令Composer查看服务器是否安装了Composer 。
如果未安装,可使用下面命令进行安装。
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
安装Flarum
SSH中进入站点目录:cd 目录地址
然后使用下面命令安装Flarum
composer create-project flarum/flarum . --stability=beta安装完成后会显示如下界面:
伪静态设置
Flarum需要添加伪静态规则。规则其实就是网站目录里的.nginx.conf。这里不要使用官方文档里的伪静态,否则无法打开后台地址,报404。
Nginx
# Pass requests that don't refer directly to files in the filesystem to index.php
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Uncomment the following lines if you are not using a `public` directory
# to prevent sensitive resources from being exposed.
# location ~* ^/(\.git|composer\.(json|lock)|auth\.json|config\.php|flarum|storage|vendor) {
# deny all;
# return 404;
# }
# The following directives are based on best practices from H5BP Nginx Server Configs
# https://github.com/h5bp/server-configs-nginx
# Expire rules for static content
location ~* \.(?:manifest|appcache|html?|xml|json)$ {
add_header Cache-Control "max-age=0";
}
location ~* \.(?:rss|atom)$ {
add_header Cache-Control "max-age=3600";
}
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc)$ {
add_header Cache-Control "max-age=2592000";
access_log off;
}
location ~* \.(?:css|js)$ {
add_header Cache-Control "max-age=31536000";
access_log off;
}
location ~* \.(?:ttf|ttc|otf|eot|woff|woff2)$ {
add_header Cache-Control "max-age=2592000";
access_log off;
}
# Gzip compression
gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_types
application/atom+xml
application/javascript
application/json
application/ld+json
application/manifest+json
application/rss+xml
application/vnd.geo+json
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/bmp
image/svg+xml
image/x-icon
text/cache-manifest
text/css
text/javascript
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vtt
text/x-component
text/x-cross-domain-policy;
其他环境的伪静态规则都可以在网站目录内找到,composer执行后会下载下来。这里就不再贴了。
更改运行目录
将网站运行目录更改为站点目录下面的public目录。
更改文件夹权限
storage文件夹权限设为777,用户组root
public/assets文件夹权限设为777,用户组root
填写配置信息
前面步骤做完后访问网站地址就进入了安装界面。
看不懂英文可以浏览器翻译,或者对照下面图片来填。
安装完成
到这里程序的安装就完成了,访问/admin可以进入管理后台。
安装中文语言包
在SSH中执行下面命令,然后管理后台启用即可。
composer require flarum-lang/chinese-simplified php flarum cache:clear
开启中文搜索
Flarum默认不支持中文搜索,我们需要对数据库进行一些设置。
提醒!以下操作需要 MySQL 5.7 及以上版本才支持!
MySQL 自 5.7 开始支持多语种文字全文索引。
更改MySQL配置文件
在配置文件中的mysqld加上
ngram_token_size=2保存后重启MySQL。
重建数据库索引
这一步我们使用PHPmyadmin,没有的就在宝塔安装下。
安装后在宝塔面板数据库页面,点击管理就进入了数据库管理页面。
一般会自动登录数据库,如果没有登陆,就填入数据库账号密码登陆一下。
在sql查询中执行下面的代码
USE YourFlarumDataBaseName; // 这里替换为你的 Flarum 数据库的名字 ALTER TABLE posts DROP INDEX content; CREATE FULLTEXT INDEX content ON `posts` (`content`) WITH PARSER ngram;
执行成功后,再执行下面的代码。
USE YourFlarumDataBaseName; // 这里替换为你的 Flarum 数据库的名字 ALTER TABLE discussions DROP INDEX title; CREATE FULLTEXT INDEX title ON `discussions` (`title`) WITH PARSER ngram;
完成后等待一下,强制刷新浏览器缓存查看效果吧。
(本教程受演示服务器内存限制,只安装了 MySQL 5.6 ,中文搜索功能步骤无法提供命令执行截图。演示站点也无法搜索中文。)
相关链接
GitHub:https://github.com/justjavac/flarum
官方文档:https://github.com/justjavac/flarum-doc/blob/master/using/installation.md


























