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の実行ユーザーを変更していますが、関係あるのかな。