Redmine1.4 系から ruby1.9 系に対応されたので、ruby を 1.9.3 に上げることにする。
活性メンテだとつらそうなので、Redmine を一旦停止して行う。
今回試したのは Redmine1.2.1→Redmine1.4.3 へのアップグレード
ruby のインストールと各種必要なもののバージョンアップ
# cd /usr/local/src
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz
# tar xvfz ruby-1.9.3-p194.tar.gz
# cd ruby-1.9.3-p194
# ./configure
# make
# make install
# make clean
# ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
gem を呼んだらこんなエラーが出た
# gem list
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
- Ruby 1.9.3 で "missing psych" | maeda.log
- Bug #5560: YAML installation not found and no /usr/local/lib/ruby/1.9.3 - ruby-trunk - Ruby Issue Tracking System
libyaml-devel を入れれば消えるようなので入れて、再度リビルド。
0.1.3 以上じゃないとエラーが出るので、epel ではなく rpmforge を利用。
# yum install --enablerepo=rpmforge libyaml
# cd /usr/local/src/ruby-1.9.3-p194
# ./configure
# make
# make install
# make clean
# ruby -v
ruby 1.9.3p194 (2012-04-20) [i686-linux]
# gem install bundler --no-rdoc --no-ri
ImageMagick のインストール。
6.4.9 以上のバージョンじゃないと、gem の rmagick2.13.1 を入れることができない。
# yum install --enablerepo=rpmforge djvulibre openexr jasper libwmf libtool-ltdl
# yum install --enablerepo=rpmforge freetype-devel jasper-devel
# wget http://www.lassosoft.com/_downloads/public/Lasso_Server/Extra/ImageMagick-6.6.5-10.i386.rpm
# wget http://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/linux/CentOS/i386/ImageMagick-devel-6.6.5-10.i386.rpm
# rpm -Uvh ImageMagick-*
# gem install rmagick -v '2.13.1' --no-rdoc --no-ri
なんかエラーが出るからログを見てみる
# less /usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1/ext/RMagick/mkmf.log
cannot find -lfftw3と出たので入れる。
# wget http://pkgs.repoforge.org/fftw3/fftw3-devel-3.1.1-1.el5.rf.i386.rpm
# wget http://pkgs.repoforge.org/fftw3/fftw3-3.1.1-1.el5.rf.i386.rpm
# rpm -ivh fftw3-*
こんどはcannot find -lfontconfigと出たので入れる。
# yum install --enablerepo=rpmforge fontconfig-devel
それでもcannot find -lltdlと出たので入れる。
# gem install rmagick -v '2.13.1' --no-rdoc --no-ri
passenger のインストール
# gem install mysql --no-rdoc --no-ri
# gem install rails -v=2.3.14 --include-dependencies --no-rdoc --no-ri
# gem install passenger --no-rdoc --no-ri
# passenger-install-apache2-module
# vi /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.12/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.12
PassengerRuby /usr/local/bin/ruby
Redmine 本体のアップグレード
あとはいつもどおりアップグレードするだけ
passenger のエラーが出続ける場合は、一度 redmine 解凍からやる直すといいかも
# cd /usr/local/src/
# wget http://rubyforge.org/frs/download.php/76193/redmine-1.4.3.tar.gz
# tar xvfz redmine-1.4.3.tar.gz
# mv redmine-1.4.3 /var/www/
# cd /var/www
# chown -R apache:apache redmine-1.4.3/
# cd redmine-1.4.3/
# cp -a ../redmine/config/database.yml config/database.yml
# cp -a ../redmine/config/configuration.yml config/configuration.yml
# cp -a ../redmine/files/* ./files/
# vi config/settings.yml
# cp -a ../redmine/vendor/plugins/redmine_* ./vendor/plugins/
# cd ../
# rm -f redmine
# ln -sfn redmine-1.4.3/ redmine
# cd redmine
# bundle install --without development test postgresql sqlite
# gem update --system 1.3.7
# rake generate_session_store
# rake db:migrate RAILS_ENV="production"
# rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production
# rake db:migrate_plugins RAILS_ENV=production
# rake tmp:cache:clear
# rake tmp:sessions:clear
# chown -R apache:apache .
# /etc/init.d/httpd restart