安卓客户端体验:fiora点击下载

网页版体验:fiora网页版

 

使用的系统是Linux Centos7.6
注意: 512M内存vps可能还需要先加一点虚拟内存,不然构建过程会失败。

开始安装
命令行安装方法
一、安装Nodejs

curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs git -y

二、安装Mongodb

#将下面命令一起复制进SSH客户端运行
cat < /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
yum -y install mongodb-org

注意: 如果导入公匙时出现gnupg, gnupg2 and gnupg1 do not seem to be installed错误,使用apt install -y gnupg2,然后重新导入即可。

1、启动Mongodb并设置开机自启:

systemctl start mongod systemctl enable mongod

三、安装redis并设置后台运行 1、下载redis安装包 新开一个终端输入:

wget http://download.redis.io/releases/redis-4.0.6.tar.gz

2、解压压缩包

tar -zxvf redis-4.0.6.tar.gz

3、yum安装gcc依赖

yum install gcc

输入y即可

4、跳转到redis解压目录下

cd redis-4.0.6

5、编译安装

make MALLOC=libc

将/usr/local/redis-4.0.6/src目录下的文件加到/usr/local/bin目录

cd src && make install

到redis-4.0.6/src目录下测试有没有安装成功

./redis-server

末尾为Ready to accept connections就说明安装成功了。

6、以后台进程方式运行redis
到redis-4.0.6目录下修改redis.conf文件。

cd .. vim redis.conf

daemonize no

修改为

daemonize yes

最后指定redis.conf文件启动即可。

./redis-server /usr/local/redis-4.0.6/redis.conf

四、安装fiora
注意:任何操作都要在fiora目录下进行

#拉取源码并存放于/opt文件夹
git clone https://github.com/yinxin630/fiora.git -b master /opt/fiora
cd /opt/fiora
#安装依赖,这里不能用npm,需要用yarn来安装
npm i -g yarn
yarn
#构建 如果报错error fiora@1.0.0: The engine "node" is incompatible with this module. Expected version ">= 14". Got "10.24.1"
yarn config set ignore-engines true
#解决办法
npm run build:web #前版本npm run build:client
#转移产物
echo "JwtSecret=" > .env2. #前版本npm run move-dist
#启动
npm start

运行后打开ip:9200,注册一个账号,然后可以看SSH客户端运行日志,获取自己的userId。

#这里注册或登录的时候返回的信息,后面的5d329dd354b9则为自己的userId
<-- getLinkmansLastMessages mYNheu93jds7 5d329dd354b9

如果ip:9200打不开的,可以检查下防火墙,可以使用以下命令:

firewall-cmd --zone=public --add-port=9200/tcp --permanent firewall-cmd --reload

注意: 像阿里云等,还需要额外在安全组开放端口。
接下来再将自己的账号设置成管理员,先使用Ctrl+C断开运行。
新建Systemd配置文件:

#先修改你的userId和运行端口后复制到SSH运行
Administrator=5d329dd354b9
Port=9200
#新建fiora用户并授权
useradd -M fiora && usermod -L fiora
chown -R fiora:fiora /opt/fiora
#新建systemd配置文件,将以下代码一起复制到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=Administrator=$Administrator Port=$Port
User=fiora
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
EOF

开始启动并设置开机自启:

systemctl start fiora systemctl enable fiora

管理员userId和运行端口自行修改。

export Administrator=5d329dd354b9 Port=9200 nohup npm start &

此时就可以访问ip:9200,运行端口以你设置的为准,这时候你登陆的时候,会发现左侧多了个管理员图标。

五、域名反代

如果你想使用域名的话,这里使用Caddy反代。
安装Caddy:

wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置Caddy:

#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!

#http访问,该配置不会自动签发SSL
echo "www.moerats.com {
gzip
proxy / 127.0.0.1:9200 {
websocket
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Port {server_port}
header_upstream X-Forwarded-Proto {scheme}
}
}" > /usr/local/caddy/Caddyfile

#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
echo "www.moerats.com {
gzip
tls admin@moerats.com
proxy / 127.0.0.1:9200 {
websocket
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Port {server_port}
header_upstream X-Forwarded-Proto {scheme}
}
}" > /usr/local/caddy/Caddyfile

启动Caddy:

/etc/init.d/caddy start

就可以打开域名进行访问了。
注意事项: 一个ip一天只能注册一个账号,还有上传不了图片请自行查看日志。
查看日志命令:

pm2 logs fiora

