GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu18.04でNginxを使用してRocketChatをデプロイする方法

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を始めましょう!


Linux
  1. Ubuntu16.04にRocket.Chatをインストールする方法

  2. Ubuntu18.04にRocket.Chatをインストールする方法

  3. Ubuntu 20.04 で Nginx を使用して MERN スタックをインストールおよびセットアップする方法

  1. Ubuntu18.04にRocket.Chatをデプロイする方法

  2. CentOS7にRocket.Chatをデプロイする方法

  3. Ubuntu20.04LTSでNginxを使用してModsecurityをデプロイする方法

  1. Ubuntu16.04にNginxを使用してRocket.Chatサーバーをインストールする方法

  2. Ubuntu16.04にNginxでMediaWikiをインストールする方法

  3. Ubuntu15.10にNginxを使用してMagentoをインストールする方法