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

Ubuntu20.04にnginxリバースプロキシを使用してRocket.chatをインストールする方法

オープンソースのセルフホストチャットプラットフォームを探している場合は、Rocketchatが最適なオプションです。ロケットチャットは、スラック、マターモストなどのさまざまな通信チャネルの代わりに使用できます。ロケットチャットには、グループチャット、ビデオ会議などのさまざまな機能があり、ライブチャットを他のプラットフォームと統合できます。この記事では、SSL証明書を暗号化してセルフホストのRocketchatシステムをセットアップする方法を学習します。

前提条件

  1. 新しいubuntuサーバー
  2. rootアクセスまたはsudo特権アカウント
  3. サーバーIPで指定されたドメイン名
  4. アプリケーションをダウンロードするためのインターネット接続

必要なパッケージと依存関係をインストールする

パッケージをインストールする前に、次のコマンドを使用してUbuntuシステムを更新します

$ sudo apt-get update -y

システムの更新が完了したら、次のコマンドを使用してMongoDBパッケージをインストールするようにaptを構成します。

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

出力:

aptを使用してインストールできるようにNode.jsを構成するには パッケージマネージャーは次のコマンドを実行します。

$ sudo apt-get -y update && sudo apt-get install -y curl && curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -

出力:

次に、ビルドツールNodejs、MongoDB、graphicsmagickをインストールします:

$ sudo apt-get install -y build-essential mongodb-org nodejs graphicsmagick

出力:

次に、inheritsとn、およびRocketchatに必要なノードバージョンをインストールします。

$ sudo npm install -g inherits n && sudo n 12.18.4

インストールされているNodejsのバージョンを確認するには、次のコマンドを実行します。

$ node --version

出力:

v12.18.4

Rocketchatをインストールする

必要な依存関係はすでにインストールされています。このステップでは、Rocket Chatアプリケーションをダウンロードして、Ubuntu20.04にインストールします。

次のコマンドを使用して、Rocketchatの最新バージョンをダウンロードします。

$ curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp

出力:

ダウンロードしたアプリケーションを解凍します。抽出したファイルを保存するディレクトリを選択できます。この例では、 / tmpにファイルを抽出しました ディレクトリ。

$ tar -xvzf /tmp/rocket.chat.tgz -C /tmp

次に、Rocketchatをインストールします。この記事では/opt ディレクトリはインストールに使用されます。任意のディレクトリを優先できます。

$ cd /tmp/bundle/programs/server && npm install

出力:

$ sudo mv /tmp/bundle /opt/Rocket.Chat

Rocket.Chatサービスを構成する

rocketchatユーザーを作成し、Rocket.Chatアプリケーションディレクトリに適切な権限を設定して、Rocket.Chatサービスを作成します。

$ sudo useradd -M rocketchat && sudo usermod -L rocketchat
$ sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat

rocketchat.serviceを作成するには、端末で次のコマンドを実行します

cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://localhost:3000/ PORT=3000
[Install]
WantedBy=multi-user.target
EOF

例:

次に、MongoDBストレージエンジンとレプリケーションをセットアップする必要があります。この後、mongoDBを有効にして起動します:

$ sudo sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf
$ sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
$ sudo systemctl enable mongod && sudo systemctl start mongod
$ mongo --eval "printjson(rs.initiate())"

出力:

次に、次のコマンドを使用してRocket.Chatサービスを開始して有効にします。

$ sudo systemctl enable rocketchat && sudo systemctl start rocketchat

Rocket.Chatサービスのステータスを確認してください」

$ sudo systemctl status rocketchat

出力:

Nginxのインストールとリバースプロキシの構成

Rocket.Chatのnginxリバースプロキシを構成するには、次のコマンドを使用してnginxをインストールします

$ sudo apt install nginx

rocketchatのnginx仮想ホスト構成を作成します。

$ sudo nano /etc/nginx/conf.d/rocketchat.conf

次の内容を貼り付けてファイルを保存します

upstream backend {
server 127.0.0.1:3000;
}

server {
listen 80;

server_name your_rocketchat_domain_name;
access_log /var/log/nginx/rocket.chat.access.log;
error_log /var/log/nginx/rocket.chat.error.log;

location / {
proxy_pass http://backend/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}

nginx構成ファイルを確認してください

$ sudo nginx -t

nginxサービスを再起動して有効にします

$ sudo systemctl restart nginx
$ sudo systemctl enable nginx

次に、rocketchatドメインに次のようにアクセスします

http:// your_rocketchat_domain

Webセットアップウィザードを取得し、それを完了してRocket.Chat

の使用を開始します。

SSLリバースプロキシとしてのNginx

Rocket.ChatをHTTPリバースプロキシのみで構成しました。 nginxをSSLリバースプロキシとして構成するには、証明書ファイルが必要です。 nginx vhostファイルを編集して、次の内容を貼り付けます。

$ sudo nano /etc/nginx/conf.d/rocketchat.conf
upstream backend {
server 127.0.0.1:3000;
}

server {
listen 443 ssl;
Server_name your_rocketchat_domain_name;
client_max_body_size 200M;
access_log /var/log/nginx/rocket.chat.access.log;
error_log /var/log/nginx/rocket.chat.error.log;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

location / {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}

注:

ssl証明書を生成または購入し、証明書ファイルのディレクトリを次の構成パラメーターで指定します。

ssl_certificate /etc/nginx/certificate.crt; [Your certificate file]
ssl_certificate_key /etc/nginx/private.key; [Your Private Key file]

nginx構成ファイルを確認してください

sudo nginx -t

nginxサービスを再起動します

sudo systemctl restart nginx

Rocketchatへのアクセス

リバースプロキシを設定すると、次のURLを使用してRocket.Chatにアクセスできます。

https:// you_rocket_chat_domain

Rocket.ChatWebセットアップウィザードが表示されます。セットアップを完了し、セルフホストのRocket.Chatの使用を開始します。

結論

この記事では、Ubuntu20.04にセルフホストのRocketチャットをインストールして構成する方法を学びました。また、SSL証明書を暗号化してリバースプロキシ用にnginxをインストールおよび構成する方法についても説明しました。


Ubuntu
  1. リバースプロキシとしてNginxを使用してUbuntu16.04にOdoo11をインストールする方法

  2. リバースプロキシとしてNginxを使用してUbuntu16.04にOdoo10をインストールする方法

  3. リバースプロキシとしてNginxを使用してUbuntu20.04にFlectraをインストールする方法

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

  2. Ubuntu18.04LTSにNginxリバースプロキシを使用してAnsibleAWXをインストールする方法

  3. リバースプロキシとしてNginxを使用してUbuntu18.04にOdoo12をインストールする方法

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

  2. Ubuntu16.04LTSにNginxを使用してVarnishリバースプロキシをインストールする方法

  3. Ubuntu15.10でApacheのリバースプロキシとしてNginxをインストールする方法