環境は以下の通り(Web,DB,Rubyはソースからインストール)
- OS:CentOS 6.4(32bit)
- Web:Apache 2.2.4(/usr/local/apache)+Passenger実行
- DB:PostgreSQL 9.2.3(/usr/local/pgsql)
- Ruby:1.9.3-p392
- Redmine:/home/redmine/public_html (tarボールから)
バージョンアップの注意!
Redmine2.3.1よりpg-1.15.1(2.3.0では1.15.0であった)が必要となるため事前にアップしておきます。忘れるとbundle install 時、以下のエラーとなります。
エラー内容
An error occurred while installing pg (0.15.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.15.1'` succeeds before bundling.
[root@localhost public_html]# gem install pg -v '0.15.1'
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
libpq-fe.h headerが見つけられるようpg_configへのパスを指定してpgをインストールします。
※with-pg-configはサーバ環境に合わせます。
# gem install pg -v '0.15.1' -- --with-pg-config=/usr/local/pgsql/bin/pg_config --no-rdoc --no-ri
Fetching: pg-0.15.1.gem (100%)
Building native extensions. This could take a while...
Successfully installed pg-0.15.1
1 gem installed
Installing ri documentation for pg-0.15.1...
Installing RDoc documentation for pg-0.15.1...
もしエラーになる場合は以下のようにすれば大丈夫かも
# gem install pg -v '0.15.1' -- --with-pg-config=/usr/local/pgsql/bin/pg_config --with-pg-dir=/usr/local/pgsql/ --with-pg-lib=/usr/local/pgsql/lib/ --with-pg-include=/usr/local/pgsql/include/ --no-rdoc --no-ri
あれ?ドキュメントは不要とオプション指定しているのにインストールされてるような・・・まっいいや
ちなみにパスが正しく通っていないと以下のようにエラーとなります。
エラー内容
# gem install pg -v '0.15.1'
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
(ヘッダ情報が不足しておりMakefileが作れない、詳しくはmkmf.logを参照)
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/local/bin/ruby
--with-pg
--without-pg
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/pg-0.15.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/pg-0.15.1/ext/gem_make.out
となってしまいます。インストールを確認
# gem list --local
pg (0.15.1, 0.15.0)のように0.15.1を確認します。
では、アップグレード開始です。
DBのバックアップ
# /usr/local/pgsql/bin/pg_dump -U redmine -Fc redmine > /home/redmine/public_html/db_`date +%Y%m%d`.dump
※-Uで接続ユーザ指定、-Fcの後はDB名
Redmine2.3.0のバックアップ
# mv /home/redmine/public_html /home/redmine/public_html_230
Redmine2.3.1用の新ディレクトリ
# mkdir /home/redmine/public_html
# chmod 775 /home/redmine/public_html
Redmine2.3.1のインストール
ソースのダウンロード(ダウンロード先はhttp://rubyforge.org/frs/?group_id=1850で確認)
# cd /usr/local/src
# wget http://rubyforge.org/frs/download.php/76933/redmine-2.3.1.tar.gz
# tar zxvf redmine-2.3.1.tar.gz
# mv ./redmine-2.3.1/* /home/redmine/public_html/
設定ファイル等を戻す(プラグインは考慮されていません)
# cd /home/redmine/public_html_230/
# cp ./config/database.yml /home/redmine/public_html/config/
# cp ./config/configuration.yml /home/redmine/public_html/config/
# cp ./config/additional_environment.rb /home/redmine/public_html/config/
# cp -fr ./files/* /home/redmine/public_html/files/
# cp -r ./public/themes/farend_fancy /home/redmine/public_html/public/themes/
豆知識
cp -f としているのに上書き確認が表示される場合、alias cp='cp -i' となっていると思われます。cpコマンドの前にバックスラッシュを付加するといいでしょう。
# cd /home/redmine/public_html
# bundle install --without development test mysql sqlite
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.0.4)
Using i18n (0.6.1)
Installing multi_json (1.7.3)
Using activesupport (3.2.13)
Using builder (3.0.0)
Using activemodel (3.2.13)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.5)
Using rack-cache (1.2)
Using rack-test (0.6.2)
Installing hike (1.2.2)
Installing tilt (1.4.0)
Using sprockets (2.2.2)
Using actionpack (3.2.13)
Installing mime-types (1.23)
Using polyglot (0.3.3)
Using treetop (1.4.12)
Using mail (2.5.3)
Using actionmailer (3.2.13)
Using arel (3.0.2)
Using tzinfo (0.3.37)
Using activerecord (3.2.13)
Using activeresource (3.2.13)
Using bundler (1.3.4)
Using coderay (1.0.9)
Using rack-ssl (1.3.3)
Using json (1.7.7)
Using rdoc (3.12.2)
Installing thor (0.18.1)
Using railties (3.2.13)
Using jquery-rails (2.0.3)
Using net-ldap (0.3.1)
Using pg (0.15.1)
Using ruby-openid (2.1.8)
Using rack-openid (1.3.1)
Using rails (3.2.13)
Using rmagick (2.13.2)
Your bundle is complete!
Gems in the groups development, test, mysql and sqlite were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
# rake generate_secret_token
# rake db:migrate RAILS_ENV=production
# rake redmine:plugins:migrate RAILS_ENV=production
# rake tmp:cache:clear
# rake tmp:sessions:clear
Apache用の調整
# chown -R daemon:daemon /home/redmine/public_html
Apacheの再起動
# /usr/local/apache/bin/apachectl restart
2.3.0から2.3.1になりました。
0 件のコメント:
コメントを投稿