LoginSignup
7

More than 3 years have passed since last update.

【CentOS 7.3】dockerをインストールしてredmineを起動する。easy_ganttも入れてみる。

Last updated at Posted at 2019-04-02

はじめに

既存のプロジェクトではプロジェクト管理が複数のツールによって行われてました。

  • スケジュール:Excel
  • タスク:各自好きなツール or Redmine
  • チケット:Redmine
  • ノウハウ:Excel or Redmine

この状況だと色々なところに情報が散ってしまっていて、欲しい情報が探しづらいですし、いろんなツールを使うことになるのでめんどくさくなって、クローズされないチケットが無限に発生してました。

それらを踏まえて自分が管理することになった次のプロジェクトでは1ツールで一元管理していこう!と思ったのがスタートです。
条件としては無償、オンプレで使用可能なのが大前提になるので、Redmineを選択しました。
チケットとWikiを使えば、タスクやらノウハウは管理できるとして、スケジュール管理はできるのだろうか?
と思いながらプラグインを探していた時にEasyGanttを見つけたのでインストールしてみました。

以前作成したRedmineにプラグインを追加しようと試みましたが、bundle installが失敗したり、前に入れたプラグインの関係で上手く動かなかったりとあったので、興味もあったdockerで作ってみよう!となりました。

前提

アプリ バージョン
OS CentOS 7.3
Docker 18.09.4
Redmine 3.4.10
EasyGantt 4.x

dockerのインストール

公式の手順通りにコマンドを実行していきます。(rootユーザで実施)

依存ツールのインストール

yum install -y yum-utils device-mapper-persistent-data lvm2

リポジトリの追加

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

dockerのインストール

yum install -y docker-ce docker-ce-cli containerd.io

dockerの起動、自動起動設定

systemctl start docker
systemctl enable docker

Redmineのインストール

easy_ganttをインストールするためにはredmineが3.4系でないとダメという記事があったので、3.4.10を使用します。
参考:[docker/redmine4.0.1]プラグイン"easy gantt"を入れようとすると怒られる

docker-composeコマンドのインストール

.ymlファイルを用意しておけばコンテナの作成などを自動で行ってくれるらしいので用意しておく。

curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

dockerファイルをダウンロード

よく使われているらしいsameersbnのredmmineイメージを使用します。

mkdir -p /opt/www/redmine
cd /opt/www/redmine
git clone -b 3.4-stable  https://github.com/sameersbn/docker-redmine.git

コンテナの起動

docker-compose.ymlの修正

ダウンロードしたディレクトリ内のdocker-compose.ymlを修正します。
必要に応じてDBのユーザ/パスワードも変更してください。
今回はローカル環境で使用するだけなのでデフォルトのまま作成します。

environment:
-    - TZ=Asia/Kolkata
+    - TZ=Asia/Tokyo

docker-composeの起動

必要なdockerファイルなどは自動でダウンロード/インストールしてくれるので、とりあえず起動します。
2回目からはインストール済みのファイルを使用してくれます。

cd /opt/www/redmine/docker-redmine
docker-compose up

色々なものをダウンロードしているので時間がかかりますが最終的に以下が表示されれば起動完了です。

redmine_1     | 2019-04-02 14:21:12,936 INFO supervisord started with pid 1
redmine_1     | 2019-04-02 14:21:13,941 INFO spawned: 'unicorn' with pid 228
redmine_1     | 2019-04-02 14:21:13,950 INFO spawned: 'cron' with pid 229
redmine_1     | 2019-04-02 14:21:13,960 INFO spawned: 'nginx' with pid 230
redmine_1     | 2019-04-02 14:21:15,701 INFO success: unicorn entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
redmine_1     | 2019-04-02 14:21:15,701 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
redmine_1     | 2019-04-02 14:21:15,701 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

ブラウザでhttp://localhost:10083 にアクセスして以下のようなRedmineのTOPページが表示されれば成功です。
キャプチャ.PNG

ちなみに初期状態では管理者ユーザしか作成されていません。
ログインボタンを押して管理者ユーザとしてログインし、各ユーザを作成しましょう。

ユーザ名 パスワード
admin admin

デーモンとして起動

これまでの状態だとターミナル上で起動してしまっているので、ターミナルを閉じるとRedmineも終了してしまいます。
なので、一度プロセスを停止しデーモンとして起動します。

プロセスの停止

Ctrl + C

デーモン起動

-dオプションを付けることでデーモンプロセスとして起動します。

docker-compose up -d

停止したい場合には以下コマンドを実行します。

docker-compose stop

easy_ganttプラグインのインストール

easy_ganttのダウンロード

easyRedmineのホームページからダウンロードしましょう。
以下情報を入力することで無償版のダウンロードリンクが張られたメールが送られてきます。
(メールが来るまでに何時間かかかった人もいるようです。私は10分ぐらいで受信しました。)

  • 氏名
  • メールアドレス
  • 電話番号

資材の配置

git Installing Pluginsの手順通りにやっていきます。
docker上のRedmineにプラグインを追加する場合は、「/srv/docker/redmine/redmine/plugins」に資材を配置します。

cd /opt/www/redmine
wget {メールに記載されていたダウンロードURL}
unzip EasyGanttFree.zip
unzip EasyGanttFree-4.x.zip
mv easy_gantt/ /srv/docker/redmine/redmine/plugins/

Redmineの再起動

資材の配置はこれだけで完了です。
後はRedmineを再起動するだけでeasy_ganttが有効になります。
(dockerなしでやろうとしたときはエラー吐きまくってて挫折したbundle installがいらないなんて、、、神か)

cd /opt/www/redmine/docker-redmine
docker-compose restart

あらためてRedmineに接続してみると?
キャプチャ.PNG

Easy Ganttのリンクが追加されていますね。

Easy Ganttの設定

追加されたリンクをクリックするとなにやら警告されています。
キャプチャ.PNG

とりあえず言われた通りにチェックを入れて保存します。(管理者ユーザでログインしてる必要があります。)
キャプチャ.PNG

Internal errorが発生

余裕じゃーんとか思っていたらエラーが発生しました。
image.png

様々なeasy ganttのインストール手順にDBをmigrateしろ的なことが書いてあったのでやってみます。

コンテナのコンソールに接続

コンテナの中に入ってDBのマイグレーションを行う。

docker exec -i -t docker-redmine_redmine_1 bash
=======ここからコンテナ内================================================
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
exit

Redmineを再起動して接続してみる。
 →無事に表示されました!
キャプチャ.PNG

終わりに

これでEasy Ganttを使う準備が完了しました。
後は自分でいじり倒していくだけですね。他にも気になってるプラグインもあるし。。。

ついついツールをいじりだすと凝ってしまいますが、そろそろどうやったらプロジェクトを上手く回せるかも考えていかねばな。。。
そのうちRedmineを使ってプロジェクトを上手く回せたかとかも記事にしたいですね。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7