到此安装就完成了,修改文件,fiora页面修改路径

  • 以下logo:
  • /opt/fiora/public/favicon-96.png
  • /opt/fiora/public/favicon-192.png
  • /opt/fiora/public/favicon-512.png
  • 以下主页修改路径
  • /opt/fiora/client/templates/index.html
  • 以下侧边栏修改路径
  • /opt/fiora/client/modules/Sidebar/

页面修改问题

修改fiora内容,往往需要重构才能生效。

其它的就自己慢慢摸索吧,博主也没过多使用,有问题可以直接去Github Issues反馈。

宝塔安装教程

进入软件商店,安装如下依赖

怎么在宝塔上安装yarn 宝塔安装fiora_怎么在宝塔上安装yarn

Nginx PM2管理器 MongoDB Redis

怎么在宝塔上安装yarn 宝塔安装fiora_linux_02

然后进入刚才安装的PM2管理器插件设置,在Node版本选项卡中选中(如有更新的版本,建议选择最新的正式版使用)

怎么在宝塔上安装yarn 宝塔安装fiora_redis_03

回到腾讯云控制台,进入终端,输入下面命令获取到root权限并切换到网站目录

sudo su cd /www/wwwroot/

拉取文件

git clone https://github.com/yinxin630/fiora.git -b master

安装yarn依赖并进入fiora目录

npm install -g yarn cd fiora/

安装依赖并构建客户端代码

yarn install yarn build:web

配置 JwtSecret

echo "JwtSecret=2ace77bfb3684df6" > .env2

启动服务端,配置进程守护

yarn start pm2 start yarn --name fiora -- start

此时就可以在浏览器输入http://[ip地址]:9200打开fiora聊天室了。如果无法打开,请检查宝塔面板的系统防火墙,并一键放通腾讯云后台防火墙:

怎么在宝塔上安装yarn 宝塔安装fiora_linux_04

还可以设置反向代理,直接通过你的域名访问聊天室!

怎么在宝塔上安装yarn 宝塔安装fiora_怎么在宝塔上安装yarn_05

配置管理员

获取用户userid 比如admin

yarn script getUserId admin

设置管理员,这里可能无效,不过可以看下边其他方法

export Administrator=获取的userid Port=9200

添加管理员权限,上边那个没效果的采取这个

在fiora根目录,新建 .env文件,里边内容输入如下,一行一个

Administrator=你的userid Port=9200

docker 运行

首先安装 docker https://docs.docker.com/install/

直接从 DockerHub 镜像运行

# 拉取 mongo
docker pull mongo

# 拉取 redis
docker pull redis

# 拉取 fiora
docker pull suisuijiang/fiora

# 创建虚拟网络
docker network create fiora-network

# 启动 mongodB
docker run --name fioradb -p 27017:27017 --network fiora-network mongo

# 启动 redis
docker run --name fioraredis -p 6379:6379 --network fiora-network redis

# 启动 fiora
docker run --name fiora -p 9200:9200 --network fiora-network -e Database=mongodb://fioradb:27017/fiora -e RedisHost=fioraredis suisuijiang/fiora

本地构建镜像运行

克隆项目到本地 git clone https://github.com/yinxin630/fiora.git -b master
构建镜像 docker-compose build --no-cache --force-rm
运行 docker-compose up

实现大文件上传教程

第一步:修改服务端

cd fiora/packages/server/src

修改app.ts里的第37行和38行:

pingTimeout: 10000, 
pingInterval: 5000,

将这两个的数值改成你自己需要的数值,单位为毫秒,大概意思就是增加socket.io的连接超时,时间越长,你上传大文件时就不会因为超时断开连接。

cd fiora/packages/server/node_modules/engine.io/lib

修改server.js里的28行和29行:

pingTimeout: 20000,
        pingInterval: 25000,

将这两个的数值改成你自己需要的数值,单位为毫秒,同上。

修改server.js里的31行:
maxHttpBufferSize: 1e6,

其中1e6是b字节的数值,这里是限制你上传文件的大小,你可以根据自己的需要更改。

怎么在宝塔上安装yarn 宝塔安装fiora_redis_06

(貌似这里只能用b字节?那就需要你自己去换算)

第二步:修改客户端配置文件

vi fiora/packages/config/client.ts

maxFileSize: process.env.MaxFileSize
        ? parseInt(process.env.MaxFileSize, 10)
        : MB * 10,

其中: MB * 10, 把10改成你需要的数值,单位MB,这里是在客户端限制你上传文件的大小。

第三步:修改Nginx上传文件限制和连接超时

怎么在宝塔上安装yarn 宝塔安装fiora_数据库_07

这里用的宝塔,大家可以自己在nginx.conf修改。

第四步:

重构: yarn build:web 启动: yarn start