1243天 Moe.Blog

一个超萌超可爱的博客

宝塔搭建fiora聊天室

萌娜   17天前    1.0k 次围观    9条评论    返回    坐等收录

前言

由于某种原因,我们有时的某些话,并不适合在主流的聊天应用上说,至少,我认为某些话,会被系统认为有风险,你可能面临禁言冻结或封号,甚至物理攻击。那么,自建一个私人的聊天室在你需要时,帮助你远离这些麻烦。

网络的聊天室应用并不少,但要么太过高级没开源,要么太过简洁不适合我这种颜狗。试了不少,看中了Fiora聊天应用,因为它有点可爱有点Q。

由于博主不懂各种程序,不通各类各类代码,所以只会用适合小白的宝塔来搭建了。在网上找了很多关于宝塔建Fiora的教程,也喵了各位大佬的文章,并请教了各路大枷,是时候水一篇博文记录下,以便自己需要时再复制粘贴。

 

Fiora

fiora聊天室是基于node.js和react由碎碎酱独自开发的开源网页聊天室,使用socket.io模块WebSocket协议通讯,支持Service Worker和PWA.功能丰富,并且简单易上手,很适合作为学习node.js的参考项目,node.js初学者的福音(此条5毛,碎碎酱你看到快给我钱钱。)

项目地址: https://github.com/yinxin630/fiora

演示站点: 

  1. fiora
  2. Zero聊天室
  3. MoeChat

 

宝塔安装Fiora

1. 自我安装好宝塔。
2. 在 软件商店 安装好PM2管理器、MongoDB、Redis,三个应用。
3. 如有外部安全防火墙 请预先开放9200端口,宝塔开启9200端口。
4. ssh连接服务器

先测试下环境是否正常 没有的退出重新连接SSH
node -v
npm -v

拉取源码并存放于/opt文件夹 如果没有git请 yum -y install git
git clone https://github.com/yinxin630/fiora.git -b master /opt/fiora

进入文件夹
cd /opt/fiora

安装依赖,这里不能用npm,需要用yarn来安装
npm i -g yarn
yarn

构建和转移产物
npm run build:client && npm run move-dist

启动
npm start

注册用户

打开 http://你服务器ip:9200 注册第一个用户: admin

接下来配置管理员和开机自启 ,先使用Ctrl+C断开运行。

先给node做个软连接,不然后面会启动失败
ln -sf $(which node) /usr/bin/node

获取用户userid 比如admin

yarn script getUserId admin

设置管理员 替换下面红色的内容成上面取到的Userid

export Administrator=内容 Port=9200

以下命令一起复制进SSH客户端运行

cat > /etc/systemd/system/fiora.service <<EOF
[Unit]
Description=fiora
After=network.target
Wants=network.target

[Service]
Type=simple
PIDFile=/var/run/fiora.pid
ExecStart=$(command -v npm) start
WorkingDirectory=/opt/fiora
Environment=NODE_ENV=production Administrator=$Administrator Port=$Port
User=root
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
EOF

 

设置开机启动
systemctl start fiora

在开机时启用服务
systemctl enable fiora

 

至此重启,可使管理员权限生效。下面是其它参考内容,如修改fiora内容,往往需要重构才能生效。

在开机时禁用服务(此命令不用,仅记录。)
systemctl disable fiora

重构(此命令不用,仅记录。)

npm script build:client

 

域名反代

如需要加证书,申请/更换ssl时需关闭域名反代。

1. 宝塔面板里面,先点击左侧网站,添加站点,然后再点击添加好了的域名
2. 网址 - 域名 - 设置- 反向代理 - 增加反向代理
3. 目标URL http://127.0.0.1:9200

打开你的域名,就可以看到Fiora在运行了。
其它的设置事项,请参考官方说明。

 

一些修正

1.套cdn不能注册新用户

进入 opt\fiora\server\routes\user.ts 注释第85 86行。

// const hasRegisteredWithin24Hours = await Redis.has(getNewRegisteredUserIpKey(ctx.socket.ip));
//assert(!hasRegisteredWithin24Hours, '系统错误');

2.缓存问题 如修改后 ip:9200 访问正常 域名访问还是旧文件

关闭 反向代理的 开启缓存

删除反向代理-->配置文件里 expires 12h; 

清空 /www/server/nginx/proxy_cache_dir/ 夹里文件

清空 /www/server/nginx/proxy_temp_dir/ 夹里文件

如有cdn 也需要清除cdn缓存

强制刷新/清空浏览器缓存 重新访问

 

DIY

logo:

/opt/fiora/public/favicon-96.png

/opt/fiora/public/favicon-192.png

/opt/fiora/public/favicon-512.png

 

index.html

/opt/fiora/client/templates/index.html

 

侧边

/opt/fiora/client/modules/Sidebar/

 

安全

https://github.com/yinxin630/fiora/blob/master/doc/INSTALL.ZH.md

请按项目配置里提到的方法,在fiora根目录,新建 .env文件 

修改JwtSecret的值

  1. 2天前
    @
    baipiao

    建议在添加反向代理的时候先SSL在添加反向代理 不然会显示已开启反向站点的网站无法申请ssl 别问我怎么知道的哈哈哈

  2. 2天前
    @
    baipiao

    P2P?应该是PM2管理器吧

  3. 4天前
    @

    已Star,这个项目有点强

  4. 1周前 (01-16)
    @

    大佬你的萌备彩色字体怎么设置的

  5. 2周前 (01-14)
    @

    把【2. 在 软件商店 安装好 P2P管理器、MongoDB、Redis,三个应用。】换成【2. 在 软件商店 安装好 PM2管理器、MongoDB、Redis,三个应用。】

  6. 2周前 (01-09)
    @

    这个叼

  7. 2周前 (01-09)
    @

    厉害了哦

  8. 2周前 (01-09)
    @

    厉害噢

  9. 2周前 (01-09)
    @

    很赞诶~