2012/10/27

redmineを2.0.3から2.1.2へ切り替える

独自地デジ録画システムの根幹として使用しているRedmineを2.0.3から2.1.2へ切り替えることにしました。2.0.3でも特に不便はなかったんですが、jquery+ajaxな処理を色々やりたくなったので。

えーと、本家に説明されているような手順とは若干異なります。
自分の場合、自作プラグインの対応もあるので、2.0.3と2.1.2を暫く共存させて、プラグインの対応が終わったら切り替えるという手順です。

普通の場合でも、この方が無難なのでは?と思います。
会社でもいくつかのプラグインを入れていて動作確認してからじゃないと公開したくない。
同じサーバーマシン上で同居させてテスト運用してから切り替える方が気が楽というものです。

自分のredmine入れ場所は、/opt です。
いうまでもなく、OSは、ubuntuです。
テキストファイル編集は、emacsを使用してます。(ところどころ出てきます)
ということを踏まえたうえで参考にしてください。

redmine-2.1.2 インストール

$ wget http://rubyforge.org/frs/download.php/76495/redmine-2.1.2.tar.gz
$ cd /opt
$ sudo tar zxf ~/redmine-2.1.2.tar.gz
$ sudo chown -R www-data.www-data redmine-2.1.2
$ cd redmine-2.1.2
$ sudo bundle install --without development test postgresql sqlite rmagick

データベースコピー

$ cd (どこでもいいですね)
$ mysqldump -uredmine -predmine redmine > redmine2.sql
$ mysql -uredmine -predmine
create database redmine2
exit
$ mysql -uredmine -predmine redmine2 < redmine2.sql
$ rm redmine2.sql


バックアップというよりは、2.1.2用のDBを作成して2.0.3のDB内容をコピーするって感じです。


設定

$ cd /opt/redmine-2.1.2
$ sudo cp config/database.yml.example config/database.yml
$ sudo emacs config/database.yml
production:
adapter: mysql2
database: redmine2
host: localhost
username: redmine
password: redmine
encoding: utf8
データベースを'redmine2'を使うようにしておきます。

適応

$ sudo rake generate_secret_token
$ sudo rake db:migrate RAILS_ENV=production

apache2/passenger

$ sudo emacs /etc/apache2/conf.d/redmine.conf
RailsBaseURI /redmine2
$ sudo ln -s /opt/redmine-2.1.2/public /var/www/redmine2
$ sudo service apache2 reload

この辺は人によって色々でしょう。とにかく新旧両方へアクセスできるようにしておきます。

オプション

htmlタグ解禁
lib/redcloth3.rbのALLOWED_TAGSに解禁したいHTMLタグを羅列するだけ。

$ sudo emacs lib/redcloth3.rb

#    ALLOWED_TAGS = %w(redpre pre code notextile)
    ALLOWED_TAGS = %w(redpre pre code notextile html head body title isindex base meta link script h1 h2 h3 h4 h5 h6 hr br p center spacer div blockquote listing xmp address noscript span font basefont i tt s b u strike big small sub sup em strong code samp kbd var dfn q cite ul ol li dl dt dd table tr th td caption a img map area form input select option textarea applet param frameset frame noframes &quote &amp &lt &gt &nbsp &copy)

自分はこんな感じにしています。

farend_basicテーマ

自分は2.0.3で使用していたので、単純にコピーしました。
$ sudo cp -r /opt/redmine-2.0.3/public/themes/farend_basic /opt/redmine-2.1.2/public/themes/farend_basic
新規に取得する場合は、https://github.com/farend/redmine_theme_farend_basic/downloads から。

redmine_video プラグイン インストール (自作なので自分だけですが)

$ cd /opt/redmine-2.1.2
$ sudo cp -r /opt/redmine-2.0.3/plugins/redmine_video plugins
$ sudo ln -s /opt/videos public/videos
$ sudo rm -rf files
$ sudo ln -s /opt/videos files

redmine-2.1.2/Gemfile.log がrootになってしまい、パーミッションエラーがでたので・・・
$ sudo chown www-data.www-data Gemfile.lock

プラグインのマイグレーションはデータベースを完全コピーしているので不要です。


一応これで、入るには入って、Redmine自体は正常起動しましたが、prototype.jsなメソッドを使用しているビューでエラーになりました。これからこの辺を色々jqueryなものに書き換えていく作業です。


プラグインとか、ちゃんと動くようになったら

config/database.yml のdatabase:を元々の’redmine'に変更
$ sudo rake db:migrate RAILS_ENV=production
$ sudo ln -s /opt/redmine-2.1.2/public /var/www/redmine

こんな感じの手順を踏むだけで、切り替え完了です。

0 件のコメント:

コメントを投稿