ConoHa VPS にRedmineを設定したのでメモ

# ConoHa VPS にRedmineサーバを構築したときのメモ
## 概要
業務で必要になり、ConoHaにRedmineのテンプレートでサーバを立てました。
そのときの設定メモです。
契約とかテンプレートの適用あたりは社内の担当部署がやったので、そのへんは割愛します。

## 初期設定
Redmineのテンプレートを適用したまんまの状態の設定は以下の通りでした。

- インストールディレクトリ
    - Apache
        - /etc/httpd/
    - Redmine
        - /var/lib/redmine/
- ユーザ
    - admin / admin　（初期設定）

## 環境設定
まずはサーバの環境設定です。
### Redmine adminパスワード変更
ブラウザからadminでログインして変更します。
　※詳しい説明は、[Redmine.jp](http://redmine.jp/tech_note/first-step/admin/admin-user-password/ "Redmine.jp") を参照ください。
### FireWall(firewalld)の設定変更
* httpsアクセスの許可

現在の設定を確認する
`# firewall-cmd --list-all `

https許可の追加する
`# firewall-cmd --add-service=https --zone=public --permanent`

Firewallの再起動する
`# firewall-cmd --reload`

設定を再確認する
`# firewall-cmd --list-all`

* 社内からのみにアクセス制限（ssh/https）

現在の設定確認
`# firewall-cmd --list-all`

不要な許可を削除する

```
# firewall-cmd --permanent --remove-service=ssh
# firewall-cmd --permanent --remove-service=http
# firewall-cmd --permanent --remove-service=https
```

社内からのアクセスのみの許可を追加する

```
# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="***.***.***.***" port protocol="tcp" port="22" accept"
# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="***.***.***.***" port protocol="tcp" port="443" accept"
```

　※ `***.***.***.***` は、会社から外部にアクセスするときのグローバルIPアドレス

Firewallの再起動する
`# firewall-cmd --reload`

設定を再確認する
`# firewall-cmd --list-all`

最終的に、こんな（↓）設定になりました。

```
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  sourceports:
  icmp-blocks:
  rich rules:
        rule family="ipv4" source address="***.***.***.***" port port="22" protocol="tcp" accept
        rule family="ipv4" source address="***.***.***.***" port port="443" protocol="tcp" accept
```

とりえず、これくらいのサーバ設定をしました。

## Git連携の不具合対応
RedmineのリポジトリでGitを使う場合、Redmineのバージョンによっては不具合がありました。
僕が設定した3.4.1にはこの不具合があり、連携の設定ができず「ググる→設定変更→確認」を数時間繰り返しました。。。
結果、[こちら](http://www.redmine.org/issues/26645) にたどり着き、無事、使えるようになりました。

既に修正済かもしれません。
問題なければ、ここは飛ばしてください。

## テーマの追加
素のままだとそっけない感じなので、テーマを変更しました。

```
# cd /var/lib/redmine/plugins/
# git clone git://github.com/farend/redmine_theme_farend_fancy.git public/themes/farend_fancy
# cd ..
# touch tmp/restart.txt
```

ブラウザからRedmineに管理者でログインし、「管理」→「設定」→「表示」画面を開く。
項目「テーマ」のプルダウンに「Fare fancy」が増えていれば追加成功です。
「Fare fancy」を選択して、保存ボタンクリックでテーマを変更。

## プラグイン関連
使いたいプラグインを入れます。
僕はひとまず、以下を入れて使います。

### Redmine Local Avatars plugin

一応、建前は「アイコンがあると視認性がよい」としていますが、
本音「アイコンがある方が使ってて楽しい（何となく。個人的に）」ってだけです。

```
# cd /var/lib/redmine/plugins/
# git clone https://github.com/ncoders/redmine_local_avatars.git
# cd ..
# bundle exec rake redmine:plugins NAME=redmine_local_avatars RAILS_ENV=production
# touch tmp/restart.txt
```

ブラウザからRedmineに管理者でログインし、「管理」→「プラグイン」画面を開く。
プラグイン一覧に表示されていればインストール完了。

各ユーザでRedmineにログインすると、「個人設定」画面の右上に「アバターの変更」があるので、そこからアバターを設定します。

### Redmine Code Review plugin

コードレビューをRedmine上で実施するプラグインです。
（これをやるためにGit連携の不具合を修正する必要があった）

mercurial を入れなきゃいけないらしく、とりあえず yum で。

```
# cd /var/lib/redmine/plugins/
# yum install mercurial
# hg clone https://bitbucket.org/haru_iida/redmine_code_review
# git clone https://github.com/agileware-jp/redmine_work_days.git
# cd ..
# bundle exec rake redmine:plugins:migrate RAILS_ENV=production
# touch tmp/restart.txt
```

ブラウザからRedmineに管理者でログインし、「管理」→「プラグイン」画面を開く。
プラグイン一覧に表示されていればインストール完了。

これでひとまずサーバ上での設定関連は完了。

ここから先はRedmineにログインして設定です。
ユーザ、チケットのステータス、ワークフロー、トラッカー、etc. の設定となりますが、
そのへんは利用目的や会社のルール等によって違うと思うので割愛します。
目的に合った設定をしてください。

## おまけ

このサーバ構築の前に、「AzureのCentOSにBitnamiのRemdineインストーラでサーバ構築」もやりました。
気が向いたら、もしくは需要があれば、記事を書こうと思います。