チャットシステム構築(Rocket.Chat)

最終更新日: 2018.09.22

■概要

ユーザー間でリアルタイムにメッセージをやりとりできるようにするためのチャットシステムを構築する。ここでは、Rocket.Chatを使用してチャットシステムを構築する。
Apache暗号化通信が導入済であること



■MongoDBインストール

Rocket.Chatで使用するDBであるMongoDBをインストールする。
[root@centos ~]# vi /etc/yum.repos.d/mongodb-org.repo ← MongoDB用yumリポジトリファイル作成
[mongodb-org]
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

[root@centos ~]# yum -y install mongodb-org-server mongodb-org ← MongoDBインストール

■MongoDB起動

[root@centos ~]# systemctl start mongod ← MongoDB起動

[root@centos ~]# systemctl enable mongod ← MongoDB自動起動設定

■Rocket.Chatインストール

EPELリポジトリ導入(EPEL)を参照してEPELリポジトリを導入する



[root@centos ~]# yum -y install nodejs curl GraphicsMagick npm gcc-c++ ← Rocket.Chatインストールに必要なパッケージをインストール

[root@centos ~]# npm install -g inherits n ← Node.jsのバージョン管理を行うためのパッケージであるnをインストール

[root@centos ~]# n 8.9.3 ← Rocket.Chatで使用するNode.jsバージョン8.9.3をインストール
※Rocket.Chatで使用するNode.jsバージョンはhttps://rocket.chat/docs/installation/manual-installation/centos/で確認

[root@centos ~]# cd /opt ← /optディレクトリへ移動

[root@centos opt]# curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tar.gz ← Rocket.Chatダウンロード

[root@centos opt]# tar zxvf rocket.chat.tar.gz ← ダウンロードしたファイルを展開

[root@centos opt]# mv bundle Rocket.Chat ← 展開後ディレクトリ名をリネーム

[root@centos opt]# rm -f rocket.chat.tar.gz ← ダウンロードしたファイルを削除

[root@centos opt]# cd Rocket.Chat/programs/server/ ← ディレクトリ移動

[root@centos server]# npm install ← Rocket.Chatインストール

[root@centos server]# cd ← ホームディレクトリへ戻る

■Apache連携設定

https://centossrv.com/chat/でRocket.Chatにアクセスできるようにする。
[root@centos ~]# vi /etc/httpd/conf.d/rocketchat.conf ← Rocket.Chat用Apache連携設定ファイル作成
<Location /chat>
    Order allow,deny
    Allow from all

    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /var/www/html/centos/(.*)           ws://localhost:3000/$1 [P,L] ← ドキュメントルートは各自の環境に合わせて修正
    RewriteCond %{HTTP:Upgrade} !=websocket [NC]
    RewriteRule /var/www/html/centos/(.*)           http://localhost:3000/$1 [P,L] ← ドキュメントルートは各自の環境に合わせて修正

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

[root@centos ~]# systemctl reload httpd ← Apache設定反映

■Rocket.Chat起動

[root@centos ~]# vi /usr/lib/systemd/system/rocketchat.service ← Rocket.Chatサービス定義ファイル作成
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=root
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=https://centossrv.com/chat/ PORT=3000 ← ROOT_URLは各自の環境に合わせて修正
[Install]
WantedBy=multi-user.target

[root@centos ~]# systemctl start rocketchat.service ← Rocket.Chat起動

[root@centos ~]# systemctl enable rocketchat.service ← Rocket.Chat自動起動設定

[root@centos ~]# tail -f /var/log/messages | grep --line-buffered "rocketchat" | grep --line-buffered "startup" ← Rocket.Chat起動完了メッセージ待ち合わせ
Sep 19 09:56:35 centos rocketchat: #033[32m?#033[39m #033[32mSystem ? startup#033[39m ← Rocket.Chat起動完了メッセージ確認※出力されるまで時間がかかる

Ctrl+Cキー押下

■Rocket.Chat確認

Webブラウザでhttps://centossrv.com/chat/にアクセスしてRocket.Chatページが表示されることを確認。

セットアップウィザードが表示されるので管理者情報を登録する。

名前・・・任意の管理者名(例:管理人)
ユーザー名・・・任意の管理者ユーザー名(例:admin)
組織の電子メール・・・管理者のメールアドレス(例:root@centossrv.com)
パスワード・・・任意の管理者パスワード
その他はデフォルトのまま

初期状態でgeneralという名前の公開ルームがあるので、そこでメッセージが投稿できることを確認。

■Rocket.Chat初期設定

Webブラウザで管理ページ(https://centossrv.com/chat/admin/info)へアクセスする。

(1)メール送信設定
メール⇒SMTP

ホスト・・・localhost
ポート・・・25
IgnoreTLS・・・はい
送信元メールアドレス・・・管理者のメールアドレス(例:root@centossrv.com)

「変更を保存」

「メールのテストをマイユーザーへ送信」をクリック
⇒「成功」と表示されることを確認

(2)チャンネル名に日本語を使えるようにする
全般⇒UTF8

UTF8形式名の検証パターン・・・[ぁ-んァ-ヶーa-zA-Za-zA-Z0-9一-龠-0-9-、。_.]+

「変更を保存」

Webブラウザでチャンネル作成ページ(https://centossrv.com/chat/create-channel)へアクセスする。
⇒チャンネル名に日本語を入力できることを確認

(3)ユーザー登録を管理者のみに限定
アカウント⇒登録⇒EXPAND

登録フォームへのアクセス・・・「無効」を選択
登録フォームリンクの置換テキスト・・・クリア

「変更を保存」

(4)ユーザー登録
ユーザー

右側+リンククリック

名前・・・任意の名前
ユーザー名・・・任意のユーザー名
メール・・・ユーザーのメールアドレス
パスワード・・・任意のパスワード
パスワードの変更を要求をオフ※ユーザー自身に初期パスワードを変更させない場合
役割を追加する・・・「user」を選択して「役割を追加する」
ウェルカムメールを送信・・・チェックをはずす※ユーザーのメールアドレス宛にウェルカムメールを送信しない場合

「保存」

(5)チャンネル作成
Webブラウザでチャンネル作成ページ(https://centossrv.com/chat/create-channel)へアクセスする。

公開型チャンネルを作成する場合・・・「プライベートチャンネル」をオフにして「作ります」
非公開型チャンネルを作成する場合・・・「プライベートチャンネル」をオンにして「作ります」
※ユーザーは後からでも招待可能

(6)ダイレクトメッセージ
ユーザーを選択して「会話」リンククリックで該当ユーザーと会話可能

■Rocket.Chatクライアント



■関連コンテンツ




▲このページのトップへ戻る

ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします