Cloud9でRedmineを導入する際に、Rubyのバージョンで引っかかった為、記事にしました。
Redmine導入でInternal errorが発生
Cloud9でRedmineを導入する際に、下記サイトを参考にさせて頂きました。
・Cloud9でRedmineを動かす(akiko-pusu)
http://qiita.com/akiko-pusu/items/7b37745d6341cc55d5eb
Redmineを立ち上げた後、管理者(admin)で管理者タブをクリックしたところInternal errorが発生してしまいました。
どうやら原因はrubyのバージョンのようです。
https://www.redmine.org/issues/18936
現在(2016/03/13)のCloud9のワークスペースではデフォルトで2.3.0がインストールされていましたが、2.1系でないと不具合が出ることがあるそうです。
Redmine導入手順
Redmineを導入する為に、次の3点を実行しましたので、
手順を記載しようと思います。
- Rubyのバージョン変更
- Redmineのインストール
- 稼働確認
また、以下サイトを手順作成の参考にさせて頂きました。
・rbenv+ruby-buildを利用してUbuntuにRubyをインストールする
・Cloud9でRedmineを動かす
1. Rubyのバージョン変更
パッケージを取得する。
$ sudo apt-get update
build-essentialパッケージをインストールする。
$ sudo apt-get install -y build-essential
rbenvをクローンする。
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
ruby-buildをクローンする。
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
.bashrcに追記する。
$ echo 'export PATH="~/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
シェルをリスタートする。
$ source ~/.bashrc
インストール可能バージョンを一覧表示する。
$ rbenv install -l
Rubyバージョン2.1.5をインストールする。
$ rbenv install 2.1.5
Rubyバージョン2.1.5に設定する。
$ rbenv global 2.1.5
Rubyのバージョンを確認する。
$ ruby -v
結果: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
2. Redmineのインストール
Redmineをクローンする。
$ git clone -b 2.5-stable https://github.com/redmine/redmine.git
redmineに移動して、必要なGemをインストールする(bundler, sqlite3, rails)。
$ cd redmine
$ gem install bundler
$ gem install sqlite3
$ gem install rails
bundle installを行う。
$ bundle check || bundle install --path vendor/bundle --without mysql postgreql rmagick
マイグレーション用にymlファイルを作成する。
$ cat << HERE >> config/database.yml
development:
adapter: sqlite3
database: db/development.sqlite3
HERE
DBのマイグレーションを行う。
$ bundle exec rake db:migrate
セッション暗号化の鍵を生成する。
$ bundle exec rake generate_secret_token
Redmineの動作確認
Railsサーバを起動する。
$ rails s -b $IP -p $PORT
Cloud9のワークスペース右上の「Share」ボタンを押下すると、ApplicationにアクセスするURLが出てくるので、ブランザでアクセスする。
adminでログイン後に、個人設定タブでエラーが出ないか確認
さいごに
無事にCloud9上でRedmineを導入することができました。
すぐにRedmineを触ってみたい!という方々の助けになれれば幸いです。