RocketChat
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