Flarum 0.1.0-beta.10踩坑记录
Composer 修改镜像源
以阿里提供的 Composer 全量镜像 https://mirrors.aliyun.com/composer/ 举例:
对当前项目配置:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/ # 取消当前项目配置 composer config --unset repos.packagist
配置全局生效:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ # 取消全局配置 composer config -g --unset repos.packagist
MySQL 5.7 以上开启中文搜索:
首先修改配置文件 my.cnf,加入以下语句:
[mysqld]
ngram_token_size=2
接着重建索引:
# 切换数据库
use flarum;
# 重建 posts 表和 discussions 表的索引以支持中文搜索
ALTER TABLE flarum_posts DROP INDEX content;
CREATE FULLTEXT INDEX content ON `flarum_posts` (`content`) WITH PARSER ngram;
ALTER TABLE flarum_discussions DROP INDEX title;
CREATE FULLTEXT INDEX title ON `flarum_discussions` (`title`) WITH PARSER ngram;
docker-compose 版本3中指定内存和CPU限制
官方文档: https://docs.docker.com/compose/compose-file/#resources
deploy:
resources:
limits:
cpus: '0.001'
memory: 50M
reservations:
cpus: '0.0001'
memory: 20M
limits 表示限制的最大资源
reservations 表示最少分配的资源
注意在启动时 docker-compose 需要加上一个参数
--compatibility
,不然无法限制容器的资源。
不知道为什么一装插件就内存爆炸……后面再研究一下虚拟内存这个东西吧。
flarum 开启中文用户名
# 开启中文用户名
sed -i "s#a-z0-9_-#-_a-z0-9\\\x7f-\\\xff#" \
vendor/flarum/core/src/User/UserValidator.php
# 开启 @ 中文名
sed -i "s#a-z0-9_-#-_a-zA-Z0-9\\\x7f-\\\xff#" \
vendor/flarum/mentions/src/Listener/FormatPostMentions.php \
vendor/flarum/mentions/src/Listener/FormatUserMentions.php
目前仅在 flarum 0.1.0-beta.10 以及向下版本测试可用 ,且 @ 中文用户名可能会有BUG。
flarum SMTP正确却无法发送邮件
发信人和用户名要保持一致…… 鬼知道后台怎么写的,有空看看吧。
flarum 开关邮件激活账户
关闭邮箱激活
ALTER TABLE `users`CHANGE `is_activated` `is_activated` tinyint(1) NOT NULL DEFAULT '1' AFTER `email`;
开启邮箱激活
ALTER TABLE `users`CHANGE `is_activated` `is_activated` tinyint(1) NOT NULL DEFAULT '0' AFTER `email`;
亡了,踩不动了。剩下的坑以后再说吧,先整个能上线玩耍的吧。
FlarumChina
这里我选择了别人整合的 flarum 。最新版似乎是出到了 0.1.0-beta.7C,但是我现在心态比较爆炸,所以直接抄了份 0.1.0-beta.7-stable 的 docker 起起来了。
docker 镜像名为 raincal/docker-flarum-china:0.1.0-beta.7-stable,可以在 dockerhub 上面找到
按照正常的流程安装,配置 smtp ,就可以快乐的玩耍啦。留下来的坑后面再慢慢填吧 : D