&tag(Redmine/アップグレード/1.1.2から2.0.3); *目次 [#e7d7dbb9] #contents *参考情報 [#qe1cd533] -[[Redmine]] *1.1.2から2.0.3 へのアップグレード (CentOS5) [#gd3110b2] **バックアップ [#s36edaea] -apacheを停止。 -既存redmineディレクトリの名前を変更。 mv redmine redmine_1.1.2 **アップグレード実行 [#ic9751a5] -redmine-2.0.3.tar.gzをダウンロードして展開 #pre{{ # gzcat redmine-2.0.3.tar.gz | (cd /home; tar xvpf - ) # cd /home # mv redmine-2.0.3 redmine }} -古いバージョンのファイルをコピー。プラグインはコピーしないことにした。configuration.ymlを作らないといけないみたいだけどもともとメールの設定はしていないので無視。 #pre{{ # cp redmine_1.1.2/config/database.yml redmine/config # cp redmine_1.1.2/db/redmine.db redmine/db # cp -a redmine_1.1.2/files/* redmine/files }} -rvmを使って管理しているので一度パーミッションを一般ユーザーに変更する #pre{{ # chown -R tanaka.tanaka redmine }} **rvmの準備(ruby-1.9.3p194@redmineで実行するようにする) [#a473fd52] -ruby本体のインストール rvm install 1.9.3-p194 -これを選択 rvm --default use 1.9.3-p194 -gemsetをcreate rvm gemset create redmine -これを選択 rvm --default use 1.9.3-p194@redmine -/home/redmine/.rvmrcを作る #pre{{ #!/usr/bin/env bash rvm_trust_rvmrcs_flag=1 # This is an RVM Project .rvmrc file, used to automatically load the ruby # development environment upon cd'ing into the directory # First we specify our desired <ruby>[@<gemset>], the @gemset name is optional, # Only full ruby name is supported here, for short names use: # echo "rvm use 1.8.7" > .rvmrc environment_id="ruby-1.9.3-p194" # Uncomment the following lines if you want to verify rvm version per project # rvmrc_rvm_version="1.10.3" # 1.10.1 seams as a safe start # eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || { # echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading." # return 1 # } # First we attempt to load the desired environment directly from the environment # file. This is very fast and efficient compared to running through the entire # CLI and selector. If you want feedback on which environment was used then # insert the word 'use' after --create as this triggers verbose mode. if [[ -d "${rvm_path:-$HOME/.rvm}/environments" && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] then \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id" [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]] && \. "${rvm_path:-$HOME/.rvm}/hooks/after_use" || true if [[ $- == *i* ]] # check for interactive shells then echo "Using: $(tput setaf 2)$GEM_HOME$(tput sgr0)" # show the user the ruby and gemset they are using in green else echo "Using: $GEM_HOME" # don't use colors in non-interactive shells fi else # If the environment file has not yet been created, use the RVM CLI to select. rvm --create use "$environment_id" || { echo "Failed to create RVM environment '${environment_id}'." return 1 } fi }} **passengerをアップデート [#pa641cf7] -redmineのディレクトリではなく自分のホームで実行する。そうしないと"Could not find passenger (> = 0) amogst rvm passenger-install-apache2-module"とかいうエラーが表示された。最後に表示される内容をhttpd.confにコピペ。 #pre{{ $ gem install passenger $ rvmsudo passenger-install-apache2-module }} -RMagicをインストールするのにImageMagicが必要名ので先にインストール。 sudo port install ImageMagick -マイグレーション実行 #pre{{ $ cd redmine $ bundle install --path vendor/bundle $ rake generate_session_store #これは不要? $ rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production $ rake db:migrate RAILS_ENV=production }} **動作確認 [#w01c39a5] -とりあえず組み込みWebサーバーで動作確認。 $ ruby script/rails server -e production -passengerで動かす場合パーミッションを_wwwに戻す。 #pre{{ # chown -R _www redmine # chgrp -R _www redmine }}