redmineを1.3.3から2.5.1にUpdateして色々大変だった話

事の発端

本学のプロジェクトで使用しているRedmineのバージョンが1.3.3だったので,最新版にアップデートしたかった.

Backlogsとか入れてみたかったしね.

 

流れ

まず,もともと入っていたRubyが1.8.7 だった.

最新のRedmineでも,サポート範囲内だったと思うけど,作ってるプロダクトが2.0.0で作られてたので,将来的にここにサンプルとかもデプロイする運用を考えたかったので,バージョンを上げたい.

ただ,上書きはちょっと怖いので,rvmを利用することに.

適当に,

$ sudo apt-get install ruby-rvm

とかやっていたら,なんだかうまく行かなかった.そこで,ちゃんと調べてインストールしてみることに.

この後,参考にしたのは以下のサイト.

RedmineをUbuntu 12.04 LTSにrvmを使ってインストールする - espresso3389の日記

Install Ruby on Rails using rvm on Ubuntu 12.04 - Stack Overflow

user@host:~$ \curl -L https://get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   184  100   184    0     0    215      0 --:--:-- --:--:-- --:--:--   293
100 20511  100 20511    0     0  21206      0 --:--:-- --:--:-- --:--:--  472k

It looks you are one of the happy Ubuntu users,
RVM packaged by Ubuntu is old and broken,
follow this link for details how to fix:

  http://stackoverflow.com/a/9056395/497756

 おや,なんか失敗.しかもご丁寧に解決策が書いてあるリンクまで貼ってったので参照して無事インストール完了.

インストールが終わったので,rvmを更新.

$ sudo rvm get head
$ sudo rvm reload

パスが通っていないと怒られた.sudoすると,環境変数が引き継がれないらしい.

sudoでPATHなどの環境変数を引き継ぐ | Pistolfly

こちらを参考に,設定を変更.この時にvisudoしてnanoが立ち上がったのでイラッとしてnanoを削除

今度はコマンドが無事通ったので,目的のruby2.0.0をインストール.これも問題ない.

次は,rvm useを打ったんだけど,ログインコンソールでやってくださいと怒られた.

んー,理由はわからない.

$ /bin/bash --login
$ rvm use 2.0.0

今度は無事成功.バージョンを確認してみたら,最新バージョンになってる.はて?

とりあえずログインしなおしてから確認.今度はOK.

次は,redmineのインストール.とりあえず,最新版を適当なディレクトリに持ってきて,現行バージョンがおいてあった場所にシンボリックリンクを貼ることにした.

インストールの際に参考にしたのは以下のサイト.

RedmineUpgrade - Redmine

DebianでRedmine 1.3.2から2.0に更新する | kwLog

Redmine 2.5をCentOS 6.5にインストールする手順 | Redmine.JP Blog

手順に関しては,2番目の記事とほとんど手順は同じ,ただし,数カ所コケたところがあった.

一つ目は,mysqlのgemがうまく入らなかった.どうやら,1.4からmysql2というgemに切り替わったらしく,そいつを入れてあげなきゃいけないらしい.
入れようとしたけど,何故かコケた.ちょっと調べてみると,いくつか似たようなエラーを見つけた.

Rails - Ubuntuでmysql2 gemが入らない。 - Qiita

ここを参考に,無事解決.

次は,何故かdb:migrateでエラーが出る.しかもsyntax.なぜ…….

色々調べたら,該当gemを消せば直ったという記事を見つけた.(リンクどっか行っちゃいました.ゴメンナサイ)

 $ gem uninstall psych

これで,無事db:migrateも完了.

あと,僕が使っているサーバはPassengerを使っているので,そこのパスもrvmの場所に切り替えてあげなきゃいけない.

rvmのpassengerをapache用にコンパイルして,設定ファイルを書き換える.

Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用 — Redmine.JP

ここを参考に,設定.途中何回か怒られたけど,都度apt-getで対象パッケージをインストールしてココもクリア.

最後にapacheを再起動して,無事表示されることを確認しました.

#ここまで来るのに何回も再起動して失敗してるけどね