読者です 読者をやめる 読者になる 読者になる

Make Local Happiness

自分の幸せは自分で作る!!!

Kandanで社内にチャットサーバ立ててみた

チャットサーバ node.js ruby

f:id:iwate_takayu:20160326140244p:plain

 

チームで開発をするとなると、

必要なもの。

 

チャットサーバですね。

メールでやりとりって意外とめんどくさい。

 

==========

○○さん

 

お疲れ様です。

××です。

 

~~についてですが、

==========

 

こんな感じで形式ばっちゃうですよね。

でも、会社だとHipChatもslackも使えない。

本来だったらHipChat使いたかった。。

atlassianもHipChatの社内用は提供していない。。。

なんかいいチャットサーバないかな〜

 

ということで調べてみました。

MOONGIFTさんで色々チャットサーバを紹介していた中から、

 

Kandanがデザインが良かったので試してみることにしました。

 

githubのページを見てみるとHipChatを意識してるじゃありませんか。

部屋を作れるところがHipChatと同じでいいなって思いました。

Kandan is an Open Source Alternative to HipChat  

 

それでは早速試していきます。

手順はほぼ、github に書いている内容と一緒です。

http:// https://github.com/kandanapp/kandan/blob/master/DEPLOY.md

 

環境はAWS上のubuntuで試してます。

Ubuntu 13.04

$ node -v

v0.10.17

$ ruby -v

ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

 

まずはソースをゲット

git clone git@github.com:kandanapp/kandan.git
cd kandan

 

一応最初にこいつもゲット

gem install debugger-ruby_core_source 

 

bundler入ってなかったのでインストール

sudo apt-get install ruby-bundler libxslt-dev libxml2-dev libpq-dev libsqlite3-dev

 

nodeは入ってるので、もうインストール 

bundle install

 

なにもエラーが出なかったので、

DBの設定をします。標準だとsqlliteを使用することになっていたので、

MySQLに修正します。

$vim config/database.yml
production:
adapter: mysql2 host: localhost database: kandan_production pool: 5 timeout: 5000 username: user password: password

 

mysqlのアダプター入ってるかGemfileを確認。

※mysql2がコメントアウトされていたので、#を外します。

$ vim Gemfile
# Uncomment next line when using MySQL database gem 'mysql2'

 

でもっかい。インストール。

bundle install

 

で、実際にDBを作っていく。

bundle exec rake db:create db:migrate kandan:bootstrap

 

これで「kandan_production」のデータベースができるので、

準備は完了!

 

チャットサーバを起動します

startの後に「-d」をつけるとデーモン化できます。

bundle exec thin start

 

最初起動に少し時間がかかります。

 

ログイン画面はこんな感じ

デフォルトのユーザ名は「Admin

パスは「kandanappadmin」でログインできます。

デフォルトだとポート3000で起動します。

 

http://localhost:3000

f:id:iwate_takayu:20140317233237p:plain

 

ログインするとまずはLobbyにはいります。

f:id:iwate_takayu:20140317233636p:plain

 

右側で「Desktop notifications」でコメントがあると通知があるのはいい。

 

管理者権限のユーザだと以下のアドレスで管理者画面が表示できる。

http://localhost:3000/admin

f:id:iwate_takayu:20140317234701p:plain

 

デフォルトだと左上の

「is this a public site」にチェックがついているが、

外すと、他のユーザが登録した際に、StatusがWaiting Approvalになり、

管理者がApproveしないと登録が完了しない。

ただ、この管理者画面からユーザの登録はできないし、

ユーザ情報の修正もできない。

 

ここまでならオープンソースでこれはすごいって思うのですが、

 

だが、、

 

だが、、

 

これ、遅い。。

コメントを投稿して相手に届くまで今のところ1分かかる。

これはMySQLが他のサーバだからかなとも思ったけど、

ローカルのsqlliteで試してもだめだった。

 

何か設定たりないのか。

nginxでプロキシ立てればいいのか、よくわからない。

どこで時間かかってるか

もうちょっと調べないと使いやすいとはいえない感じ。

 

あとは、

GitサーバのStashからpull request来たときに

HipChatみたいに通知を送りたいので、

もうちょっと機能ほしいなって感じでした。

 

おしまい。

 

========================

参考サイト

http://2kr.blog87.fc2.com/blog-entry-911.html