RocketChat

提供: 技術wiki
ナビゲーションに移動 検索に移動

RocketChatはslackライクなチャットツールである。 OSSで公開されているためサーバがあれば無料で使用可能。

構築

以下、AmazonLinuxにインストールした際の手順である。

RocketChatの導入

まずは必要なライブラリを導入。

yum install GraphicsMagick
yum install nodejs npm --enablerepo=epel

続いて、MongoDBをインストールするためにリポジトリを追加。 「/etc/yum.repos.d/」に「mongodb.repo」というファイル名で作成。

[MongoDB]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1

yumのリポジトリに追加されましたのでMongoDBをインストール。

yum install mongodb-org-server
yum install mongodb-org

続いてRocketChat用のユーザを作成。

groupadd rocketchat
adduser rocketchat -g rocketchat

RocketChatを公式ページからダウンロード。 ダウンロードしたファイルを展開し、適切な場所への配置と権限を付与。

wget -O rocket.chat.tgz https://rocket.chat/releases/latest/download
tar zxvf rocket.chat.tgz
mv bundle Rocket.Chat
mv Rocket.Chat /opt/
chown rocketchat:rocketchat -R /opt/Rocket.Chat

npmコマンドを実行し、必要なパッケージを取得。

cd /opt/Rocket.Chat/programs/server
npm install -g inherits
npm install

ここまででRocketChatのインストールが完了。 下記のコマンドでRocketChatを起動することができる。

node main.js

下記のURLにアクセスするとRocketChatが開く。 http://{ホスト名}:3000

起動設定とnginxの設定

まずは起動シェルを作成。

vi /opt/Rocket.Chat/rocketchat.sh
#!/bin/sh
# chkconfig:   - 85 15
# description:  rocketchat

export MONGO_URL=mongodb://127.0.0.1:27017/rocketchat
export ROOT_URL=http://{ホスト名をここに入れる}
export PORT=3000

SERVICE=rocketchat

start() {
    cd /opt/Rocket.Chat
    sudo -u rocketchat -E node main.js &
    echo "service $SERVICE [start]"
}
stop() {
    pkill node
    echo "service $SERVICE [stop]"
}
status() {
   PID=`pgrep node | wc -l`
   if [ $PID -eq 0 ]; then
       echo "$SERVICE stop"
   else
       echo "running $SERVICE ..."
   fi
}

case $1 in
start)
       start
       ;;
stop)
       stop
       ;;
status)
       status
       ;;
restart)
       stop
       start
       ;;
*)
       echo "Usage: $SERVICE [start|stop|restart|status]"
       ;;
esac
exit 0

起動スクリプトからのリンクを追加。

chmod 755 /opt/Rocket.Chat/rocketchat.sh
ln -s /opt/Rocket.Chat/rocketchat.sh /etc/init.d/rocketchat

サービスに登録する。

chkconfig --add rocketchat

使い方

アカウント作成

ログイン画面から「新しいアカウントの登録」のリンクを押すとアカウントが作成できる。 メールアドレスを入力するが認証は不要。 最初に作成したユーザーは管理者権限を持つユーザーとなる。

アップロードストレージのS3化

設定メニューから「ファイルアップロード」を選択する。 この画面で下記の情報を設定する。

保存先ストレージ種類:AmazonS3
Amazon S3 バケット名:バケット名
Amazon S3 AWSAccessKeyId:アクセスキー
Amazon S3 AWSSecretAccessKey:シークレットキー
リージョン:ap-northeast-1
バケット URL:https://s3-ap-northeast-1.amazonaws.com/xxxxxxxxxxxx
URLs expiration timespan:120

「変更を保存」のボタンを押すと設定が反映される。

関連リンク

Qiita http://qiita.com/nekonoprotocol/items/67c5ff7231da4e15017f

GitHub https://github.com/nekonoprotocol/cookbook-rocketchat