rvmでインストールしたrubyをapacheで使いたいんだけど、ハマってる。

やりたいこと

$ rvm install 1.9.2
$ rvm use 1.9.2
$ gem install pg

rvmでruby1.9.2をインストールして、
そのrubyのgemでpgをインストールした。

この、pgをapachecgiで使用したい。

で、使ってみる

#!/home/rdera/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -Ku

require 'pg'
:
:
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- pg (LoadError)
        from <internal:lib/rubygems/custom_require>:29:in `require'

pgを見つけれませんって言われる。

そして、

hsbtさんの[ruby][rvm] cron とかで rvm を使って何か動かす方法, [ruby][capistano] tDiary を capistrano で deploy するようにした - HsbtDiary(2011-01-17)を発見する。
早速、以下のパスでcgiを実行させる。

#!/home/rdera/.rvm/bin/ruby-1.9.2-p180 -Ku

これで、解決かと思ったが、またしても怒られる。
apacheのエラーログは以下のとおり。

 (8)Exec format error: exec of '/home/rdera/www/index.rb' failed
 Premature end of script headers: index.rb

hsbtさんにアドバイスを頂く

apacheのOptionsにFollowSymLinksが怪しいということで、
確認するが指定している。

シンボリックリンクへのアクセス権も確認するが、
特に問題はない。

3月25日追記

分かったこと。

/home/rdera/.rvm/bin/ruby-1.9.2-p180

は、ruby自体のバイナリファイルではなく、
以下のようなシェルスクリプトが実態である。

#!/usr/bin/env bash

if [[ -s "/home/rdera/.rvm/environments/ruby-1.9.2-p180" ]] ; then
  source "/home/rdera/.rvm/environments/ruby-1.9.2-p180"
  exec ruby "$@"
else
  echo "ERROR: Missing RVM environment file: '/home/rdera/.rvm/environments/ruby-1.9.2-p180'" >&2
  exit 1
fi

そのため、apcheが実行できてないと思うんだけど、
解決用方法は以前、分からない。

その後

id:znzさんの助言を参考に以下のように対応し、
一応、解決した。
cgiを実行される際に呼び出されるindex.cgi
以下のように変更。
変更前

#!/home/rdera/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -Ku

変更後

#!/bin/env /home/rdera/.rvm/rubies/ruby-1.9.2-p180/bin/ruby

/home/rdera/.rvm/bin/ruby-1.9.2-p180の
実態であるシェルスクリプトを以下のように変更。
変更前

#!/usr/bin/env bash

if [[ -s "/home/rdera/.rvm/environments/ruby-1.9.2-p180" ]] ; then
  source "/home/rdera/.rvm/environments/ruby-1.9.2-p180"
  exec ruby "$@"
else
  echo "ERROR: Missing RVM environment file: '/home/rdera/.rvm/environments/ruby-1.9.2-p180'" >&2
  exit 1
fi

変更後

#!/usr/bin/env bash

if [[ -s "/home/rdera/.rvm/environments/ruby-1.9.2-p180" ]] ; then
  source "/home/rdera/.rvm/environments/ruby-1.9.2-p180"
  exec ruby -Ku "$@"
else
  echo "ERROR: Missing RVM environment file: '/home/rdera/.rvm/environments/ruby-1.9.2-p180'" >&2
  exit 1
fi

まとめ

対症療法的に無理やりだが、なんとか解決した。
どうやらapache再帰的なシェバングの解析を
行ってくれないようだ。

とりあえず、一旦解決としますが、
また、何かあったら追記します。