◇最新バージョンを テスト用DBで動作確認してみる。
※テスト用DBがなければ、前もって作っとく。
mysql>
mysql> create database redmine_test character set utf8;
mysql> show databases;
mysql> \q
そして、今まで動かしていたので、
$ rake db:migrate RAILS_ENV=test
を実行しとく。
※以前のバージョンからのUPDATEなので、以前のテーブルの構成でからUPDATEするため。
svn up して
$ svn up ~/svn_work/Redmine/tags
svn export する
$ svn export ~/svn_work/Redmine/tags/0.8.1/ ~/work/redmine0.8.1
DBのconfigファイルであるYAMLファイルをコピーする。
$ cp /home/httpd/vhost/Redmine/config/database.yml ~/work/redmine0.8.1/config/database.yml
作業場所に移動して
$ cd ~/work/redmine0.8.1/
DBのマイグレーションを行う。
$ rake db:migrate RAILS_ENV=test
テストサーバー起動して動作確認してみる。
$ ./script/server -e test
テストDBで動作確認できたら、本番の前に、
◇まず、動いてるのを止める
mysqlのスレーブ止める。
mysqlのマスター止める。
Redmineの動いているApache止める。
◇次にバックアップする
以下、マスターで作業
mysql のデータバックアップしとく
/usr/local/mysql/var を コピーしとく
Redmineのバックアップしとく
/home/httpd/vhost/Redmine を コピーしとく
svn export する。
$ svn export ~/svn_work/Redmine/tags/0.8.1/ /home/httpd/vhost/Redmine/ --force
移動して
$ cd /home/httpd/vhost/Redmine/
キャッシュおよびセッションを消去
$ rake tmp:cache:clear
$ rake tmp:sessions:clear
DBのマイグレーションを行う。
$ rake db:migrate RAILS_ENV=test
サーバにアクセスできたらOK
$ ./script/server -e test
500エラーが出る場合、 Redmine/log/ 以下のログを確認する。
「sessions 系のエラーの場合」/home/httpd/vhost/Redmine/tmp/sessions に残ってるので
$ rake tmp:sessions:clear を行うか、セッションファイルを削除する。
本番のDBのマイグレーションを行う。
$ rake db:migrate RAILS_ENV=production
本番のDBで、確認するために、テスト用サーバー起動
$ ./script/server -e production
ブラウザでアクセスして確認
最後にApache起動
$ sudo /usr/local/apache2/bin/apachectl start
adminでログインし、管理⇒情報 から、バージョンを確認しとく。
"管理 → ロールと権限"を開き、新しく追加された機能に対する権限の確認・設定を行う。
問題なければ、スレーブのMySQLを起動
----
その他・カスタマイズしたところを修正する。
使いやすい様にソースなど修正したものは、svn export で全て上書きされてしまうので、
カスタマイズしたファイルを直す。
例:
① ヘルプの日本語化対応も上書きされるので、忘れずに!
http://redmine.jp/faq/general/change-help-url-to-gude-ja/
Redmineのlib/redmine/info.rbを開き、 def help_url; に続くURLをhttp://redmine.jp/guide/に変更し、Redmineを再起動
② lang/ja.yml
general_csv_encoding: SJIS
general_pdf_encoding: UTF-8
label_age: 年齢 ・・・年齢という表現が気になるなら・・私は気にならないが。
↓
general_csv_encoding: UTF-8
general_pdf_encoding: SJIS
label_age: age
③リポジトリで、テキストファイルの内容が日本語が多い場合ダウンロードされる件
http://groups.google.com/group/redmine-users-ja/browse_thread/thread/6d0eddad5a79d815
$ diff -u app/controllers/repositories_controller.rb ../Redmine-backup/app/controllers/repositories_controller.rb
--- app/controllers/repositories_controller.rb 2008-12-31 20:31:02.000000000 +0900
+++ ../Redmine-backup/app/controllers/repositories_controller.rb 2009-02-05 11:09:54.000000000 +0900
@@ -117,7 +117,7 @@
@content = @repository.cat(@path, @rev)
show_error_not_found and return unless @content
- if 'raw' == params[:format] || @content.is_binary_data?
+ if 'raw' == params[:format] || @content.include?("\x00")
# Force the download if it's a binary file
send_data @content, :filename => @path.split('/').last
else
④Wikiのヘルプ日本語化
$ cd public/help/
$ tar xzvf wiki_syntax_ja.tar.gz
$ diff /home/httpd/vhost/Redmine/app/views/documents/_document.rhtml ~/svn_work/Redmine/tags/0.8.1/app/views/documents/_document.rhtml1,4c1,3< <div title="<%unless document.description.blank? %><%=h(truncate(document.description, 250)) %><% end %>">< <font size=+0><%= link_to h(document.title), :controller => 'documents', :action => 'show', :id => document %></font>< - - -< <em><%= format_time(document.created_on) %></em></div>---> <p><%= link_to h(document.title), :controller => 'documents', :action => 'show', :id => document %><br />> <% unless document.description.blank? %><%=h(truncate(document.description, 250)) %><br /><% end %>> <em><%= format_time(document.created_on) %></em></p>
$ diff -u ~/svn_work/Redmine/tags/0.8.1/app/views/issues/gantt.rhtml /home/httpd/vhost/Redmine/app/views/issues/gantt.rhtml--- /home/y.suzuki/svn_work/Redmine/tags/0.8.1/app/views/issues/gantt.rhtml 2009-02-17 14:46:33.000000000 +0900+++ /home/httpd/vhost/Redmine/app/views/issues/gantt.rhtml 2009-02-23 16:06:57.000000000 +0900@@ -86,7 +86,7 @@<div style="position: absolute;line-height:1.2em;height:16px;top:<%= top %>px;left:4px;overflow:hidden;"><small><% if i.is_a? Issue %><%= h("#{i.project} -") unless @project && @project == i.project %>- <%= link_to_issue i %>: <%=h i.subject %>+ <%= link_to_issue i %>: (<%= i.assigned_to %>) <%=h i.subject %><% else %><span class="icon icon-package"><%= h("#{i.project} -") unless @project && @project == i.project %>
直したら再起動する。
再起動は
$RAILS_ROOT/tmp/restart.txtというファイルを作成
$ sudo -u apache touch /home/httpd/vhost/Redmine/tmp/restart.txt
せっかちなら
$ watch -n 1 ls -l /home/httpd/vhost/Redmine/tmp/restart.txt
で無くなるのを確認
参考URL
http://redmine.jp/guide/RedmineUpgrade