【実は無料で使えます】Rocket.Chat構築とおススメ設定方法

 2022.07.06  三和コムテック

Rocket.Chatとは

特徴

Rocket.Chatは、OSS(オープンソースソフトウェア)では世界最大級コミュニケーションプラットフォームです。

オールインワンかつ安全で、お客様の組織にあったカスタマイズが可能なビジネスチャットツールです。

OSSであるため、自分でサーバーに構築することができ、基本的な機能が揃った無料版をご利用いただくことができます。

また、弊社三和コムテックでは、SaaS版の無料お試しプランも提供中です。機能だけを実際に触って試してみたいといった方にはお試し版もおススメです。

(SaaS版のお試しはこちらからお問い合わせください。)

 

関連ブログ:Rocket.Chatとは? 業界別活用シーンにおける使い方や導入メリットを解説

 

機能は主に3つございます。カスタマイズすることでいくつも増やすことができます。

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法1

 グループチャット・個別チャット

全体アナウンスやディスカッション、グループでの会話など用途に合わせたルームが作成できます。

 ファイル共有

グループごとにファイルの一覧表示や管理が可能です。

 ビデオ会議

グループ内や1対1でいつでも通話が始められます。

 

他チャットツールと違うところ

 オンプレミス構築も可能

構築方法はオンプレミス、クラウドの2パターンで選択可能です。重要なデータを扱う業務の場合でも、オンプレミス構築なら社内でデータを保持することができます。

 LDAP・AD・SAML・SSOとの連携

チャットツールにおいてユーザーアカウントの管理業務は無視できない存在となります。大きな企業になるほどユーザー管理は煩雑になりがちです。Rocket.Chatは、LDAP・AD・SAML・SSOと連携することでユーザーやシステム管理者どちらの負担も低減させることができます。

 HIPAA・GDPR・ISO27001への対応

データの安全性を確保し、すべての業界の企業で大切なデータを保持する方々に安心してご利用いただけるビジネスチャットツールです。

 細かな権限管理設定

管理者とユーザーの権限を分けることはもちろん、一時的に業務に携わる協力会社のメンバーにはチャンネルやユーザー情報の閲覧を制限した「ゲスト権限」を付与することができます。他にも多くの権限をカスタマイズすることが可能です。

 エンドツーエンド暗号化

会話情報は暗号化されているので、サイバー攻撃で許可されていない第三者から閲覧される恐れはありません。そのため、プライバシーを重要視する企業には最適なビジネスチャットツールです。

 オンプレミスで実施可能なビデオ会議機能

Rocket.Chatは、オンプレミスで構築することができるOSSビデオ会議ツールのjitsi-meetに対応しています。そのため、インターネットに繋がっていない閉域網でもビデオ会議を使ってスムーズに打ち合わせを行うことができます。

 オンプレミス構築時のスマートフォンプッシュ通知対応

Rocket.Chatは、オンプレミス構築を行って閉域網で運用する場合でもスマートフォンのプッシュ通知を利用することが可能です。


サーバーへのインストール

 本サイト内でのコマンドの記載について

コマンドの中には、行の最後に”\”マークが記載されているものがあります。これは改行を表す記号であり、本ドキュメントでは、スペースの都合上コマンドを一行で記載できないためやむを得ずこの記号を用いています。コマンドラインに”\”マークまで入力し 、 エンターキーを打鍵すると次行に下がるので、続けて残りのコマンドを入力してください。

推奨環境

OSは Ubuntu を想定しております。
バージョンは以下を想定しております。(2022 年 6 月時点)

  • Ubuntu Jammy 22.04 (LTS)
  • Ubuntu Focal 20.04 (LTS)
  • Ubuntu Bionic 18.04 (LTS)

現在サポート中のCPU アーキテクチャはx86_64(もしくは AMD 64)・armhf・ARM 64・s390x です。

 DockerとDocker Comoseのインストール

 旧バージョンのDockerアンインストール

sudo apt-get remove docker docker-engine docker.io containerd runc

コマンドラインにインストールされているパッケージが何もないことが表示されたら、アンインストールは完了です。

 リポジトリのセットアップ

新しいホストマシンに初めてDocker Engineをインストールする前に、Docker リポジトリをセットアップする必要があります。その後、リポジトリから Docker をインストールおよび更新することができます。

(1) apt パッケージインデックスを更新し、 apt が HTTPS 上のレポジトリを使用できるようにパッケージをインストールします。

sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
<実行後画面>
sudo apt-get install \
> ca-certificates \
> curl \
> gnupg \
> lsb-release
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
lsb-release はすでに最新バージョン (11.1.0ubuntu2) です。
curl はすでに最新バージョン (7.68.0-1ubuntu2.11) です。
gnupg はすでに最新バージョン (2.2.19-3ubuntu2.1) です。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
aufs-tools cgroupfs-mount docker-ce-rootless-extras docker-scan-plugin linux-headers-5.4.0-59 linux-headers-5.4.0-59-generic linux-headers-5.8.0-63-generic linux-hwe-5.8-headers-5.8.0-63 linux-image-5.4.0-59-generic
linux-image-5.8.0-63-generic linux-modules-5.4.0-59-generic linux-modules-5.8.0-63-generic pigz slirp4netns
これを削除するには ‘sudo apt autoremove’ を利用してください。
以下のパッケージはアップグレードされます:
ca-certificates
アップグレード: 1 個、新規インストール: 0 個、削除: 0 個、保留: 1 個。
144 kB のアーカイブを取得する必要があります。
この操作後に 5,120 B のディスク容量が解放されます。
続行しますか? [Y/n] Y
取得:1 http://security.ubuntu.com/ubuntu focal-security/main amd64 ca-certificates all 20211016~20.04.1 [144 kB]
144 kB を 1秒 で取得しました (127 kB/s)
パッケージを事前設定しています …
(データベースを読み込んでいます … 現在 276815 個のファイルとディレクトリがインストールされています。)
…/ca-certificates_20211016~20.04.1_all.deb を展開する準備をしています …
ca-certificates (20211016~20.04.1) で (20210119~20.04.2 に) 上書き展開しています …
ca-certificates (20211016~20.04.1) を設定しています …
Updating certificates in /etc/ssl/certs…
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
7 added, 8 removed; done.
man-db (2.9.1-1) のトリガを処理しています …
ca-certificates (20211016~20.04.1) のトリガを処理しています …
Updating certificates in /etc/ssl/certs…
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d…
done.
done.

(2) Docker の公式 GPG キーを追加します。

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg

(3) レポジトリをセットアップするため、以下のコマンドを実施します。

echo \
“deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

※4行目の”$”マークはコマンドとして記述してください。

 Docker Engine のインストール

(1) aptパッケージインデックスを更新し、Docker Engine 、containerd 、Docker Composeの最新版をインストールします。

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

(2) hello-worldイメージを実行して、 Docker Engineが正しくインストールされていることを確認します。

sudo docker run hello-world
<実行後画面>
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:80f31da1ac7b312ba29d65080fddf797dd76acfb870e677f390d5acba9741b17
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/

※Docker Engineがインストールされ、動作を確認しました 。Dockerグループは既に作成されていますが、ユーザーは追加されません。Dockerコマンドを実行するにはsudoを使用する必要があります。dockerコマンドの前にsudoをつけたくない場合は、別途設定が必要です。詳しくはDocker公式ドキュメントをご覧ください。

 Docker Compose が正しくインストールされているかを確認

以下のコマンドを使用して、Docker Composeが正しくインストールされていることを確認します。

docker compose version
<実行後画面>

 

docker compose version

Docker Compose version v2.6.0

 Rocket.Chatのインストール

 Rocket.Chatのインストール

(1) Rocket.Chat用のディレクトリを作成します。

sudo mkdir -p /var/www/rocket.chat

(2) Rocket.Chat用ディレクトリに移動します。

cd /var/www/rocket.chat

(3) Rocket.Chatのdocker-compose.ymlをダウンロードします。

curl -L https://go.rocket.chat/i/docker-compose.yml -O

(4) docker-compose.ymlのバックアップを作成します。

sudo cp docker-compose.yml docker-compose_org.yml

(5) docker-compose.ymlの編集を行います。

  • 19行目のROOT_URLをドメイン名またはサーバーのIPへ変更します。
    • 例: http://{ドメイン名}
  • 34行目から47行目までの数か所を以下のように変更します。
