Redmine構築手順
個人のタスク管理にもRedmine使ってみたくなった。
最初はローカルのMacで起動させてたけどちゃんとサーバ用意して動かしたくなったのでやってみた。
0. サーバの用意
dockerコンテナを動かすサーバを用意する。
- 自由にできるサーバを手に入れる
- さくらVPSサーバを申し込んだ
- とりあえず有名なところかつお財布にダメージが少なめな月額800円のやつ
- 2週間お試しなのでひよこエンジニアにはちょうど良さそうだった
- OSインストール
- デフォルトがCentosなのでそのままでいい場合は不要
- 今回はCentos7を使った
1. dockerのインストール
今回、Redmineはdockerイメージで配布されているものを使用するのでサーバにdockerをインストールする。
(bitnami Redmineでも良かったかも)
- sshでサーバにログイン
- 今回はパスワード認証で進める(公開鍵認証の設定は割愛)
- rootでやってるんかいというのも一旦置いておく
# ログイン
ssh root@[各自のドメイン].vs.sakura.ne.jp
- yumの更新とリポジトリの設定(念為)
# 更新
yum update
yum upgrade
# yumリポジトリの設定
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
2. Redmineの導入
公式のdockerイメージを使ってRedmineを構築する。
- dockerイメージの入手と起動
- 引き続きsshでログインした状態で作業
# イメージの入手
docker pull redmine
# コンテナの起動(バックグラウンドで実行)
docker run -p 3000:3000 --name redmine redmine &
# 確認
docker ps
curl http://localhost:3000/
3. プラグインの適用
かんばんを使いたかったのでAgilePluginをRedmineに導入する。
不要な場合はここはスキップして問題ない。
- プラグインをローカルで入手、解凍する
- 公式からダウンロード
- ローカル → サーバにプラグインを転送
- 転送用のディレクトリをサーバに用意
# (サーバにログインした状態で)任意のディレクトリで作成
mkdir tmp
cd tmp
# 確認
pwd
- プラグインの転送
- サーバではなくローカルのシェルで実行
scp -r [ダウンロードしたプラグインのパス] root@[各自のドメイン].vs.sakura.ne.jp:[作成したtmpディレクトリのパス]
- サーバに転送したプラグインをコンテナに持っていく
- 最終的にプラグインを持っていくコンテナ上のディレクトリを確認する
# (サーバにログインした状態で)コンテナに入る
docker exec -i -t redmine bash
# プラグインを入れるディレクトを確認する
cd plugins/
pwd
# コンテナから出る
exit
- Redmineを動かしているコンテナにプラグインを持ち込む
# 作成したtmpディレクトリの1つ上のディレクトリで実行
docker cp ./tmp/. redmine:[コンテナ上のプラグインを入れるディレクトリのパス/]
- プラグインをコンテナ上にインストールする(インストール後再起動)
# コンテナに入る
docker exec -i -t redmine bash
# プラグインのインストール
bundle install
bundle exec rake redmine:plugins NAME=redmine_agile RAILS_ENV=production
# コンテナから出てコンテナ再起動
exit
docker restart redmine
-
ブラウザから以下にアクセスしてRedmineのトップページが表示されればOK
-
http://[各自のドメイン].vs.sakura.ne.jp:3000/
-
お試し期間終わったらhttpsにします
-
admin/adminでログイン後、Agileプラグインが有効になっていることを確認して終わり
おわり
割とあっさり用意できたので満足。
いくつか課題も残ってるのでその辺りは使いながらおいおい対応。