説明:Fiora
は、二次元寄りのWeb
マルチプレイヤーオンラインチャットアプリケーションで、Node.js
、Mongodb
、Socket.io
、およびReact
を使用して作成されています。使い勝手は良く、シンプルです。ここでは、セットアップチュートリアルを紹介します。興味がある方は試してみてください。
スクリーンショット#
機能#
- 友達、グループ、プライベートチャット、グループチャット
- テキスト、画像、コード、
url
などのさまざまなタイプのメッセージ - バーの絵文字、面白い絵文字、絵文字パックの検索
- デスクトップ通知、音声リマインダー、音声読み上げ
- カスタムデスクトップ背景、テーマカラー、テキストカラー
- オンラインユーザーの確認、
@
機能 - 小部屋での発言禁止
手動インストール#
Github アドレス:https://github.com/yinxin630/fiora
必要な環境:Nodejs >= 8.9.0
、Mongodb
。
説明: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 7
、Debian 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
他のシステム、例えばCentOS
、Debian 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
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.test.com {
gzip
tls [email protected]
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管理者
、MongoDB
、Nginx
(ドメインアクセスが必要な場合のみインストール)をインストールします。
注意: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
でフィードバックしてください。
著作権声明:この記事は転載されたもので、著作権は Rat's Blog に帰属します。転載する際は出典を明記してください!