Wekan は Node.js で実装された Trello 風の OSS なプロジェクト管理ツールです。 所謂、「カンバン」を採用しており、付箋紙を貼るような感覚でタスクの管理が出来ます。 チャート生成や分析等、高度な機能は備えていませんが、その分、シンプルに使うことが出来ます。 今回は Amazon Linux へ Wekan をインストールする手順をメモしておきます。
Wekan の特徴
冒頭の説明とやや重複しますが、Wekan には以下のような特徴があります。
- モダンで美しい UI
- シンプルなので学習コストが低く、すぐに使い始めることが出来る
- リアルタイムで変更が反映される
- Node.js と MongoDB があれば、Wekan 自体はファイルを配置するのみでデプロイ出来、インストールが容易
- チャートの生成、ボードを Excel 形式でエクスポートする、タスクの消化状況を分析する、といった高度な機能は無い
git のインストール
Amazon Linux にはデフォルトで git
がインストールされていません。 Node.js のインストールで使う為、最初にインストールしておきます。
yum -y install git
Node.js のインストール
Node.js は riywo/ndenv と riywo/node-build を使ってインストールします。 ndenv
は Ruby で言うところの rbenv
に相当し、手軽に Node.js のバージョンを切り替えることが出来ます。 公式サイトに記載されている手順に従い、ndenv
をインストールします。
git clone https://github.com/riywo/ndenv ~/.ndenv
echo 'export PATH="$HOME/.ndenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(ndenv init -)"' >> ~/.bash_profile
exec $SHELL -l
次は node-build
をインストールします。 GitHub から Clone し、ndenv
の plugins ディレクトリに保存します。
git clone https://github.com/riywo/node-build.git $(ndenv root)/plugins/node-build
公式サイトによると Wekan は Node.js のバージョン 4.8.4 で動作するそうです。 従って Node.js 4.8.4 をインストールします。 ndenv
で Node.js をインストールした後は一旦、ndenv rehash
が必要な点に注意します。
ndenv install v4.8.4
ndenv rehash
ndenv global v4.8.4
これで Node.js 4.8.4 がインストールされました。
# node -v
v4.8.4
MongoDB のインストール
次は MongoDB をインストールします。 以下の内容で /etc/yum.repos.d/mongodb.repo
というファイルを新規作成し、MongoDB のリポジトリを追加します。
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
MongoDB をインストールします。
yum install -y mongodb-org
インストールが完了したら MongoDB を起動します。
service mongod start
インストール直後の状態で自動起動設定はされていました。
# chkconfig --list | grep -i mongo
mongod 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Wekan のインストール
次は Wekan をインストールします。 GitHub から最新版をダウンロードし、フォルダ名を修正しながら /opt
配下へ保存します。 現時点で最新のバージョンは 0.50 でした。
curl -L -O https://github.com/wekan/wekan/releases/download/v0.50/wekan-0.50.tar.gz
tar zxvf wekan-0.50.tar.gz
mv bundle /opt/wekan
Wekan が必要とする環境変数を .bash_profile
に追記しておきます。 ROOT_URL
には Wekan で利用する FQDN を指定します。
export MONGO_URL='mongodb://127.0.0.1:27017/wekan'
export ROOT_URL='http://FQDN'
export PORT=8539
ここまで設定すれば以下を実行することで Wekan が 8539/TCP で起動するはずです。
cd /opt/wekan/
node main.js &
しかし、このままでは Wekan がデーモン化されておらず、不便です。 そこで以降の手順では forever
を用いて Wekan をデーモン化します。
forever のインストール
forever
をインストールします。
npm install -g forever
ndenv rehash
後は Wekan の起動ファイルである /opt/wekan/main.js
を forever
で開始し、デーモン化するだけです。
forever start /opt/wekan/main.js
forever
でデーモン化されたプログラム一覧は表示するには以下のように実行します。
# forever list
info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] kD3_ /root/.ndenv/versions/v4.8.4/bin/node /opt/wekan/main.js 3515 3521 /root/.forever/kD3_.log 0:0:1:25.909
forever
でデーモン化されたプログラムを解除するには以下のように実行します。
forever stop /opt/wekan/main.js
`forever でデーモン化されたプログラムを再起動するには以下のように実行します。
forever restart /opt/wekan/main.js
Nginx
このままでも良いのですが、同一のサーバで Wekan 以外にも複数のアプリケーションをホストしたい場合は、Apache や Nginx を Reverse Proxy として動作させることで解決します。 今回は Nginx を Reverse Proxy としてインストール&設定します。 まず、Nginx をインストールします。
yum -y install nginx
Wekan 用の Reverse Proxy 設定ファイルを作成します。 以下の内容で /etc/nginx/conf.d/wekan.conf
というファイルを新規作成します。
upstream nodejs {
server localhost:8539;
}
server {
listen 80;
server_name FQDN;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://nodejs;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /opt/wekan/;
}
}
ここまでの設定が完了したら Nginx を起動します。インストールしただけでは Nginx の自動起動は設定されていなかったので、合わせて設定します。
service nginx start
chkconfig nginx on
これでインストールは完了です。 ブラウザで http://FQDN
にアクセスすれば Wekan のログイン画面が表示されるはずです。
コメント