社内のコミュニケーションツールとして「DevHub」をインストールしてみた
皆さんは社内でのコミュニケーションツールは何を使っているでしょうか? 最近だとSlackやChatWorkが流行っていますね。
僕の務める会社の場合、社内でのコミュニケーションツールとして、Jabber(XMPP)サーバを社内イントラに設置してチャットアプリを利用しています。
この度、DevHubというツールを使いたいという要望を受けて、社内のサーバーにインストールしセットアップしました。
その構築メモです。
そもそもDevHubって何?
わかりやすく端的に言うと、 チャットとWikiを1つのページでまとめて表示できるツールです。
MOONGIFTの紹介記事がわかりやすいです。
ページ全体にBasic認証をかけることはできますが、ユーザーごとの認証はありません。誰が何を書いたかという厳密なログを残したい場合の利用には向いていないと思います。
今回はセキュリティポリシー上の理由により、社内のイントラサーバーにインストールすることにしました。
環境
CentOS 6.2 64bit (何年か前から使ってるサーバーなので古いです…)
DevHub実行環境の準備
実行用にNode.jsとMongoDBをインストールします。
Node.jsのインストール
Node.jsをインストールします。 まずは社内からインターネット接続をするため、yumをproxy経由で利用するようにします。
/etc/yum.conf
に追記
proxy=http://proxy.example.com:8080
よしこれで社外につなげられるぞとyum install nodejs
を実行するとエラー。
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
どうやら環境が古くて、yumのリポジトリが見つからない模様。
上記ページを参考に、/etc/yum.repos.d/epel.repo
で次のように修正
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch ↓ baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
これでyumでインストールできるようになりました。
yum install epel-release nodejs npm
インストール確認
# node -v v0.10.36
これでNode.jsがインストールできました。
MongoDBのインストール
yumの設定は終わっているので、コマンド一発です。
yum install mongodb-org
インストール後、MongoDBを起動します。
service mongod start
ブート時の自動起動も登録しておきます。
chkconfig mongod on
DevHubインストール
実行環境が準備できたので、いよいよDevHubのインストールです。
例の如く、proxyの設定です。今度はGitをproxy越しに利用できるようにします。
git config --global http.proxy http://proxy.example.com:8080 git config --global https.proxy http://proxy.example.com:8080
proxyの設定ができたので、githubからcloneします。
# cd /usr/local # git clone git@github.com:volpe28v/DevHub.git ssh: connect to host github.com port 22: Connection timed out fatal: The remote end hung up unexpectedly
ぐえー、エラーだ… どうやらSSHの22番ポートが閉じてて、外部に取りにいけないようです。 ウチのProxyサーバーはセキュリティが厳しすぎて、よくつまづきます…
ということで、443ポート(HTTPS)でgitを取りにいくようにします。 さすがに80と443ポートは開いてるので。
git config --global url."https://".insteadOf git://
URLをgit形式のSSHではなく、HTTPSに変えて再チャレンジでclone成功。
cd /usr/local git clone https://github.com/volpe28v/DevHub.git
ソースが取得できたので、npmでインストール完了です。
cd DevHub npm install
DevHubのセットアップ
以下のコマンドで起動します。
cd /usr/local/DevHub node app.js -p 3000 -d devhub_db -t title &
-p ポート番号(default 3000) -d データベース名(default devhub_db) -t タイトル(default '')
これでhttp://hostname:3000
にてDevHubのページが開けます。
ただし、このままだとずっとコンソールでログインしていないといけないので、Node.jsをデーモン化して実行するforeverというツールをインストールします。
npm install forever -g
foreverでNode.jsを実行すればデーモン化できるので、ログアウトをしてもプロセスが停止しないようになります。
foreverでのDevHub起動
forever start app.js -p 3000 -d devhub_db -t title
foreverでのDevHub停止
forever stop /usr/local/DevHub/app.js
注意点
注意点として、foreverの実行する際、カレントディレクトリをDevHubディレクトリとしてください。
DevHubディレクトリで実行されていない場合、画像をDevHubにアップロードするとDevHubが落ちてしまいます。 画像のアップロード先のパスがおかしくなってしまうことが原因のようです。これでかなりハマりました…
ともあれ、これでDevHubを利用できるようになりました。 これを使ってプロジェクト内のコミュニケーションが円滑化することを期待したいです。