萌萌哒网络聊天室:Fiora聊天室安装与使用教程

萌萌哒网络聊天室:Fiora聊天室安装与使用教程

说明:Fiora是一款偏二次元的Web多人在线聊天应用,使用Node.jsMongodbSocket.ioReact编写,使用起来还行,挺简洁的,这里水个搭建教程,有兴趣的可以玩玩。

截图

请输入图片描述
请输入图片描述

功能

  • 好友,群组,私聊,群聊
  • 文本,图片,代码,url等多种类型消息
  • 贴吧表情,滑稽表情,搜索表情包
  • 桌面通知,声音提醒,语音播报
  • 自定义桌面背景,主题颜色,文本颜色
  • 查看在线用户,@功能
  • 小黑屋禁言

手动安装

Github地址:https://github.com/yinxin630/fiora

所需环境:Nodejs >= 8.9.0Mongodb

说明:512M内存vps可能还需要先加一点虚拟内存,不然构建过程会失败,可以使用Swap一键脚本→传送门

1、安装Nodejs

#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt install -y git nodejs 

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

2、安装Mongodb

#CentOS 6系统,将下面命令一起复制进SSH客户端运行
cat <<EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/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

#CentOS 7系统,将下面命令一起复制进SSH客户端运行
cat <<EOF > /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

#Debian 8系统
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org

#Debian 9系统
curl https://www.mongodb.org/static/pgp/server-4.0.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt-get update -y
apt-get install -y mongodb-org

#Debian 10系统,目前Debian 10还没Mongodb软件包,不过试了下还是可以用下面的方法勉强安装的
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org

#Ubuntu 16.04系统
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org

#Ubuntu 18.04、18.10、19.04系统
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org

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

启动Mongodb并设置开机自启:

#CentOS 6系统
service mongod start
chkconfig mongod on

#CentOS 7、Debian、Ubuntu系统
systemctl start mongod
systemctl enable mongod

3、安装fiora

#拉取源码并存放于/opt文件夹
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
#转移产物
npm run move-dist
#启动
npm start

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

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

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

#CentOS 6
iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
service iptables save
service iptables restart

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

像阿里云等,还需要额外在安全组开放端口。

接下来再将自己的账号设置成管理员,先使用Ctrl+C断开运行。

新建Systemd配置文件,只适用于CentOS 7Debian 8+Ubuntu 16+等。

#先修改你的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

其它系统,比如CentOSDebian 7等系统,可以直接使用以下方法启动:

#管理员userId和运行端口自行修改
export Administrator=5d329dd354b9 Port=9200
nohup npm start &

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

4、域名反代
如果你想使用域名的话,这里依旧使用Caddy反代,操作如下:

安装Caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/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

tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。

启动Caddy

/etc/init.d/caddy start

就可以打开域名进行访问了。

如果你想修改默认的频道名称的话,可以编辑config/server.js文件,修改最下面的代码:

defaultGroupName: 'fiora',

然后重启应用即可。需要使用到七牛云CDN的,可以参考作者给的教程自行设置→传送门

宝塔安装

1、安装宝塔

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

安装完成后,进入面板,点击左侧软件商店,然后安装PM2管理器MongoDBNginx(使用域名访问才需要安装,反之不用)。

注意:Debian安装MongoDb之前还需要使用命令apt install sudo,不然可能存在MongoDb启动不了的情况;如果你已经安装了MongoDb,那就先使用apt install sudo,再使用/etc/init.d/mongodb start启动即可。

2、安装fiora
该步骤参考上面的手动步骤3,区别在于新建systemd配置文件的时候,Environment参数还需要加一样,不然启动可能失败。

只需要把新建systemd配置文件步骤换成下面这个,其它一模一样。

#先给node做个软连接,不然后面会启动失败
ln -sf $(which node) /usr/bin/node
#修改运行端口,可以默认
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=fiora
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
EOF

3、域名反代
先点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击配置文件,在中间添加以下代码:

location / {
    proxy_pass http://127.0.0.1:9200;
    proxy_set_header Host             $host;
    proxy_set_header X-Real-IP        $remote_addr;
    proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forward-Proto http;
    proxy_set_header X-Nginx-Proxy true;
    proxy_http_version 1.1;

    proxy_redirect off;
}

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

原创文章,作者:小嵘源码,如若转载,请注明出处:https://www.lcpttec.com/fiora/

(4)
上一篇 2019年11月16日 下午8:56
下一篇 2019年11月16日 下午11:13

