前提
服务器为全新安装的CentOS 7,仅包含一些基础服务,SSH、编辑、解压缩等
Flarum版本为1.8.1(理论上最新版都可以)
非常重要:
- 请确保你的服务器防火墙、XX云端口放行、XX面板端口放行都已正常设置,并保证可以正常访问运行
- 请确保你有Linux基础知识
开始安装
更新服务器软件包
yum update -y
安装 LNMP
本次使用OneinStack进行安装
fileinfo
一定要勾上,redis
不是必须的,后面要用的话在这一步可以一起安装掉
复制安装命令到服务器进行一键安装
修改php与nginx配置文件
php配置文件路径/usr/local/php/etc/php.ini
找到disable_functions
,删掉proc_open
与proc_get_status
并保存
除此之外,还有一些其他配置可以更改(也是在上述文件内修改)
最大运行内存,单位M
max_execution_time = 4096
每次请求大小限制
post_max_size=100G
文件上传大小限制
upload_max_filesize=100G
由于是局域网论坛,并且挂载了NAS,所以设置成了100G,请勿照搬,这里需要按照你实际的情况去设置
还有很多其他的设置,请自行百度学习
nginx配置文件路径/usr/local/nginx/conf/nginx.conf
这里是nginx的全局配置,如果你只希望设置Flarum的nginx配置,那么请勿在此设置,实际设置位置后面会讲
客户端请求体最大限制
client_max_body_size 102400m;
安装 Composer
进入用户根目录
cd
下载
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
安装
php composer-setup.php
删除脚本
php -r "unlink('composer-setup.php');"
移动
mv composer.phar /usr/local/bin/composer
至于源,个人觉得换不换没影响,本次教学的服务器使用的网络供应商为杭州电信,并没有下载失败或者下载特别慢的情况,如果有的话,可以更换试试
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
新建数据库
登录
mysql -uroot -p
选择数据库
use mysql;
查询root用户访问IP限制
select host,user from user where user='root';
如果你和我一样,有两个的话,可以删掉一个或者两个都改掉
我选择删掉一个
delete from user where host='127.0.0.1';
修改IP限制
update user set host='%' where user='root';
刷新
flush privileges;
退出
quit;
连接服务器的mysql,然后新建数据库,数据库名随意,这里以flarum
为例,字符集一定要选utf8mb4
安装Flarum
先创建一个站点
进入目录
cd ~/oneinstack
运行脚本
./vhost.sh
脚本执行后需要填写一些信息
访问方式
What Are You Doing?
1. Use HTTP Only
2. Use your own SSL Certificate and Key
3. Use Let's Encrypt to Create SSL Certificate and Key
q. Exit
Please input the correct option: 2
- 仅使用http
- 使用你自己的证书
- 使用Let’s Encrypt生成的证书
这里我选了2
站点名称
Please input domain(example: www.example.com): www.flarum.com
站点路径
Please input the directory for the domain:www.flarum.com :
这里我选了默认,直接回车
是否为多域名站点
Do you want to add more domain name? [y/n]:
是否将http重定向到https进行访问
Do you want to redirect all HTTP requests to HTTPS? [y/n]: n
正常来讲要选是的,这里因为是演示,我选了否
国家
Country Name (2 letter code) [CN]:
如果你是国内用户,直接回车即可
省份、地区
State or Province Name (full name) [Shanghai]: Zhejiang
城市
Locality Name (eg, city) [Shanghai]: Hangzhou
公司、组织
Organization Name (eg, company) [Example Inc.]:
部门
Organizational Unit Name (eg, section) [IT Dept.]:
是否开启防盗链
Do you want to add hotlink protection? [y/n]:
是否使用伪静态
Allow Rewrite rule? [y/n]:
如果这次新建站点是用于Flarum,那么本次这里可以选否
是否开启日志
Allow Nginx/Tengine/OpenResty access_log? [y/n]:
开始安装Flarum并进行配置
进入站点路径
cd /data/wwwroot/www.flarum.com
开始安装
composer create-project flarum/flarum .
配置权限
chown -R www:www /data/wwwroot/www.flarum.com
chmod -R 755 /data/wwwroot/www.flarum.com/public
配置Flarum的nginx
如果你有证书,那么你需要把证书放到这个路径下
/usr/local/nginx/conf/ssl
nginx配置路径如下
/usr/local/nginx/conf/vhost/www.flarum.com.conf
修改证书、根目录、导入伪静态
如果你不想全局设置nginx的上传文件限制,那么你可以在此单独设置
接下来重启nginx与php
systemctl restart nginx.service
systemctl restart php-fpm
打开浏览器输入你的域名就可以访问了
首次访问需要填写数据库、管理员等信息
数据库表名最好带上前缀
等待数据库初始化完成后,执行下方语句,优化中文搜索
ALTER TABLE flarum_posts DROP INDEX content; // 如果你有表前缀,给 posts 加上前缀即可,下面都是如此。
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;
现在Flarum就已经可以正常使用了
使用Redis(非必须)
使用Redis后会出现邮件测试正常,但是注册等情况无法收到邮件的问题,原因是列队机制导致的,你需要使用另外一个工具定期扫描列队才可以
如果你希望使用Redis作为你的缓存的话,那么你需要在你站点的根目录执行
composer require blomstra/flarum-redis:"*"
Redis插件链接
安装完以后修改这个文件
/data/wwwroot/www.flarum.com/extend.php
在return里添加设置
你可以这样设置
return [
new Blomstra\Redis\Extend\Redis([
'host' => '127.0.0.1',
'password' => null,
'port' => 6379,
'database' => 1,
])
];
个人推荐这样设置更好,后续清缓存可针对性清理
return [
(new Blomstra\Redis\Extend\Redis([
'host' => '127.0.0.1',
'password' => null,
'port' => 6379,
'database' => 1,
]))
->useDatabaseWith('cache', 1)
->useDatabaseWith('queue', 2)
->useDatabaseWith('session', 3)
];
安装 Supervisor
安装
yum install supervisor
进入配置路径
cd /etc/supervisord.d
在此路径下新建文件xxx.ini
,这里用flarum.ini
为例,名称无所谓,必须是.ini
文件
文件里粘贴以下内容,自行更改成你自己的路径
[program:flarum]
directory=/data/wwwroot/www.flarum.com 这里写你的站点路径
command=php flarum queue:work
user=root
autostart=true
autorestart=true
startsecs = 5
redirect_stderr=true
stdout_logfile=/data/wwwroot/www.flarum.com/supervisor-logs/flarum.logs 这里写你的日志文件路径
stdout_logfile_backups=5
执行脚本
supervisord -c /etc/supervisord.conf
挂载NAS、共享盘(非必须)
理论上Win系统共享出来的盘,只要设置了用户账号密码和读写权限也是可以用的,我没测试,盲猜大概率可以使用
在你的NAS管理页面开启允许使用SMB3.0进行连接,并创建对应的账号密码
安装SMB管理工具
yum install cifs-utils -y
挂载共享盘
mount -t cifs -o username=共享盘账号,password=共享盘密码,vers=3.0,gid=1001,uid=1001 //你的共享盘路径 /data/wwwroot/www.flarum.com/public/assets
我们还需要额外将其设置成开机自动挂载
开机运行的文件路径为
/etc/rc.d/rc.local
在文件内添加如下语句
sleep 10s && mount -t cifs -o username=共享盘账号,password=共享盘密码,vers=3.0,gid=1001,uid=1001 //你的共享盘路径 /data/wwwroot/www.flarum.com/public/assets
你的gid与uid请使用id www
进行查询,这里一定要填写www用户的gid与uid,如果出现文件上传失败的问题,重新设置下权限即可
chown -R www:www /data/wwwroot/www.flarum.com
chmod -R 755 /data/wwwroot/www.flarum.com/public
至于睡眠10秒再执行
是因为开机会出现SMB服务还未启动,就执行了挂载语句,会导致出现挂载不上的情况
应该没什么了,想到了在写吧,完结撒花