<変更前>
35 image: mongo:4.0
40 command: mongod –smallfiles –oplogSize 128 –replSet rs0 –storageEngine=mmapv1
47 image: mongo:4.0
<変更後>
35 image: mongo:5.0
40 command: mongod –oplogSize 128 –replSet rs0
47 image: mongo:5.0
version: '2'
services:
rocketchat:
image: registry.rocket.chat/rocketchat/rocket.chat:latest
command: >
bash -c
"for i in `seq 1 30`; do
node main.js &&
s=$$? && break || s=$$?;
echo \"Tried $$i times. Waiting 5 secs...\";
sleep 5;
done; (exit $$s)"
restart: unless-stopped
volumes:
- ./uploads:/app/uploads
environment:
- PORT=3000
- ROOT_URL=http://{設定したいドメイン名orIPアドレス}:3000
- MONGO_URL=mongodb://mongo:27017/rocketchat
- MONGO_OPLOG_URL=mongodb://mongo:27017/local
- REG_TOKEN=${REG_TOKEN}
# - MAIL_URL=smtp://smtp.email
# - HTTP_PROXY=http://proxy.domain.com
# - HTTPS_PROXY=http://proxy.domain.com
depends_on:
- mongo
ports:
- 3000:3000
labels:
- "traefik.backend=rocketchat"
- "traefik.frontend.rule=Host: your.domain.tld"
mongo:
image: mongo:5.0
restart: unless-stopped
volumes:
- ./data/db:/data/db
#- ./data/dump:/dump
command: mongod --oplogSize 128 --replSet rs0
labels:
- "traefik.enable=false"
# this container's job is just run the command to initialize the replica set.
# it will run the command and remove himself (it will not stay running)
mongo-init-replica:
image: mongo:5.0
command: >
bash -c
"for i in `seq 1 30`; do
mongo mongo/rocketchat --eval \"
rs.initiate({
_id: 'rs0',
members: [ { _id: 0, host: 'localhost:27017' } ]})\" &&
s=$$? && break || s=$$?;
echo \"Tried $$i times. Waiting 5 secs...\";
sleep 5;
done; (exit $$s)"
depends_on:
- mongo
#traefik:
# image: traefik:latest
# restart: unless-stopped
# command: >
# traefik
# --docker
# --acme=true
# --acme.domains='your.domain.tld'
# --acme.email='your@email.tld'
# --acme.entrypoint=https
# --acme.storagefile=acme.json
# --defaultentrypoints=http
# --defaultentrypoints=https
# --entryPoints='Name:http Address::80 Redirect.EntryPoint:https'
# --entryPoints='Name:https Address::443 TLS.Certificates:'
# ports:
# - 80:80
# - 443:443
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
view rawrocketchat hosted with ❤ by GitHub

変更後、docker-compose.ymlを保存します。

(6) Rocket.Chatを起動します。

sudo docker compose up -d

上記コマンドの実行時に、docker-compose.ymlに記述されている以下のサービスがインストールされます。

  • Rocket.Chat最新版
  • mongo 5.0

(7) サービスが起動しているか確認します。

sudo docker ps

起動していることが確認出来たら、Rocket.Chatの構築は完了です。

以下の「Rocket.Chatサービスの起動と停止方法」、「Rocket.Chatのアップデート方法」は参考情報ですので、必要がない場合はセットアップウィザードまでスキップしてください。

 Rocket.Chatサービスの起動と停止方法

(1) Rocket.Chatサービス起動コマンド

sudo docker compose start

Rocket.Chat、MongoDBが起動します。

(2) Rocket.Chatサービス停止コマンド

sudo docker compose stop

 Rocket.Chatのアップデート方法

Rocket.Chatのイメージをダウンロードします。

Rocket.Chatでは、マイナーアップデートを2つ以上飛ばさないことが推奨されています。

  • 推奨例: 4.0.0 → ver.4.2.0
  • 非推奨例: 4.0.0 → ver.4.3.0

そのため、状況に応じて以下の2通りの方法を選択することができます。

(1a) アップデート前のバージョンと最新のバージョンの差がマイナーアップデート2つ分以下の場合は最新版を指定しても良い。

sudo docker pull registry.rocket.chat/rocketchat/rocket.chat:latest

(1b) アップデート前のバージョンと最新のバージョンの差がマイナーアップデート2つ分以上の場合は、バージョンを指定してアップデートを実施する。

sudo docker pull registry.rocket.chat/rocketchat/rocket.chat:{指定したいバージョン数}

 

例: $sudo docker pull registry.rocket.chat/rocketchat/rocket.chat:4.2.0

※アップデートを実施する度に後述する手順(2)(3)(4)を実施してください。

(2) Rocket.Chatのサービスを停止

sudo docker compose stop rocketchat

(3) 停止したRocket.Chatのコンテナを削除

sudo docker compose rm rocketchat

Rocket.Chatを再度、起動

sudo docker compose up -d rocketchat

セットアップウィザード

ブラウザで”http://{ドメイン名orIPアドレス}:3000″と検索すると、セットアップウィザードが表示されます。

セットアップウィザードでは、管理者情報を登録します。

  • 管理者情報の登録

管理者の氏名・ユーザー名・メールアドレス・パスワードを入力します。

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法2

  • 所属している組織情報の入力

続いて、所属している組織の情報を入力します。

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法3

  • メールアドレスの入力

最後に、メールアドレスを入力します。

「仕様とプライバシーポリシーに同意します」を選択することで登録が可能です。

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法4

  • 確認メールでの操作

「登録」ボタンを押下すると、以下の画面が表示されます。

登録したメールアドレスに確認用のリンクが記載されたメールが送信されています。

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法5

cloud@rocket.chatより、以下のメールが送信されています。

