Redmine 公式 を参考に。
まずは Requirements を確認して Ruby などのバージョンが適切であることを確かめる。
バックアップ
$ sudo service httpd stop $ zip -r /path/to/backup/`date +%F`-redmine-files.zip /var/lib/redmine/files/ $ /usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/`date +%F`-redmine-db.gz
ファイル置き換え
$ wget http://www.redmine.org/releases/redmine-2.5.1.zip $ unzip redmine-2.5.1.zip $ cp /var/lib/redmine/config/database.yml redmine-2.5.1/config $ cp /var/lib/redmine/config/configuration.yml redmine-2.5.1/config $ cp -r /var/lib/redmine/files/ redmine-2.5.1/ $ cp -r /var/lib/redmine/plugins/* redmine-2.5.1/plugins/ # 注意を参照 $ sudo mv /var/lib/redmine/ ~/`date +%F`-redmine/ $ sudo mv redmine-2.5.1/ /var/lib/redmine $ sudo chown -R apache:apache /var/lib/redmine
注意: 公式 に "Make sure that you copy only plugins that are were not initially bundled with your previous Redmine setup.” とあるが、そもそも最初から plugins フォルダには README しか入っていなかったので、おそらく全部コピーしてしまって大丈夫だろう。
bundle install
とか
$ cd /var/lib/redmine $ sudo bundle install --without development test postgresql rmagick … Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. $ sudo rake generate_secret_token $ sudo rake db:migrate RAILS_ENV=production $ sudo rake redmine:plugins:migrate RAILS_ENV=production $ sudo rake tmp:cache:clear $ sudo rake tmp:sessions:clear
個人的に加えた変更を適用
app/controllers/files_controller.rb
- sort_init 'filename', 'asc' + sort_init 'created_on', ‘desc'
public/stylesheets/application.css
+ /* Make images fit. */ + div.wiki img { + max-width: 100%; + }
app/controllers/issues_controller.rb
Redmine.jp によるハック
def build_new_issue_from_params
...
@issue.author ||= User.current
+ @issue.assigned_to ||= User.current
...
end
lib/redmine/scm/adapters/git_adapter.rb
Git のブランチ名やタグ名として UTF-8 の文字を使った際に起こる問題に対処
--- lib/redmine/scm/adapters/git_adapter.rb.org Sat Nov 23 17:41:44 2013 +++ lib/redmine/scm/adapters/git_adapter.rb Wed May 14 10:55:15 2014 @@ -82,11 +82,11 @@ return @branches if @branches @branches = [] cmd_args = %w|branch --no-color --verbose --no-abbrev| git_cmd(cmd_args) do |io| io.each_line do |line| - branch_rev = line.match('\s*(\*?)\s*(.*?)\s*([0-9a-f]{40}).*$') + branch_rev = line.force_encoding('UTF-8').match('\s*(\*?)\s*(.*?)\s*([0-9a-f]{40}).*$') bran = GitBranch.new(branch_rev[2]) bran.revision = branch_rev[3] bran.scmid = branch_rev[3] bran.is_default = ( branch_rev[1] == '*' ) @branches << bran @@ -99,11 +99,11 @@ def tags return @tags if @tags cmd_args = %w|tag| git_cmd(cmd_args) do |io| - @tags = io.readlines.sort!.map{|t| t.strip} + @tags = io.readlines.sort!.map{|t| t.strip.force_encoding('UTF-8')} end rescue ScmCommandAborted nil end
確認
$ sudo service httpd start
管理 > 情報 から Redmine version が 2.5.1.stable となっているのを確認。