追記:
最近はrbenv+ruby-buildが流行りらしい.apt-getで入るけど,それで入れたら入れられるrubyは古いものしかなかった.
前提:サーバで動作している rubygems, ruby 系は全部消した上で,autoremove した状態.
それまで動いていた,redmine の環境はいじってない.
- ruby
- rvmでインストールする.
環境が整っていれば,webにあるようにroot# curl -L https://get.rvm.io | bash -s stable
でいいんだけど,最初はうまくいかないので,インストール用のシェルスクリプトを落としてきて何度も実行することになる.
$ wget -L https://get.rvm.io $ cat index.html | bash -s stable
そうしたら色々と足りないものを入れろと言われる.
RedmineをDebianに導入する - Qiita を見て入れたものは,これら.
make環境が入ってたので,少なめ.root# apt-get install git root# apt-get install libssl-dev root# apt-get install libreadline-gplv2-dev root# apt-get install libyaml-dev root# apt-get install curl
んで,もういっかい,
$ cat index.html | bash -s stable
そしたら環境を読み込んでrubyを入れる.
$ source $HOME/.rvm/scripts/rvm $ rvm install x.x.x # <- 入れたいバージョン
この辺りで,rootになってないことに気付いたけど,$HOME/.rvm 以下にインストールされてたので,いいやと思うことにする.
$ rvm list
として,インストールされたrubyが出てきたらOK.
- mysql関連gems
- これはスキップできなかった.
$ sudo apt-get install libmysqlclient-dev $ gem install mysql2
- bundler
-
$ gem install bundler --no-rdoc --no-ri
これでローカルに入るはず.
- redmine用のgems
- なんか gemset とか使って,環境を切り替えられるらしいんだけど,使わないことにする.
$ cd /path/to/redmine $ bundle install --without development test postgresql sqlite3 rmagick
なぜか,sqlite3 はインストールされてしまう…
- 起動スクリプト
- source コマンドでスクリプトを読み込めるbashにする.
#!/bin/bash source /home/username/.rvm/scripts/rvm cd /path/to/redmine bundle exec unicorn_rails -D -E production -c config/unicorn.rb
proxy配下でやる場合は、
tsocks zsh
としてから作業をすることで、curlのproxy問題に煩わされずにすむ
gem はログインシェルに戻さないとうまく動かないので,その前にexitで抜けてからgem useとかする
ローカルに入れるには,gemsetを使わないといけないくさい
rvm gemset create redmineとかして
rvm gemset use redmineとした後は,gem installしたものはこのgemsetにのみ入るっぽい
bundlerとかはglobalに入れておいても良いと思うが