GNU/Linux >> Linux の 問題 >  >> Cent OS

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

Rocket.Chatは、完全なチームコミュニケーションプラットフォームであり、自己ホスト型のSlackの代替手段です。 Meteorで構築されており、ヘルプデスクチャット、ビデオ会議、ファイル共有、音声メッセージ、APIなどのさまざまな機能を提供します。

このチュートリアルでは、SSLリバースプロキシとしてNginxを使用してCentOS7サーバーにRocket.Chatをインストールして展開する方法を示します。

前提条件#

このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。

  • CentOS 7サーバー、公式のRocket.Chatシステム要件によると、少なくとも1GのRAMが必要です。
  • sudo権限を持つユーザーとしてログインしています。
  • サーバーのIPアドレスを指すドメイン名があります。この記事では、 example.comを使用します 。
  • Nginxがインストールされていますが、インストールされていない場合は、このチュートリアルに従ってインストールできます。
  • SSL証明書。 Let’s Encryptから無料のものを生成するか、別のプロバイダーから購入することができます。

依存関係のインストール#

必要なnpmをビルドするために必要な次のパッケージをインストールします モジュール:

sudo yum install epel-release curl GraphicsMagick gcc-c++

次に、 Node.jsをインストールします およびnpm 次のように入力します:

sudo yum install -y nodejs npm

この記事を書いている時点で、Rocket.Chatに推奨されるNode.jsversionはNode.jsv8.11.3です。

次のコマンドを発行して、 nをインストールします ユーティリティと推奨されるNode.jsバージョン:

sudo npm install -g inherits nsudo n 8.11.3

MongoDBはNoSQLドキュメント指向データベースであり、Rocket.Chatによってデータストアとして使用されます。 Rocket.ChatはMongoDBバージョン3.6を推奨しています。

yumを使用してMongoDBをインストールします 公式のMongoDBリポジトリから。

選択したエディターを開き、次のリポジトリファイルを作成します。

sudo nano /etc/yum.repos.d/mongodb-org.repo

次のコンテンツをファイルに貼り付けます:

/etc/yum.repos.d/mongodb-org.repo
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

ファイルを保存して、テキストエディタを閉じます。

MongoDBをインストールするには、次のコマンドを実行します。

sudo yum install mongodb-org

インストールが完了したら、MongoDBサービスを有効にして開始します。

sudo systemctl start mongodsudo systemctl enable mongod
新しいシステムユーザーの作成#

Rocket.Chatインスタンスを実行する新しいユーザーとグループを作成します。簡単にするために、ユーザーに rocketという名前を付けます。 :

sudo useradd -m -U -r -d /opt/rocket rocket

nginxを追加します ユーザーを新しいユーザーグループに変更し、 / opt / rocketを変更します Nginxがアクセスできるようにするためのディレクトリ権限:

sudo usermod -a -G rocket nginxsudo chmod 750 /opt/rocket

Rocket.Chatのインストール#

ユーザーrocketに切り替えます 次のように入力します:

sudo su - rocket

Rocket.Chat with curlの最新の安定バージョンをダウンロードします:

curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz

ダウンロードが完了したら、アーカイブを抽出し、ディレクトリの名前を Rocket.Chatに変更します。 :

tar zxf rocket.chat.tgzmv bundle Rocket.Chat

Rocket.Chat / programs / serverに変更します ディレクトリを作成し、必要なすべての npmをインストールします パッケージ:

cd Rocket.Chat/programs/servernpm install

systemdユニットを作成し、Nginxitでリバースプロキシを設定する前に、インストールが成功したかどうかをテストすることをお勧めします。

そのためには、まず必要な環境変数を設定します。

export PORT=3000export ROOT_URL=http://example.com:3000/export MONGO_URL=mongodb://localhost:27017/rocketchat

次に、 Rocket.Chatに戻ります。 ディレクトリを作成し、 Rocket.Chatを開始します 次のコマンドを発行してサーバー:

cd ../../node main.js

エラーがない場合は、次の出力が表示されます。

