环境
- 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,去掉后面的英文和短划线
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
下面是手动修改方法
第一步,找到下面这两个文件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
Installcomposer require terabin/flarum-ext-sitemap
This is the first release, so, any bugs, just report here, typecomposer remove terabin/flarum-ext-sitemap