Edit
RedMineとは

rubyの開発などにも利用されている、バグトラッキングシステム。Ruby on Railsを利用していることも特徴的。

Edit
インストール

ここでは、ruby, ruby on railsがすでにシステムに導入され、webサーバーから rails が利用できる状態になっていることを前提として進める。この部分の手順が知りたい場合には、こちらを参照してほしい。

# wget http://www.redmine.org/releases/redmine-2.4.3.tar.gz
# tar xcvf redmine-2.4.3.tar.gz

Edit
Redmineからリポジトリーが作成できるプラグイン

tracを利用していたころは、自分で自動的に trac と、subversion の連動(プロジェクト作成や削除など)を行っていたが、redmine には連動させられるプラグインがあるようだ。公式ページ

# wget http://projects.andriylesyuk.com/attachments/download/486/redmine_scm-0.4.3.tar.bz2

このファイルを、redminneが展開されたフォルダ直下の、pluginsフォルダにコピー。

Edit
その他の必要ライブラリ

# gem install mysql2
# gem install rmagick

Edit
環境変数の設定

redmineのフォルダにある、config/database.yml にデータベース環境の定義がある。これを利用することで、テスト環境や本番環境のデータベースを簡単に切り替えることが出来る。その場合には、切替は下記の環境変数によって行われる。

export RAILS_ENV=production

※この例では、database.yml に記述された production 設定を採用する。

ローカルで起動している場合。

production:
   adapter: mysql2
   database: redmine
   host: localhost
   username: user
   password: ""
   encoding: utf8
   socket: /usr/local/mysql/run/mysql.sock

ネットワーク経由の場合

production:
   adapter: mysql2
   database: redmine
   host: mysql.mydomain.com
   username: user
   password: password
   encoding: utf8
   port: 3306

SQLiteなどを利用する場合

production:
   adapter: sqlite3
   database: db/redmine.sqlite3

Edit
初期設定

Redmineを展開したフォルダに移動後。 フォルダ権限設定

mkdir tmp public/plugin_assets 
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets

データベースにredmine用のDBを追加

mysql > CREATE DATABASE redmine;

DBの初期化など。

# bundle exec rake generate_secret_token
# bundle exec rake db:migrate RAILS_ENV=production
# rake db:test:prepare
# rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data             <- 初期タスク名などの設定

Edit
redmine起動後の設定

adminでログインし、「管理」ボタンを押すと、一番上に「ディフォルト設定をロード」というボタンがあるので必ず押す。

<認証を必須に>

  1. 画面左上の「管理」ー>「設定」ー>「認証」タブを開き、「認証が必要」チェックボックスをONにする。

<既存プロジェクトを非公開に>

  1. プロジェクトの「設定」画面を開き、「情報」タブの「公開」チェックボックスをOFFにする。

<新規プロジェクトのデフォルトを非公開に>

  1. 画面左上の「管理」ー>「設定」ー>「認証」タブを開き、「デフォルトで新しいプロジェクトは公開にする」チェックボックスをOFFにする。

Edit
tracからredmineへの移行

Edit
下準備

# gem install sqlite3-ruby

Edit
Gemfileの修正

RedmineのGemfile に tracで利用していた、sqlite3 のライブラリを利用するように指示。

# vi Gemfile
  gem 'sqlite3'

Edit
コンバートプログラムのパッチ

Tracで利用している、Sqliteにはデータベースの項目に日付用の専用項目が無く、通常、string 型や、ユリウス日などで、integerなどの項目で日付管理を行っている。そのため、古いTracではこの日付のフォーマト管理の方法が違うためにエラーになる。(例:Mysql2::Error: Incorrect datetime value: '42623309-07-30 09:21:48' for column 'created_on' at row などの年の部分がとんでもない数字になっているエラー)よって、パッチを当てる必要がある。パッチファイルは添付ファイル(migrate_from_trac.rake.7z)にある。

# cd <redmineのフォルダ>/lib/tasks
# patch < migrate_from_trac.rake.patch

Edit
更なるコンバートプログラムの修正

次に、バグの為に Undefined Method "Reload" というエラーを吐いて変換に失敗するため、以下のプログラムを修正する。

redmineのインストールフォルダ/lib/tasks/migrate_from_trac.rake というファイルの690行目あたりにある。(但し上記のパッチで行数に変化があるかも)

# vi <redmineのフォルダ>/lib/tasks/migrate_from_trac.rake
      @target_project.reload

という行を、下記のように修正する。

      @target_project.reload if @target_project

Edit
コンバートの実行

# rake redmine:migrate_from_trac RAILS_ENV="production"

Edit
それでも・・( Trac 1.0 からだと・・ )