本文内の「Verify registration」をクリックします。

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法6

リンクを押下後、ブラウザの新規タブで以下の画面が表示されます。

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法7

先ほどのセットアップウィザードのタブに戻ると、Rocket.Chatのホーム画面が表示されます。

この画面が表示されていれば、登録は完了です。

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法8


おすすめの初期設定項目の紹介

管理者がチャット運用前に変更すると便利な設定項目を挙げています。

設定の変更は、管理メニュー内で行います。

管理メニューはホーム画面から遷移することができます。

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法9

ログイン画面からのアカウント作成不可対応

管理-設定-アカウント-登録-「登録フォーム」を無効に変更

ルーム名の日本語使用対応

デフォルトではルーム名は半角英数字のみご利用いただけます。

こちらの設定を行うことで、日本語のルーム名をつけることができます。

管理-設定-全般-UTF8-「UTF8形式名の検証パターン」を”[0-9a-zA-Z-_.]+”から”[ぁ-んァ-ヶーa-zA-Za-zA-Z0-9一-龠-0-9-、。_.]+”へ変更

メッセージの既読機能実装

本設定をオンにすることで、ルームのメンバーによる既読を表示できるようになります。

管理-設定-メッセージ-「開封確認情報を表示する」をオンに変更

日本語のあいまい検索対応

あいまい検索に対応するようになります。

管理-設定-メッセージ-「検索に常に正規表現を使用する」をオンに変更

個人で設定した名前をチャットで適用

デフォルトでは、ユーザー作成時に[ユーザー名]に設定した名前がアカウント名としてチャンネルに表示されます。

本設定を実施することで、[名前]に設定した名前を表示させることができます。

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法10 「実名の使用」オフ時
「実名の使用」オン時
管理-設定-レイアウト-ユーザーインターフェース 「実名の使用」をオンに変更

チャンネルを横断した検索を有効化

デフォルトで備わっている検索機能は、チャンネル内で投稿されたメッセージを検索することができます。

本設定をオンにすることで、自分の所属しているすべてのチャンネルのメッセージを検索することができるようになります。

管理-設定-検索-Default provider-[グローバル検索]をオンに変更

基礎的なチャンネルアクション

本記事では、チャット機能をご紹介します。

その他にも多くの機能を有しています。Rocket.Chatのポータルサイトや当SCTブログにてご紹介しておりますので、ぜひご参照ください。

メッセージや画像ファイル等の投稿

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法11

チャンネルには、テキストメッセージ、ファイル、絵文字などを投稿することができます。

投稿するには、チャンネル下部のボックスから行います。

スレッド返信をする

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法12

特定の投稿に対して、直接返信することができます。

返信内容はスレッドにまとめられるので、たくさんの投稿がルームで流れてくるとしても、返信を見逃さないようになっています。

メンションをつける

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法13

メッセージの前に相手の名前を入れることで、メンションを行うことができます。

画面に相手のアカウント名が表示されるので、メッセージが誰向けに送られたものなのかを一目で把握することができます。

また、メンションされた相手の端末に直接通知が飛ぶため、メッセージを見逃してほしくないときにも有効です。

メンションの種類は、@〇〇〇(相手のユーザー名)のほか、チャンネルに所属しているユーザー全員にメンションする(@all)、アクティブなユーザーにのみメンションする(@here)があります。


終わりに

本記事では、ビジネスチャットツール「Rocket.Chat」のインストール方法・設定方法・チャット機能についてご紹介しました。

Rocket.Chatは、チャット・ファイル共有・ビデオ会議などの基本機能のほか、カスタマイズすることによって機能を増やしていくことができます。

弊社では、骨伝導マイクを用いたトランシーバー機能・Fitbitを用いたヘルスケア機能・AIチャットボットを持ちいた社内QAチャットボット機能など、チャットツールの枠を超えたサービスをご提供しております。

Rocket.Chatのプランは無料版のCommunityプランのほか、登録できるユーザー数やプッシュ通知数が強化された有料版のEnterpriseプランもございます。

また、無料版をご利用中のお客様をサポートする有償サポートもご提供中です。

詳しくは、Rocket.Chatの製品ページをご覧ください!

参考情報

Rocket.Chatソリューションカタログ

RECENT POST「Rocket.Chat」の最新記事


Rocket.Chat

閉域網のビジネスチャットとは?導入するメリット・デメリットを解説

Rocket.Chat

自治体でビジネスチャットの導入が増えている理由とは?導入するメリット

Rocket.Chat

ビジネスチャットのセキュリティリスクは? 安全性を高める対策も解説

Rocket.Chat

ビジネスチャットは情報漏洩やアカウント乗っ取りなどのリスクは大丈夫?

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法

PAGETOP