【gem install の罠】

gem install で入れたものは、なぜかパスが通ってなかったりする。
自分でgemの中のbinにパスを通してやる必要がある。
.bashrcに以下を追加
export GEM_HOME=/var/lib/gems/1.8/
export PATH=$PATH:/var/lib/gems/1.8/bin

【Passengerのインストール】

gem install はメモリが足りないのか、途中でアボートしやがるので手動インストール。

passengerfastthread,rack に依存してるみたいなので、Rubyforgeからダウンロード。
これらのインストールには gcc や make が要求されるので、
apt-get install gcc make などとやって事前にインストールしておく。
また、fastthread のインストールには ruby1.8-dev や libc6-dev が必要になってくるみたいなので、
それも apt-get install ruby1.8-dev libc6-dev などとしてインストールしておく。
準備が出来たら gem install 〜 --local で順に手動インストール
dumpのメッセージがコロコロ出てくるけど(・ε・)キニシナイ!!

passsenger のインストールで足りないものは明示してくれる(apt-get install 〜 と出してくれる)ので、
それに従って足りないものをインストールして再度インストールして完了。
最後のメッセージにApacheの設定例が載ってるのでどっかにメモしておくと良い。
自分は以下のような設定例が出た。
--------------------------------------------
The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so
   PassengerRoot /var/lib/gems/1.8/gems/passenger-2.0.3
   PassengerRuby /usr/bin/ruby1.8

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

Press ENTER to continue.

--------------------------------------------
Deploying a Ruby on Rails application: an example

Suppose you have a Ruby on Rails application in /somewhere. Add a virtual host
to your Apache configuration file, and set its DocumentRoot to
/somewhere/public, like this:

   <VirtualHost *:80>
      ServerName www.yourhost.com
      DocumentRoot /somewhere/public
   </VirtualHost>

And that's it! You may also want to check the Users Guide for security and
optimization tips and other useful information:

  /var/lib/gems/1.8/gems/passenger-2.0.3/doc/Users guide.html

Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
http://www.modrails.com/

Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.

【Apacheの設定】

Passengerを使えるようにmoduleの設定をする。自分は以下のようにした。
/etc/apache2/mods-available/passenger.loadを作成し以下を追加
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so

/etc/apache2/mods-available/passenger.confを作成し以下を追加
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.0.3
PassengerRuby /usr/bin/ruby1.8

以下のコマンドでモジュールを有効にする。
a2enmod passenger
ついでに以下ののモジュールも有効にする。Passengerが必要とする。
a2enmod rewrite

/var/wwwをドキュメントルートとし、/var/www/redmine-*以下にredmineを設置するものとする。
http://localhost/ で/var/wwwドキュメントルート以下の内容が返され、
http://localhost/redmine でredmineが起動するようにする設定は以下の通り。

/etc/apache2/sites-available/defaultを以下のように設定する。
---
RailsAutoDetect off
<VirtualHost *:80>
        DocumentRoot /var/www
        RailsBaseURI /redmine
</VirtualHost>
---
/redmineで見えるのがrailsアプリのpublic以下である必要があるので、
ln -s /var/www/redmine-*/public /var/www/redmine としてシンボリックリンクを張る。

public以下の.htaccess は邪魔なので、リネームもしくは削除する。
参考
ファイル・ディレクトリへのリンク ln
mod_rails試してみました。
http://w.koshigoe.jp/study/?[Ruby]+Passenger
Passenger を使う時は public/.htaccess に注意!
Passenger(mod_rails)でRailsアプリケーションを運用する
VPS環境で、メモリ不足でgemが使えない? (Segmentation fault)
Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用
Ubuntu 8.04にhttpsでRedMineをインストールするメモ
Apache + Passenger でRailsを動かすよ
  • twitter
  • livedoor クリップ
  • はてなブックマーク
  • delicious
  • Yahoo! ブックマーク
  • niftyブックマーク
  • Buzzurl

Wiki内検索

Menu

ここは自由に編集できるエリアです。

Wikiをはじめる

マイページ