Rocket.Chat – Linux用の無料のオープンソースエンタープライズチームチャット


Rocket.Chatは、無料のオープンソースでスケーラブルで高度にカスタマイズ可能な安全なプラットフォームであり、チームとの通信とコラボレーション、ファイルの共有、チャットをリアルタイムで行うことができます。クロスプラットフォームであり、Linux、Windows、macOS、Android、およびiOSモバイルオペレーティングシステムで実行されます。

Slackに似ており、ライブチャット、無料の音声およびビデオ会議、チャネル、ゲストアクセス、画面共有、ファイル共有を備えています。安全な通信を確保するために、LDAPグループ同期、2要素認証(2FA)、エンドツーエンド暗号化、シングルサインオン、およびいくつかのOauthプロバイダーをサポートしています。

重要なのは、完全にオープンソースであるため、そのソースコードにアクセスして、チームまたはビジネスの要件を満たすために、新しい機能を完全にカスタマイズ、拡張、または追加できることです。

この記事では、LinuxシステムにRocket.Chatサーバーとクライアントをインストールして構成する方法を学習します。

ステップ1:Linuxにスナップをインストールする

1. Rocket.Chatをインストールする最も簡単な方法は、スナップを使用することです–すべてではないにしてもほとんどの最新のLinuxディストリビューションでサポートされており、制限付きのセキュリティサンドボックスの下で実行されるため安全です。さらに、スナップを使用すると、パッケージの新しいバージョンが利用可能になったときに自動更新することもできます。

まず、snapdパッケージがシステムにインストールされていることを確認します。インストールされていない場合は、次に示すように、デフォルトのパッケージマネージャーを使用してインストールします。

$ sudo apt install snapd		#Ubuntu and Debian
$ sudo dnf install snapd		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install snapd		#CentOS/RHEL 7

2.インストールが完了したら、次のようにメインスナップ通信ソケットを管理するsystemdユニットを有効にする必要があります。このコマンドはソケットを起動し、システムの起動時にソケットを起動できるようにすることに注意してください。 Ubuntuでは、これはパッケージのインストールが完了した後に自動的に実行される必要があります。

$ sudo systemctl enable --now snapd.socket

さらに、/ var/lib/snapd/snapと/ snapの間にシンボリックリンクを作成することで、従来のスナップサポートを有効にできます。

 
$ sudo ln -s /var/lib/snapd/snap /snap

ステップ2:LinuxにRocket.Chatをインストールする

$ sudo snap install rocketchat-server

4.スナップインストールが完了すると、rocket.chatサーバーはデフォルトでポート3000で実行およびリッスンを開始します。 Webブラウザーを開き、次のアドレスを入力して、システムにrocket.chatをセットアップします。

http://SERVER_IP:3000

5.セットアップウィザードがロードされたら、管理ユーザーのフルネーム、ユーザー名、組織の電子メール、およびパスワードを入力します。

6.次に、組織情報(組織の種類、名前、業界、規模、国、およびWebサイト)を入力し、[続行]をクリックします。

7.次に、サーバー情報(サイト名、デフォルト、サーバータイプ、および2FAを有効にするかどうか)を入力します。次に、[続行]をクリックします。

8.次のページで、サーバーを登録します。ここには2つのオプションがあります。デフォルトでは、Rocket.Chatによって提供される事前構成されたゲートウェイとプロキシを使用します(これが推奨されるオプションです)。

または、スタンドアロンを維持してサービスプロバイダーでアカウントを作成し、事前構成された設定を更新し、プライベート証明書を使用してモバイルアプリを再コンパイルすることもできます。そして、[続行]をクリックします。

セットアップが完了し、ワークスペースの準備が整いました。 [ワークスペースに移動]をクリックします。

ステップ3:Rocket.Chatのリバースプロキシを構成する

9. NGINXやApacheなどのリバースプロキシを使用すると、サーバーのアドレスとアプリケーションポート(例: http://10.42.0.247:3000)。

さらに、Rocket.Chatは、SSL/TLSを処理しない中間層アプリケーションサーバーです。リバースプロキシを使用すると、SSL/TLS証明書を構成してHTTPSを有効にすることもできます。

10.まず、NGINXパッケージがまだシステムにインストールされていない場合は、インストールします。

$ sudo apt apt install nginx		#Ubuntu/Debian 
$ sudo dnf install nginx		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install nginx		#CentOS/RHEL 7

11.パッケージのインストールが完了したら、Nginxサービスを開始します。今のところ、システムの起動時に自動的に開始できるようにし、ステータスをチェックして実行されていることを確認します。

$ sudo systemctl enable --now nginx
$ sudo systemctl status nginx

12.次に、たとえば/etc/nginx/conf.d/ディレクトリの下にRocket.Chatアプリケーションの仮想サーバーブロックファイルを作成します。

$ sudo vim /etc/nginx/conf.d/chat.tecmint.com.conf

次に、次の構成をコピーしてファイルに貼り付けます(chat.tecmint.comを有効なサブドメインまたはドメインに置き換えます)。

upstream backend {
    server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name chat.tecmint.com;

    # You can increase the limit if you need to.
    client_max_body_size 200M;

    error_log /var/log/nginx/chat.tecmint.com.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-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;
        proxy_redirect off;
    }
}

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