➔ +---------------------------------------------+
➔ |                SERVER RUNNING               |
➔ +---------------------------------------------+
➔ |                                             |
➔ |  Rocket.Chat Version: 0.71.1                |
➔ |       NodeJS Version: 8.11.3 - x64          |
➔ |             Platform: linux                 |
➔ |         Process Port: 3000                  |
➔ |             Site URL: http://0.0.0.0:3000/  |
➔ |     ReplicaSet OpLog: Disabled              |
➔ |          Commit Hash: e73dc78ffd            |
➔ |        Commit Branch: HEAD                  |
➔ |                                             |
➔ +---------------------------------------------+

この時点で、Rocket.ChatがCentOS7マシンにインストールされています。 CTRL + CでRocket.Chatサーバーを停止します 次の手順に進みます。

Systemdユニットを作成する#

Rocket.Chatをサービスとして実行するには、 rocketchat.serviceを作成します / etc / systemd / system /内のユニットファイル ディレクトリ:

sudo nano /etc/systemd/system/rocketchat.service

次のコンテンツをファイルに貼り付けます:

/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 ROOT_URL=http://example.com:3000/ PORT=3000
ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

[Install]
WantedBy=multi-user.target

ファイルを保存して閉じます。

新しいユニットファイルが作成されたことをsystemdに通知し、次を実行してRocket.Chatサービスを開始します。

sudo systemctl daemon-reloadsudo systemctl start rocketchat

次のコマンドでサービスステータスを確認します。

sudo systemctl status rocketchat

出力は次のようになります。

● rocketchat.service - Rocket.Chat server
   Loaded: loaded (/etc/systemd/system/rocketchat.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-04-10 20:30:56 UTC; 8s ago
 Main PID: 32356 (node)
   CGroup: /system.slice/rocketchat.service
           └─32356 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

エラーがない場合は、起動時にRocket.Chatサービスを自動的に開始できるようにすることができます:

sudo systemctl enable rocketchat

Nginxでリバースプロキシを設定する#

CentOS 7にNginxをインストールする方法と、CentOS 7ガイドでLet’s Encryptを使用してNginxを保護する方法に従った場合は、NginxがSSL証明書でインストールおよび構成されているはずです。

次に、Rocket.Chatインストール用に新しいサーバーブロックを作成する必要があります:

sudo nano /etc/nginx/conf.d/example.com.conf

次のコンテンツをファイルに貼り付けます:

/etc/nginx/conf.d/example.com.conf
upstream rocketchat_backend {
  server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    location / {
        proxy_pass http://rocketchat_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 systemctl reload nginx

Rocket.Chatの設定#

ブラウザを開き、次のように入力します: http://chat.example.com

インストールが成功すると、Rocket.Chatセットアップウィザードが表示されます。このウィザードは、最初の管理者ユーザーのセットアップ、組織の構成、無料のプッシュ通知を受信するためのサーバーの登録などをガイドします。

初期設定ウィザードの最初のセクションでは、管理者ユーザーを設定するように求められます。

管理者情報の入力が完了したら、続行をクリックします ボタンをクリックし、次のステップで組織情報を入力します:

初期設定ウィザードの3番目のセクションでは、サーバー情報を入力するように求められます。

次のステップでは、Rocket.Chatの事前構成されたゲートウェイとプロキシを使用するかどうかを尋ねられます。このオプションを選択すると、Rocket.Chat Appsマーケットプレイスや、プッシュ通知などの他のほとんどの機能にアクセスできます。ボックスの。

選択して、続行をクリックします ボタンをクリックすると、ワークスペースを使用する準備ができたことを示す次のページにリダイレクトされます。

ワークスペースに移動をクリックします ボタンをクリックすると、管理者ユーザーとしてログインしているRocket.Chatダッシュボードにリダイレクトされます。


Cent OS
  1. CentOS7にRocket.Chatをインストールする方法

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

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

  1. CentOSサーバーにCDPを展開する方法

  2. CentOS7にLiveHelperChatをインストールする方法

  3. CentOS Linux に Ruby + Passenger + Nginx をデプロイする方法

  1. CentOS7にPHP7、7.2、7.3をインストールする方法

  2. CentOS7にJava11および12をインストールする方法

  3. CentOS7にWine4.0をインストールする方法