相关推荐

  • Windows安全之账号克隆

    账号策略 Windows中SID是标识用户、组和计算机账户的唯一号码。 使用工具getsid.exe进行获取管理员和普通用户的sid: D:>getsid \localhost administrator \localhost guest The SID for account administrator is S-1-5-21-1016001505-…

    2019年9月30日
    2.3K0
  • CTF-PWN 环境配置

    pwntools sudo apt install python-pip python3-pip sudo pip install pwntools 提示安装python-dev可以使用aptitude安装 这一步建议挂代理 python >>> import pwn >>> pwn.asm(“xor eax,eax”) …

    2019年9月26日
    2.8K0
  • 关于BT服务器面板主题皮肤优化

    下面是 “关于宝塔服务器面板主题皮肤优化“ 的效果展示图,由娜云制作。小编只是转载。小编也希望大家用得开心,用得赏心悦目,以前那老土朴素的界面真的可以换一换皮肤了。 登陆界面 面板首页 文件管理 BTPanel 模板文件下载 使用方法: 1.解压覆盖到/www/server/panel/BTPanel/ 2.进入SSH,输入bt,选择9,清空面板缓存 3.清…

    2019年11月23日
    2.1K0
  • 海外性价比高的私人代理IP购买推荐

    我们在使用各种外链群发软件比如senuke tng scrapebox或者社交营销软件比如instadub pinblster等,都要求我们配合私人代理IP,这里我们推荐一家国外主流的私人代理销售网站,我们自己每月也在使用,非常不错。 网站地址:http://buyproxies.org/ 网站目前提供的代理支持各种外链群发软件,同时指出google  fa…

    2019年11月4日
    3.2K0
  • 推荐一款免费文件对比比较工具

    推荐一款免费文件对比比较工具。希望能帮助大家做好内容。 Diffinity这是一款免费的文件对比工具,分析文本、网页、代码的差异化工具。是站长网络安全必不可少的辅助软件。Diffinity 是Windows 下的文本文件对比和合并工具,支持代码高亮、逐行显示差异、集成 Windows 资源管理器等功能。 Diffinity软件简介 Diffinity是一款简…

    2019年12月15日
    3.3K0
  • 推荐好使的在线检测网站工具

    这次,小编来给大家 “推荐好使的在线检测网站工具”。 1. HTML Validatorvalidator.w3.org/网页结构检测工具,支持HTML, XHTML, SMIL, MathML…….2. CSS Validatorjigsaw.w3.org/css-validator/CSS验证。3. Links Validatorvalidator.w3…

    2019年11月16日
    1.2K0
  • 国外VPS购买推荐帖子:HOSTSAILOR

    便宜的vps服务器能发财致富呢!国外服务器供应商HOSTSAILOR:服务器vps黑色星期五优惠价格,只需要6.6$一年哦!本方法由峰哥博客提供。工具:谷歌浏览器+谷歌浏览器上面的谷歌自动翻译。(谷歌翻译英文嘛,但博主英文好,是不需要翻译英文的,啊哈哈哈哈哈) 需要的可以上车,6.6$一年目前还有库存,无需优惠码直接购买即可! 这家除了线路比较烂其他都可以!…

    2019年11月30日
    1.9K0
  • 国外域名商DYNADOT:.BEST后缀域名免费注册

    国外域名商DYNADOT:.BEST后缀域名免费注册 .BEST后缀域名免费注册   .BEST后缀域名免费注册 目前这个码子又复活了,昨天注册了一个然后过了几分钟就凉了,刚才试了一下又能用了,需要的赶快去注册一个了! Ps:这家注册/登录的验证码比较沙雕,需要大写字母! 活动地址:https://www.dynadot.com/community…

    2019年11月30日
    2.0K0
  • CTF签到之html信息隐藏

    出题形式 Flag隐藏在html文件中,此类题目比较隐蔽,不易发现! 题目制作 1.新建1.html文档 <!DOCTYPE html> <html> <head> <title>请寻找Flag值</title> </head> <body> <h1>我就是一个简…

    2019年9月30日
    3.9K0
  • 嵌入式开发环境部署

    Why Openwrt openwrt基于linux,裁剪了Linux的文件系统,封装了适用于智能家居的功能模块。 搭建虚拟机 下载镜像:http://archive.openwrt.org/releases/17.01.4/targets/x86/64/lede-17.01.4-x86-64-combined-ext4.img.gz 转换工具:StarWi…

    2019年9月30日
    1.8K0
  • 漏洞复现:”CVE_2019_0708 BlueKeep”

    环境篇 Windows7 ultimate sp1 x64 MSF 开启远程桌面: 关闭防火墙: 利用篇 早期蓝屏 这是早期漏洞利用POC! git clone https://github.com/n1xbyte/CVE-2019-0708.git cd CVE-2019-0708 pip3 install impacket python3 crashpo…

    2019年9月26日
    3.9K0
  • 悬剑2.0安装与探究

    镜像下载 https://pan.baidu.com/s/1yfNwtbEC4blwUw9YloVjmA 解压密码:SecQuan.Org 使用PanDownload,在10M的宽带环境下下载逾十个小时,இ௰இ 镜像导入 导入OVF文件快要完成的时候报错:SHA digest of file 悬剑2.0-disk1.vmdk does not match m…

    2019年9月26日
    8.0K0