13.次に、構文の問題がないかNGINX構成を確認します。問題がない場合は、Nginxサービスを再起動して、最近の変更を適用します。

$ sudo nginx -t
$ sudo systemctl restart nginx

14. Apache2パッケージがまだインストールされていない場合は、システムにインストールすることから始めます。

$ sudo apt install apache2		#Ubuntu/Debian 
$ sudo dnf install httpd		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install httpd		#CentOS/RHEL 7

15.次に、Apacheサービスを開始して有効にし、次のように稼働しているかどうかを確認します。

----- On Ubuntu/Debian -----
$ sudo systemctl enable --now apache2 	
$ sudo systemctl status apache2

----- On CentsOS/RHEL 7/8 ----- 
$ sudo systemctl enable --now httpd
$ sudo systemctl status httpd

16.次に、たとえば/ etc/apache2/sites-available /または/etc/httpd/conf.d/ディレクトリの下にRocket.Chatアプリケーションの仮想ホストファイルを作成します。

----- On Ubuntu/Debian -----
$ sudo vim /etc/apache2/sites-available/chat.tecmint.com.conf

----- On CentsOS/RHEL 7/8 ----- 
$ sudo vim /etc/httpd/conf.d/chat.tecmint.com.conf

17.次の構成をコピーして貼り付け、chat.tecmint.comを有効なドメインに置き換えます。

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName chat.tecmint.com

    LogLevel info
    ErrorLog /var/log/chat.tecmint.com_error.log
    TransferLog /var/log/chat.tecmint.com_access.log

    <Location />
        Require all granted
    </Location>

    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.*)           ws://localhost:3000/$1 [P,L]
    RewriteCond %{HTTP:Upgrade} !=websocket [NC]
    RewriteRule /(.*)           http://localhost:3000/$1 [P,L]

    ProxyPassReverse /          http://localhost:3000/
</VirtualHost>

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

18. UbuntuとDebianで、必要なapache2モジュールを有効にし、サービスを再起動して最近の変更を適用します。

$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_wstunnel
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2

CentOS/RHELおよびFedoraでは、Apacheサービスを再起動するだけです。

# systemctl restart httpd

19.これですべてが正しく構成されたので、ブラウザーを開いて次のアドレスを入力します。 Rocket.Chatアプリケーションには、プロキシサーバーで構成されたドメインを使用してアクセスできる必要があります。

http://chat.tecmint.com

20.次の重要なステップは、HTTPS証明書のセキュリティとプライバシーの利点をチャットサービスに追加することです。実稼働環境では、無料で最新のWebブラウザで信頼されているLet’sEncryptを使用することをお勧めします。

Let’s Encryptは自動化されていることに注意してください。無料のオープンソースツールであるcertbotを使用して、Let’sEncrypt証明書を主流のLinuxディストリビューションやウェブサーバーに自動的に取得してインストールするか、単に取得して手動でインストールできます。

ステップ4:デスクトップにRocket.Chatクライアントをインストールする

21.最後になりましたが、Rocket.ChatプロジェクトのWebサイトから、Linux、Mac、またはWindows用のRocket.Chatデスクトップアプリをダウンロードしてインストールできます。また、AndroidおよびiOS用のモバイルアプリも提供します。

Linuxにデスクトップアプリケーションをインストールするには、Linuxディストリビューションに応じてdeb(x64)またはrpm(x64)パッケージをダウンロードします。

$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb
OR
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm

22.次に、図のようにdpkgまたはrpmパッケージマネージャーを使用してパッケージをインストールします。

$ sudo dpkg -i rocketchat_2.17.7_amd64.deb      #Ubuntu/Debian
$ sudo rpm -i rocketchat-2.17.7.x86_64.rpm      #CentOS/RedHat

23.パッケージのインストールが完了したら、システムメニューでrocket.chatを検索して起動します。ロードしたら、次のスクリーンショットに示すように、サーバーのURLを入力してサーバーに接続します。