redmineのアップグレード
サーバのredmineを2.* から3.0にアップグレードする
前提:Ubuntu 16.04 LTS
1. ruby, rails, bundlerをアンインストール
$ apt-get remove ruby rails bundler
2. rvmをインストールする
- 事前作業として、curlをインストールする
$ sudo apt-get install curl
- 公開鍵の取得
$ curl -sSL https://rvm.io/mpapis.asc | gpg --import -
- 続けてrvmをインストールする
$ curl -L https://get.rvm.io | bash -s stable --ruby
- ~/.bashrc に下記を環境変数を追加して、読み込ませる。
$ vi ~/.bashrc
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
$ source ~/.bashrc
- rvmのコマンドを実行し動作を確認
$ rvm -v
rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
3. rubyをインストールする
- 下記コマンドを実行しrvmでインストール可能なリストを確認する
$ rvm list known
- ruby2.3.0をインストールする(–defaultは、複数バージョンが混在している際にデフォルト使用するものを指定するオプション)
$ rvm install ruby-2.3.0 --default
- 下記コマンドでインストールできたことを確認する
$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [i686-linux]
4. railsをインストールする
- rails3からjavascriptのランタイムが必要であるため、node.jsをインストールしておく
$ sudo apt-get install nodejs
- railsのインストール可能なバージョンを確認する
$ gem search -r rails
...
radiojs-rails (0.2.1)
radius-rails (0.0.6)
rails (5.0.0.1)
rails-3-settings (0.1.1)
rails-action-args (0.1.1)
...
- インストールしたruby2.3.0と、これからインストールするrails(5.0.0.1)を「rails5_0_0_1」という名前のgemsetとして定義しておく
$ rvm gemset create rails5_0_0_1
$ rvm 2.3.0@rails5_0_0_1
- railsをインストールする
$ gem install rails
- コマンドを実行しインストールできたことを確認
$ rails -v
Rails 5.0.0.1
5. redmineをインストールする
- file-tail とpassengerをインストールする。
$ gem install file-tail
$ gem install passenger
- mod_passenger をビルドする
Webサーバは Apache なので,これ向けのモジュールをビルドする。
$ passenger-install-apache2-module --auto --languages ruby
- Apache の設定を修正する
事前準備
libapache2-mod-passenger を apt-get でインストールし、a2enmod passenger で有効化しておく
$ vi /etc/apache2/mods-aveilable/passenger.load
## modified by H.Tanabe 20160922
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so
$ vi /etc/apache2/mods-aveilable/passenger.conf
## modified by H.Tanabe 20160922
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.30
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.3.0/wrappers/ruby
</IfModule>
## H.Tanabe
PassengerDefaultUser www-data
RailsBaseURI /redmine
$ vi /etc/apache2/sites-aveilable/redmine.conf
<VirtualHost *:80>
ServerName redmine.example.com:80
ServerAdmin webmaster@example.com
DocumentRoot /var/www/vhosts/redmine/public/
<Directory /var/www/vhosts/redmine/public/>
Options Indexes FollowSymLinks -MultiViews -ExecCGI
AllowOverride All
PassengerResolveSymlinksInDocumentRoot on
</Directory>
</VirtualHost>
- gem “mysql2″ をインストールする
$ gem install mysql2
- gem “bundler” をインストールする
$ gem install bundler
$ rake generate_session_store
(in /var/lib/redmine)
Please configure your config/database.yml first
Could not find gem 'rails (= 4.2.7.1)' in any of the gem sources listed in your Gemfile or available on this machine.
Run `bundle install` to install missing gems.
エラーになるので、bundle installしてみる。
$ bundle install
$ rake generate_session_store
(in /var/lib/redmine)
Please configure your config/database.yml first
/usr/local/rvm/gems/ruby-2.3.0/gems/htmlentities-4.3.1/lib/htmlentities/mappings/expanded.rb:465: warning: key "inodot" is duplicated and overwritten on line 466
Note: The rake task generate_session_store has been deprecated, please use the replacement version generate_secret_token
- シークレットトークンを作成する
$ bundle exec rake generate_secret_token
- データベースの移行をする
$ RAILS_ENV=production bundle exec rake db:migrate
- デフォルトデータの反映
$ RAILS_ENV=production bundle exec rake redmine:load_default_data
Webアクセスしてもプロジェクトなどが表示されず、エラーログを確認。
config/databese.ymlがないというエラーだったので
$ ln -s /etc/redmine/default/database.yml /var/lib/redmine/config/
でシンボリックリンクを貼って
$ bundle install
で見えるように なった。
しかしながら、アップグレード前のデータを移行していないので、projectをクリックしても(当然ながら)表示エラーとなる。
$ cd /var/lib/redmine
$ bundle exec rake db:migrate RAILS_ENV=production
$ /etc/init.d/apache2 restart
でようやくWebアクセスできるようになった。
TrackBack URL :
Comments (1)