Rocket.Chatは、無料のオープンソースのセルフホストチャットアプリケーションで、独自のチャットサーバーをホストできます。 Slackと非常によく似ており、ファイル共有、チケットシステム、ビデオチャット、会議などの同様の機能を提供します。 Rocket.Chatを使用すると、チームメンバーとチャットしたり、チャンネルやプライベートグループを作成したり、ビデオ通話や音声通話を行ったり、画面を共有したり、ファイルをアップロードしたりできます。
機能
- 強力なAPI
- リモートビデオモニタリング
- 無料の音声およびビデオ会議
- LiveChatとLDAPグループの同期
- 画面とファイルの共有
- デスクトップとモバイルの通知
- パブリックおよびプライベートのマルチユーザールーム
Rocket.Chatは、クラウドでホストするオープンソースのチャットプラットフォームを探している場合に最適です。
このチュートリアルでは、Ubuntu18.04VPSにRocket.Chatをインストールして構成する方法を示します。
前提条件
- Atlantic.Netクラウドプラットフォーム上の新しいUbuntu18.04VPS。
- VPSIPアドレスを指す有効なドメイン名。このチュートリアルでは、node1.example.comを使用します。
注:DNSレコードを管理するには、AtlanticDNSガイドを参照してください。
ステップ1-Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてUbuntu18.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
Ubuntu 18.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
apt-get update -y
ステップ2–Node.jsをインストールする
Rocket.Chatでは、ソースからnpmパッケージをビルドするためにNode.jsとその他の依存関係が必要です。まず、次のコマンドを実行してNode.jsリポジトリを追加します。
curl -sL https://deb.nodesource.com/setup_12.x — Node.js 12 LTS "Erbium"| bash -
次に、次のコマンドを使用して、リポジトリを更新し、必要な依存関係とともにNode.jsをインストールします。
apt-get update -y apt-get install nodejs build-essential curl software-properties-common graphicsmagick -y
ステップ3–MongoDBをインストールする
Rocket.Chatでは、MongoDBがサーバーにインストールされている必要があります。デフォルトでは、最新バージョンのMongoDBはUbuntu 18.04のデフォルトリポジトリで利用できないため、サーバーにMongoDBリポジトリを追加する必要があります。
まず、次のコマンドを使用して、公式リポジトリキーをダウンロードして追加します。
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
次に、次のコマンドを実行してMongoDBリポジトリを追加します。
add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
リポジトリが追加されたら、リポジトリを更新し、次のコマンドを使用してMongoDBをインストールします。
apt-get update -y apt-get install mongodb-org -y
MongoDBがインストールされたら、MongoDBサービスを開始し、システムの再起動後に開始できるようにします。
systemctl start mongod systemctl enable mongod
netstat -ant
出力:
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
ステップ4–MongoDBを構成する
Rocket.ChatはMongoDBレプリカセットを使用してパフォーマンスを向上させるため、MongoDBレプリカセットを構成する必要があります。次のコマンドで構成できます:
echo -e "replication:\n replSetName: \"rs01\"" | tee -a /etc/mongod.conf
次に、MongoDBサービスを再起動して、変更を適用します。
systemctl restart mongod
次に、MongoDBシェルにログインし、次のコマンドでレプリカセットを開始します。
mongo rs.initiate()
次の出力が表示されます。
この時点で、MongoDBがインストールされ、レプリカセットを使用して構成されます。
「Exit」と入力してMongoDBを終了します。
ステップ5–Rocket.Chatをインストールする
開始する前に、Rocket.Chatを実行するための新しいユーザーとグループを作成することをお勧めします。
まず、次のコマンドを使用して、rocketという名前の新しいユーザーを作成します。
adduser rocket
次の出力が得られるはずです:
次に、ロケットユーザーをwww-dataグループに追加して、NginxがRocket.Chatディレクトリにアクセスできるようにします。
usermod -a -G rocket www-data
次に、ユーザーをロケットに切り替え、次のコマンドを使用して最新バージョンのRocket.Chatをダウンロードします。
su - rocket curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します。
tar zxf rocket.chat.tgz
次に、次のコマンドを使用して、抽出したディレクトリをRocket.Chatに移動します。
mv bundle Rocket.Chat
次に、ディレクトリをRocket.Chat / programs / serverディレクトリに変更し、次のコマンドを使用して必要なすべてのnpmパッケージをインストールします。
cd Rocket.Chat/programs/server npm install
注: Rocket.Chatのインストールには数分かかります
すべてのパッケージがインストールされると、次の出力が表示されます。
次に、Rocket.Chatのインストールをテストするために必要な環境変数を設定します。
export PORT=3000 export ROOT_URL=http://0.0.0.0:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat export MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01
次に、ディレクトリをRocket.Chatに変更し、次のコマンドを使用してRocket.Chatサーバーを起動します。
cd ~/Rocket.Chat node main.js
注: このプロセスは完了するまでに数分かかる場合があります
次の出力が得られるはずです:
次に、CTRL + CでRocket.Chatサーバーを停止し、次のコマンドを実行してロケットユーザーを終了します。
exit
ステップ6–Rocket.ChatのSystemdサービスファイルを作成する
次に、systemdサービスファイルを作成して、Rocket.Chatサービスを開始および停止します。
nano /etc/systemd/system/rocketchat.service
次の行を追加します:
[Unit] Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target [Service] StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01 ROOT_URL=http://node1.example.com PORT=3000 ExecStart=/usr/bin/nodejs /home/rocket/Rocket.Chat/main.js [Install] WantedBy=multi-user.target
終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してsystemdデーモンをリロードします。
systemctl daemon-reload
次に、Rocket.Chatサービスを開始し、システムの再起動後に開始できるようにします。
systemctl start rocketchat systemctl enable rocketchat
これで、次のコマンドを使用してRocket.Chatサービスを確認できます。
systemctl status rocketchat
次の出力が得られるはずです:
ステップ7–Nginxを使用してリバースプロキシを設定する
次に、ポート3000からのクライアントリクエストをNginxポート80に転送するために、Nginxをリバースプロキシとしてインストールして構成する必要があります。
まず、次のコマンドを使用してNginxWebサーバーをインストールします。
apt-get install nginx -y
次に、次のコマンドを使用してNginx仮想ホスト構成ファイルを作成します。
nano /etc/nginx/sites-available/rocket
次の行を追加します:
server { listen 80; server_name node1.example.com; access_log /var/log/nginx/rocket-access.log; error_log /var/log/nginx/rocket-error.log; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:3000/; } }
終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用して仮想ホストを有効にします。
ln -s /etc/nginx/sites-available/rocket /etc/nginx/sites-enabled/
最後に、Nginxサービスを再起動して、構成の変更を適用します。
systemctl restart nginx
ステップ8–Rocket.ChatWebインターフェイスにアクセスする
次に、Webブラウザーを開き、URLhttp://node1.example.comに移動します。 Rocket.Chatセットアップウィザードにリダイレクトされます:
管理者のユーザー名、メールアドレス、パスワードの詳細を入力し、続行をクリックします ボタン。次のページが表示されます:
次に、組織情報を入力して、続行をクリックします ボタン。次のページが表示されます:
次に、サーバー情報を入力して、続行をクリックします ボタン。次のページが表示されます:
次に、Rocket.Chatの事前設定されたゲートウェイとプロキシを使用して、続行をクリックします。 ボタン。次のページが表示されます:
次に、ワークスペースに移動をクリックします ボタン。 Rocket.Chatのデフォルトのダッシュボードにリダイレクトされます:
結論
おめでとう!これで、Ubuntu18.04VPSにリバースプロキシとしてNginxを使用してRocket.Chatサーバーが正常にインストールおよび構成されました。 Rocket.Chat Docにアクセスして、新しいチャットシステムを学ぶことができます。今すぐAtlantic.NetVPSでRocket.Chatを始めましょう!