Redmine (レッドマイン) 3.2 をCentOS 7.0 (Linux) にインストールする手順

サーバー設定
スポンサーリンク

Redmine (レッドマイン) は、今話題のタスク管理システムです。

カテゴリとして、ITS(Issue Tracking System)/BTS(Bug Tracking System) として分類されることがあります。

 

今回、CentOS 7.0にRedmine 3.2をインストールしたので、インストール方法をメモしました。

 

スポンサーリンク

Redmineとは

 

Redmineはオープンソースのタスク管理ツールです。

 

WEBベースのオンプレミスなシステムとしてインストールすることが可能です。

 

trac,jira,redmineの3つのシステムについてGoogleトレンドで人気動向を調べてみました。

 

 

長らくtracが人気でしたが、最近はjiraやredmineに人気が移っているように見えます。

特にjiraは、tracを追い抜く勢いです。

 

 

JIRA(ジラ)はアトラシアンが開発した企業向けプロプライエタリ・ソフトウェアであり、主にバグトラッキングや課題管理、プロジェクト管理に用いられます。

 

アトラシアンという会社は日本人にはなじみが薄いですが、オーストラリアのソフトウェア会社であり、ウェブベースのホスティングサービス Bitbucket なども有名です。

 

JIRAは非商業団体には無償提供されますが、それ以外は無償では使えません。

 

よって、今回はRedmineを試してみることにしました。

 

Redmineのインストール方法

前提として以下のソフトがインストールされているとします。

 

CentOS 7.0.1406

# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)

 

 

Apache 2.4.6

# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Mar 12 2015 15:07:19

 

 

MariaDB 5.5.40

# mysqladmin version
mysqladmin  Ver 9.0 Distrib 5.5.40-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

 

この状態で、Redmine 3.2をインストールしてみます。

 

SELinuxをオフにする

SELinuxはオフにしておきます。

 

/etc/selinux/configを編集します。

 

SELinuxの設定については以下にまとめました。

 

SELinuxをCentOS 7 で有効化・無効化 (disabled, enforcing, permissive, setenforce) 停止の確認、設定
Linuxの設定をしている際に、SELinuxのコマンドはよく必要になるけれど、よく忘れるのでSELinuxの無効化の方法やコマンド類をメモしておきました。 SELinux (エスイーリナックス) とは何か SELinuxは、Sec...

 

 

ポート80の解放

また、WEBで接続するためにHTTPでポート80を開けておきます。

 

/etc/firewalld/zones/public.xml

を編集します。

 

CentOS 7のファイアウォールの設定については以下にまとめました。

CentOS 7からデフォルトのFirewalldでハマった(iptablesは今後使わない?違い?) ファイアウォールの設定ファイル
CentOS 7をはじめて使ってみて、あまりにもCentOS 6と違って戸惑いました。 詳しくは、以下の記事にまとめました。 今回は、CentOS 7から採用されたFirewalld (ファイアウォールのデーモン) でハマっ...

 

 

関連ソフトのインストール

ImageMagickとヘッダファイル、日本語フォントのインストールを行います。

 

依存関係のパッケージも多数インストールされます。

 

 

RedmineはRubyで書かれた言語なのでRuby本体もインストールします。

 

 

Redmineが使用するGemを一括インストールするためのツール、bundlerをインストールします。

 

 

データベースのセットアップ

Redmineが使用するデータベースをセットアップします。

 

 

 

Redmineのインストール

Redmine本体をダウンロードします。

 

 

redmine-3.2.0.tar.gz というファイルがダウンロードされます。

 

 

で展開した後、

 

のように移動して、

/var/lib/redmine

がredmineのルートフォルダになるようにします。

 

 

/var/lib/redmine/config/database.yml.example

をコピーして

/var/lib/redmine/config/database.yml

を作成します。

 

database.yml

を編集してデータベースのユーザー名とパスワードを設定します。

 

 

/var/lib/redmine/config/configuration.yml.example

をコピーして

/var/lib/redmine/config/configuration.yml

を作成します。

 

 

configuration.yml

は、メール設定だけなので、以下を有効化するだけでよいです。

 

 

/var/lib/redmine

のアクセス権を設定します。

 

 

2016/06/03 追記:Subversion対応のために、アクセス権限は、apacheではなくてredmineユーザーに変更しました。

 

 

Gemパッケージのインストール

Redmineで使用するGemをインストールします。

 

Redmineのインストールディレクトリで以下のコマンドを実行します。

うーん。

makeしたりgccしたりするんですね。

 

 

開発環境がいるようです。

 

とりあえず、

gcc

のコンパイラーをインストールします。

 

これででいけるかと思いきや以下のエラーが発生しました。

 

どうやら、

mysql-devel

が必要なようです。

 

これで、無事にGemパッケージはインストール出来ました。

 

Redmineの初期設定とデータベースのテーブル作成

Redmineの初期設定とデータベースのテーブルの作成を行います。

 

 

PassengerのApache用のモジュールをインストールします。

 

 

Passengerのインストールを行います。

 

 

なんで、「好きな言語は?」って聞かれるんだろう?。。。

 

 

やはり、開発環境が足りないようです。

 

以下をインストールします。

 

 

