一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

Ruby on Rails + Passenger + Oracle で動かそうとしたらエラー発生

 Passengerで動かそうとするとエラーが発生する。もっとスマートなやり方があるかもしれないんだけど、僕のやり方をまとめます。

実行環境

OS CentOS 5.4
Shell bash
Oracle関連ソフト 無償のパッケージのみを使用する
接続先DBサーバ 自サーバ以外で稼働している
インストール済み Ruby, Ruby on Rails
rubygems activerecord-oracle_enhanced-adapter, ruby-oci8
WebServer Apache2.2

対策

 "/etc/sysconfig/httpd"の最後に以下の行を追加します。

export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client
export PATH=${ORACLE_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${ORACLE_HOME}

 で、サーバ再起動

$sudo service httpd restart

 これで終わりです。つまり、ログイン時に読み込むShellに設定した環境変数Apacheも読んでくれるようにしただけです。うーん、なんで読み込んでくれなかったのか。ちなみにApacheの実行ユーザーを変更していますが、関係あるのかな。