rbenv+passenger+redmineの環境を作るまで | Ujsag.Takashi.Lap

Ujsag.Takashi.Lap

身の回りのことやらメモをつれずれと。

Ruby2.0はRuby1.9系に比べて速度が速いけど、Ruby1.8系の言語依存に関係する問題で、
一部のプログラムは1.8系を利用できる道を残したいなぁ、と考えていたらする方法があったのでメモ。

動作するために、ざっと調べると以下のような特徴がある。

rbenvについて
- ユーザーごとに利用するRubyのパッケージを管理する。
- .rbenvフォルダー以下に実行するrubyやgemファイルを持つ
- シェルの設定ファイルに、RubyやGemが入ったパスを、既存の$Pathの末尾に
 追加することでrbenvの実行ファイルが使われるようにする
- rbenv global (ruby version)はユーザーの中でのデフォルトでしかない

apache2 + apache-passenger + Redmineについて
apacheのconfファイルの中で、Passengerのパスと、Rubyのパスなど
Redmineを公開する情報を記載する。詳しくは、過去のとりくみ参照。

apache/httpdのユーザー
通常、シェルやホームをもたない。


rbenv + apache2 + apache-passenger + redmineを使って実行するには、
実行用のユーザーを作ってあげてrbenvを管理して、
apache2の設定ファイルに、実行用のユーザーで設定したRubyを指定してあげれば
いい感じになる、はず。


と思ったらそのとおりだった。


あとで作業ログをアップート記載するが、ざっくりメモを残す。

ユーザー作成
webexecというユーザーを作成

rbenvのインストール
いろんなサイトに記載している方法そのまま。
rubyは2.0.0-p247を利用。

rbenvにpassengerとapache用のモジュールのインストール
ざっくりメモ
rbenv rehash
rbenv exec gem install passenger
rbenv rehash
rbenv exec passenger-install-apache2-module
rbenv rehash


apacheの設定
httpd.confから読み込むpassenger.confに以下を記載。

LoadModule passenger_module /home/webexec/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/passenger-4.0.29/buildout/apache2/mod_passenger.so
PassengerRoot /home/webexec/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/passenger-4.0.29
PassengerRuby /home/webexec/.rbenv/shims/ruby


redmineの設定
redmineのディレクトリで以下を実行
rbenv exec ruby
rbenv exec bundle --path vendor/bundle