これでようやくインストール出来そうです。

 

インストールはこれで完了です。

 

Redmineのログのローテーション

Redmineのログは、

/var/lib/redmine/log/production.log

です。

このログはデフォルトではローテーションされないようです。

よって、ローテーションの設定を行います。

 

 

/etc/logrotate.d/redmine

というファイルを作成します。

中身は次のように記述しておきます。

 

 

Redmineの起動

ApacheでVirtual Hostを設定します。

 

/etc/httpd/conf.d/redmine.conf

というファイルを作成します。

 

これでMariaDBとApacheを再起動します。

 

ブラウザから、

http://(サーバー名)

で以下のように表示されました。

 

初期ログイン名とパスワードは、

admin/admin

です。

 

日本語環境でRedmineを使う

日本語環境で読みやすいRedmine用テーマとして、

farend basic、

farend fancy

があります。

 

farend basic

URL: https://github.com/farend/redmine_theme_farend_basic/tags (GitHub)

 

次の特徴があります。

  • ¥記号を正しく表示
    日本語フォントを優先して使用するよう設定を行いました。これにより、¥記号がバックスラッシュとして表示されていた問題が解決します(WindowsおよびメイリオがインストールされているMacのみ)
  • メイリオフォントを優先表示
    メイリオフォントがインストールされていればメイリオで文字が表示されます。MS Pゴシックと比較して画面上の文字が読みやすくなります。
  • 文字色を読みやすく調整
    文字と背景のコントラストを高めて読みやすくするために、文字の色を全体的に見直しました。
  • フォントサイズの調整
    一部メニューの文字の大きさを大きくしました。
  • 優先度に応じたチケットの色分け表示
    チケット一覧画面において優先度に対応した色分け表示を行うための設定をRedmine標準添付のAlternateテーマから取り込みました。
  • 期限が超過したチケットを色付きで表示
    チケット一覧画面において期限が超過したチケットをオレンジ色で表示するよう変更しました。
  • 自分の名前を太字で表示
    チケット一覧画面において担当者・作者欄の自分の名前を太字で表示するよう変更しました。

 

farend fancy

farend basicの派生テーマです。

URL: https://github.com/farend/redmine_theme_farend_fancy/downloads (GitHub)

 

テーマのインストール

テーマのインストール方法は、テーマのzipファイルを展開して、以下のフォルダにおくだけです。

/var/lib/redmine/public/themes/

 

その後、画面から、

「管理」→「設定」→「表示」画面内の項目「テーマ」で

「Farend basic」を選択、

画面最下部の「保存」ボタンをクリックしてください。

 

 

SubversionやGitなどのバージョン管理システムと連携

Redmineは外部にある

バージョン管理システム、Subversion、Darcs、Mercurial、Cvs、Bazaar、Git

と連携することが出来ます。

 

 

設定するには、

/var/lib/redmine/config/configuration.yml

を編集します。

 

SubversionとGitと連携したい場合は、/bin/svnや/bin/gitが実行できることを確認して、以下のように設定しておきます。

 

 

svnやgitがない場合は、yumでインストールする必要があります。

 

ここで、SCMとは

ソフトウェア構成管理(ソフトウェアこうせいかんり、software configuration management、SCM)

です。

 

 

この後、Apacheを再起動するだけで、SubversionやGitと連携できます。

 

ちゃんと連携できると以下のように表示されます。

 

 

 

注意点として svn+ssh:// を使用しているリポジトリにアクセスする場合、svn+sshをnon-interactiveに設定する必要があります。

 

この設定がないと、404エラーが発生します。

 

これはRedmineサーバーから以下のコマンドを実行するのと同じことを行っているからです。

 

コマンドラインから以下のコマンドを実行できないといけません。

 

エラーが発生する時、/var/lib/redmine/log/production.log には以下のログが吐き出されます。

 

 

この対策にはsshで鍵認証を行うよう設定が必要です。

 

sshの鍵認証については以下にまとめました。

sshで鍵交換(キー交換)を行い、パスワードなし、省略してLinuxサーバーにログインする方法
sshでLinuxサーバーにログインする際に、パスワードを聞かれますよね。 これをパスワード省略でログインしたいことがあります。 今回、公開鍵を交換する方法でパスワードなしでログインする方法を調査しました。 公開鍵、秘密鍵の作成と事前設...

 

 

私のサーバーの場合、以下のように設定しました。

 

Redmineサーバ:

  • redmineのディレクトリ所有者は「redmine」に設定
  • redmineユーザで鍵作成(パス無し)とする

 

これでPassengerもredmineユーザーで実行されるようになります。

 

 

svnサーバ:

  • redmineユーザを作成(Redmineサーバでのredmineディレクトリの所有者と同じに)
  • Redmineサーバーで作成した公開鍵を、redmineユーザに設置

 

 

まとめ

Redmineのインストールは前提ソフトが多く意外に面倒でした。

良さそうな本は何さつもありました。

 

これから、これらの本で学習しようと思います。

 

 

 

さくらのVPSサーバー

 

↓月額685円からの低価格&高パフォーマンスのVPS、さくらのVPSはコチラ

SSDプランが月々685円から使える!さくらのVPS

 

 

 

コメント