それでも、ticket が変換されなかったり、wiki に貼り付けた画像がただの文字にかわっていたりと問題があり、現状ではコンバータは使い物にならない状態と思われる。

Edit
plugins

プラグインのファイルを plugins フォルダに展開したあとは、必ず

# bundle install
# rake redmine:plugins:migrate RAILS_ENV=production

を忘れないように実行する。

Edit
redmine_local_avatars

ユーザー情報に、画像を添付することができる。数多くのバージョンが存在するが、最新はここ。但し展開すると、フォルダ名にxxx-master と余計な文字が付いているので、フォルダ名をプラグイン名に合わせることを忘れ無いこと。

Edit
Subversionとの連携

RedmineではSubversionや、Gitとの連携することでよりその能力を発揮する。基本的にはRedmineのプロジェクト設定項目で、Subversionの URLやアカウント情報などを入力することですぐに連携をとれるが、アカウント情報の連携を取るには、WEBサーバーに apache を利用し、mod_dav_svn and mod_perl を使って連動させる。(そのため、nginx では subversion とのアカウント連携ができない。)

Edit
apacheの設定

基本的にはLDAPを利用した認証を経由して、redmineのアカウントと、subversion のアカウントの連動を行う。そのため、基本的には redmine のデータ保存には、MySQLを利用し、apacheからも redmine のアカウント情報を参照できるようにする。

Edit
apacheモジュールの読込

# yum install libapache2-svn libapache-dbi-perl libapache2-mod-perl2 libdbd-mysql-perl libdigest-sha1-perl libauthen-simple-ldap-perl

Apacheサーバーで追加で読ませるには以下の設定を conf として追加読込させる。

PerlLoadModule Apache::Redmine
<Location /svn>
    DAV svn
    SVNParentPath "/var/svn" 
    Order deny,allow
    Deny from all
    Satisfy any
    LimitXMLRequestBody 0
    SVNPathAuthz off
    PerlAccessHandler Apache::Authn::Redmine::access_handler
    PerlAuthenHandler Apache::Authn::Redmine::authen_handler
    AuthType Basic
    AuthName "Redmine SVN Repository"

    #read-only access    
    <Limit GET PROPFIND OPTIONS REPORT>
       Require valid-user
       Allow from redmine.server.ip
       # Allow from another-ip
        Satisfy any
    </Limit>
    # write access
    <LimitExcept GET PROPFIND OPTIONS REPORT>
      Require valid-user
    </LimitExcept>

    RedmineDSN "DBI:mysql:database=databasename;host=my.db.server"
    RedmineDbUser "redmine"
    RedmineDbPass "password"
</Location>

Edit
バージョンアップ時の手順

「設定ファイルのコピー」※これらのファイルにエラーやTABが混入しているとparseエラー

・configuration.yml
・database.xml

「初期化」※redmine のルートディレクトリで実行

# bundle install
# bundle exec rake generate_secret_token
# bundle update
# bundle exec rake db:migrate RAILS_ENV=production
# bundle exec rake redmine:plugins:migrate RAILS_ENV=production
# bundle exec rake tmp:cache:clear
# rails の再起動(httpサーバやpassengerなど)

※rakeコマンドでエラーになる場合、rake -T でタスクの登録内容を確認できる。
※ちなみに tmp:sessions:clear はRails 5で廃止。

「スキンのコピー」

・public/themesをコピー

「プラグインのコピー」

・plugins をコピー

「保存ファイルのコピー」

・files をコピー

「パーミッションの設定」 フォルダを展開後はパーミッションの設定がおかしい場合があるので、念のため再設定。

# mkdir tmp public/plugin_assets 
# chown -R redmine:redmine files log tmp public/plugin_assets
# chmod -R 755 files log tmp public/plugin_assets

Edit
Tip&トラブルシューティング

Edit
Wiki に<br>を認識させる。

# vi <redmineフォルダ>/lib/redmine/wiki_formatting/textile/redcloth3.rb  の1202行目
   ALLOWED_TAGS = %w(redpre pre code notextile br)                       <- このように最後に br をつける。
ALLOWED_TAGS = %w(redpre pre code notextile br hr font strike b block center)
例:br hr font strike b block center などを追加。

Edit
トラブルシューティング

Edit
You cannot specify the same gem twice with different version requirements.

このエラーは、Gemfile に該当のプラグインが複数回呼ばれていると発生することがある。 Gemfileから一度、該当のプラグイン名の gem 行を削除して試す。

Edit
バージョンアップ

http://redmine.jp/guide/RedmineUpgrade/

Edit
参考リンク

添付ファイル: filemigrate_from_trac.rake.7z 442件 [詳細]