MacにRedmineを入れて社内で共有するまでやってみたが壮大な冒険になった


目標

  1. MacにRedmine入れて、社内ネットワークを介して自分に割り振られているIPに接続すると、他の社員でもRedmineに入れるようにする
  2. デフォルトだと見た目がアレなので、プラグインを入れて動かす

ちなみに、Ruby知識もRails知識も0。後述のdockerも初めてだし、Redmineを立てるのも今回が初めてだった。表現の齟齬は許してほしいのです・・

下準備

Dockerのインストール
https://www.docker.com/

もしくはbrew caskでインストール

$ brew cask install docker

それから、easy ganttのインストール
https://www.easyredmine.jp/en/redmine-gantt-plugin

やったこと

ボツ案1 BitnamiでRedmine

https://yuki222.com/redmine/
↑を参考にスタート。なるほど、あっという間に出来上がった。
共有するのもGUIでサクッとできた。

しかし、プラグインをいれるのに実体がわからない。
様々なサイトを参考にするも、そもそもパスが合わなかったり初心者向きではなかった気がする。
そして、壊してしまった😅

もっとシンプルなやつにしよう、そうだシンプルイズベスト!!

ボツ案2 MacにそのままRedmineを置く

https://qiita.com/janus_wel/items/06dae0dec1ff1a886d54
↑を参考にインストール。

しかし、Apatchの設定がうまく行かず断念。。
不躾ながらコメントを残しているのですが、rails serverで起動されるところまでは確認できました。

passenger-install-apache2-moduleまわりがうまくいかない上にサーバー知識がほぼ0なので、原因を突き止めることができずに断念。MAMPも心なしか不調になってしまったので、そのままMacにインストール案は断念。

サーバーの勉強しなきゃな。という意思が1.5倍強くなる

採用案 DockerでRedmineを置く

$ docker pull redmine
$ docker run -p 3000:3000 --name redmine redmine

引用) https://qiita.com/mojihige/items/de95d8aeb0587e149128

こんな感じで、コンテナの生成に成功。すでに自分に割り振られたIPにアクセスすると社内ネットワーク上の他のデバイスでもブラウザにRedmineが表示されることが確認できた。走り出しは思いの外ラクチン。

しかし、ここでもプラグインでつまづく。その様子と採用案の詳細は下記にまとめた

[docker/redmine4.0.1]プラグイン"easy gantt"を入れようとすると怒られる

bundle exec rake redmine:plugins:migrate RAILS_ENV=productionをしたとき、エラーを残したままDockerのシェルの中から退出したら、起動できなくなり、シェルの中に入ることもできなくなり、どうしようもなくなったので消したエピソードもある。今後はエラーを残してシェルの中から出ないように気をつけようと思った。

結局作ったイメージとコンテナは捨てて

$ docker pull redmine:3.4.8
$ docker run -p 3000:3000 --name redmine redmine3.4.8

ブラウザでRedmineがうまく表示されることを確認。ホスト側のプラグインの入ったディレクトリをDocker側へ転送し、下記を実行。

$ docker exec -i -t {{コンテナ名}} bash
// コンテナの中に入る 
$ ls ←Redmine直下かつGemfileがある階層にいることを確認
// 自分はplugin/の中に入って"git clone"で入れられるタイプのプラグインをいくつか入れ、また元の階層へ戻った
$ bundle install
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production

コンテナを再起動。Redmineにプラグインが入ったことが確認できた。

"easy gantt"以外のプラグインは下記の記事を参考に選んだ。
https://qiita.com/y_hokkey/items/7c02a3af319b353136d5

まとめ

  • MacでRedmineを動かしたいときは、Dockerを利用するのが良さそう。一番不具合なく、ソースも多いので対応しやすいと思った
  • この一連の流れでRedmineに強くなった気がするし、Dockerに対しての謎の抵抗がなくなり、むしろ便利かもと思えるようになった
  • Apatchに対する謎は拭えなかった
  • Railsのエラーを通してRubyに興味を持った
  • 今後のRedmineの運用方法、主にバックアップのとり方を考えることが次のタスクになった

その他ここでは補えなかった詳しい解決法は[docker/redmine4.0.1]プラグイン"easy gantt"を入れようとすると怒られるにまとめた。

(たぶん今ボツ案1やったらうまくいくかもしれない。。)