Redmine3.0 アップグレードというかインストール

ダウンロードURL

 

「redmine-3.0.0.zip」ダウンロードして解凍

以前使ってたRedmineはリネイム

/var/lib/redmine_bk

 

バージョン名をとって配置

/var/lib/redmine/

 

設定ファイルを編集。今回は前に使っていたものをそのままコピー

/var/lib/redmine/config/configuration.yml

/var/lib/redmine/config/database.yml

 

これで表示してやればいけるかと思ったのですが、エラーです。

image

 

Gemパッケージのインストールが必要みたい。

Redmineのインストールディレクトリでbundleコマンドを実行

cd /var/lib/redmine/

bundle install --without development test

build しても、いろいろいじってもエラー

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

 

こんなエラーがいろいろでました。

/usr/local/lib/ruby/gems/1.8/gems/voloko-sdoc-0.2.14.1/lib/rdoc/discover.rb
no block given (yield)
gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin, :jruby]
Insecure world writable dir /root/bin in PATH, mode 040777
LocalJumpError: no block given
/usr/local/lib/ruby/gems/1.8/gems/bundler-1.8.3/lib/bundler/dsl.rb:173:in `platforms'
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine.

 

 

どうやらRubyが古いみたい。redmine3.0は、Ruby 1.8.7に対応するためのコードを削除を削除しているらしい。

yumでインストールして1.8.7だったぽいのでこの際、Rubyをインストールしなおし

「Rails 4.2 / Ruby 2.2 のサポート」をしているのでインストールします。

 

インストールはこっちでメモしました。

 

もう一度bundleしていけたと思ったら

 

bundle install --without development test

 

 

/var/lib/redmine/config/database.yml

ここでmysqlの設定がmysql2でないとだめみたい。以前database.ymlをそのままおいたのが失敗だった。あとpostgreSQL、sqLiteの設定も削除

  adapter: mysql
  ↓
  adapter: mysql2

 

mysql2へ変更したらOKでした。

あと今回はRubyを入れなおしたので、Passengerのインストールが必要そう。

※Passengerとは apacheでredmineなどのRailsアプリケーションの実行に必要なもの

 

gem install passenger --no-rdoc --no-ri

 

PassengerのApache用モジュールのインストール

passenger-install-apache2-module

 

インストールの最後に表示される以下はは必要なのでメモ

LoadModule passenger_module /root/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/passenger-4.0.59/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
     PassengerRoot /root/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/passenger-4.0.59
     PassengerDefaultRuby /root/.rbenv/versions/2.2.0/bin/ruby
</IfModule>

 

このコマンドで確認もできるみたい

passenger-install-apache2-module --snippet

 

 

Passengerの設定を追加

vim /etc/httpd/conf.d/passenger.conf

さっきメモした以下を追加しておしまい。

LoadModule passenger_module /root/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/passenger-4.0.59/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
     PassengerRoot /root/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/passenger-4.0.59
     PassengerDefaultRuby /root/.rbenv/versions/2.2.0/bin/ruby
</IfModule>

 

あとはapacheを再起動するだけ

参考サイト

ネットワークチェンジニアとして
 
ruby gem bundlerの使い方
http://changineer.info/server/runtime/ruby_gem_bundler.html
rubyにはgemと呼ばれるサードパーティ製 パッケージを管理する仕組みが存在します。このページでは、パッケージ管理のgemと、プロジェクト単位でgem操作が可能なbundlerの使い方について説明します。