Flarum极简轻论坛搭建简记备忘

环境

  • Centos 7
  • LNMP (其中PHP更新至7.1.0)
  • 其他略

准备

安装Composer

使用SSH方式登录服务器之后:执行

curl -sS https://getcomposer.org/installer | php

安装PHP扩展:fileinfo

  • 跳转到fileinfo源代码目录

    cd /root/downloads/lnmp1.2-full/src/php-5.6.9/ext/fileinfo/
  • 执行

    /usr/local/php/bin/phpize
  • 执行

    ./configure --with-php-config=/usr/local/php/bin/php-config
  • 执行

    make && make install
  • 修改php.ini文件 默认路径: /usr/local/php/etc/php.ini , 在末尾增加下面内容即可

    extension = fileinfo.so
  • 重启php-fpm

    /etc/init.d/php-fpm reload
以上参考:letonode(简书作者) 原文链接:http://www.jianshu.com/p/17e3abcce44a

开始安装Flarum

参考官方及其他爱好者说明,下面以域名abc.com为例简要说明:

  • 在lnmp下输入如下命令 创建好: abc.com,并做好域名解析,确认可以正常访问

    lnmp vhost add
  • 删除abc.com站点下的所有文件,包括.user.ini , 利用下面语句先去掉其属性:

    chattr -i .user.ini
  • 创建好一个Flarum使用的MySQL数据库和对应的用户
  • SSH下进入abc.com站点根目录

    cd /home/wwwroot/abc.com/
  • 执行安装命令:

    composer create-project flarum/flarum . --stability=beta
  • 配置A站点的Nginx配置文件 /usr/local/nginx/conf/vhost:参见官方安装文档。特别注意:location ~* .php$下的参数以自动生成的为准,还需要删除自动生成的ErrorPage的配置信息。
  • 重启Nginx,

    /etc/init.d/nginx reload
    /etc/init.d/nginx restart
  • 修改abc.com文件夹的权限:

    chown -R www /home/wwwroot/abc.com
  • 在浏览器中打开abc.com站点,填写相关安装信息。
  • 安装中文插件:

    composer require jsthon/flarum-ext-simplified-chinese
  • 进入abc.com后台修改勾选中文扩展,并修改默认语言。
  • 安装完毕,剩下就是配置板块,标签及其他了

安装插件

安装插件前,必须要通过SSH下进入 abc.com 文件目录下;
安装后,需要键入abc.com后台,勾选相应扩展插件,并修改相关值;

中文语言包:

composer require jsthon/flarum-ext-simplified-chinese

中文搜索

在 /vendor/flarum/core/src/Core/Search/Discussion/Fulltext 文件夹新建文件 MySqlFulltextLikeModeDriver.php
内容为

<?php
/*
 * 添加 Flarum 对中文搜索的支持
 *
 * Flarum 的搜索默认使用了 MySQL 的全文检索。
 * 但是 MySQL 的全文检索功能默认不支持中文。
 * 本方案把 Flarum 的搜索改成了基于 LIKE 语句的 SQL 搜索。
 *
 * @author justjavac <justjavac@gmail.com>
 */
namespace Flarum\Core\Search\Discussion\Fulltext;
use Flarum\Core\Post;
class MySqlFulltextLikeModeDriver implements DriverInterface
{
    /**
     * {@inheritdoc}
     */
    public function match($string)
    {
$discussionIds = Post::where('type', 'comment')
            ->where('content', 'like', '%'.$string.'%')
            ->lists('discussion_id', 'id');
$relevantPostIds = [];
foreach ($discussionIds as $postId => $discussionId) {
            $relevantPostIds[$discussionId][] = $postId;
        }
return $relevantPostIds;
    }
}

修改 /vendor/flarum/core/src/Core/Search/SearchServiceProvider.php 文件
把第 29 行修改为:

'Flarum\Core\Search\Discussion\Fulltext\MySqlFulltextLikeModeDriver'
也就是把搜索的方案改成上面新建的类。

Davis Invite Only 邀请加入

  • 经测试,此插件不适用0.1.0-beta.7 版
    设置时,可邀请人数必须要设置大一点,如:10,
    否则打开网站时会报错:Oops, Something went wrong, Please reload the page and try again.

    composer require davis/flarum-ext-inviteonly

    Google Analytics

    https://discuss.flarum.org/d/1983-flagrow-analytics-extension-tracking-user-visits/60
    安装完成后要清理下cache,否则也会报错

    composer require flagrow/flarum-ext-analytics
    php flarum migrate
    php flarum cache:clear

image-upload 图片上传

  • 经测试,此插件不适用0.1.0-beta.7 版

    composer require flagrow/flarum-ext-image-upload

怎么修改帖子的url,去掉后面的英文和短划线

参考1:URL 美化

sed -i "s# + '-' + discussion.slug()##" \

vendor/flarum/core/js/forum/dist/app.js \
vendor/flarum/core/js/forum/src/initializers/routes.js 

sed -i "s# . '-'.*##" \

vendor/flarum/core/views/index.blade.php

参考2:怎么修改帖子的url,去掉后面的英文和短划线

下面是手动修改方法
第一步,找到下面这两个文件

vendor/flarum/core/js/forum/dist/app.js
vendor/flarum/core/js/forum/src/initializers/routes.js 

搜索下面内容,更改之,将

id: discussion.id() + '-' + discussion.slug(), >

更改成

id: discussion.id(),

第二步,找到下面这个文件

vendor/flarum/core/views/index.blade.php

搜索下面内容,更改之,将

'id' => $discussion->id . '-' . $discussion->attributes->slug 

更改成

'id' => $discussion->id

第三步,删除在/assets文件夹下forum开头的JS文件,
例如forum-cd6e6cfe.js,然后刷新网站就好了。

Flarum Sitemap Generator

http://yourwebsite.com/sitemap.xml

Install
composer require terabin/flarum-ext-sitemap
This is the first release, so, any bugs, just report here, type
composer remove terabin/flarum-ext-sitemap
仅有 1 条评论
  1. wlw wlw
    20190910 更新:内存不够,添加SWAP虚拟内存添加php 扩展:yum install php71w-dom 和 yum install php70w-mbstring
添加新评论