Deploying Rails App on Debian Etch / Apache2 / Passenger

Hi,
I’m trying to deploy my rails app through passenger on an Apache2 on
debian etch. When I start to boot the app it doesn’t load one of my
requires throwing an exception which looks like ‘/usr/local/lib/
site_ruby/1.8/rubygems/custom_require.rb 31 in
`gem_original_require’ ’ on the stacktrace. The gem is installed and
it’s located in the correct dir which I can find through ‘gem
environment’. I’m running ruby 1.8.5, passenger 2.2.2 and looking for
kwalify 0.7.1. .
Is this a debian bug, what am I missing? The app runs fine with the
same configuration on my mac.
Please help,
Karl

I also had this problem recently. A few things I did that ultimately
got me
up and running:

  • Used very latest rubygems (1.3.3 in my case) instead of that from
    debian distro
  • make sure the www-data user can read and execute all the rubygems
    (chown, chmod, chgrp, etc.).

Hope this helps,

Marc

[email protected]

Karl,
are you sure that all the gems installed in your Mac and on
Debian are exactly the same version?
You must check carefully the list of gems and versions in both
parts to go out of doubt.

Good luck.

                    Cesar

Gnu/Linux count user #416024

Pagina personal : http://www.cesardiaz.com.ar
Mi blog : http://cesarediaz.blogspot.com
Twitter : http://twitter.com/cesarstafe
My github account: cesarediaz (Cesar Diaz) · GitHub
Skype: cesarstafe

Ok,

tried these things. The gems are the same.
Changing permissions doesn’t do anything. Running irb as www-data
works fine. Should be a rails problem since it doesn’t work with
script/console…

Never mind, script/console works fine. passenger not…

See here at
http://wiki.github.com/cesarediaz/inventory/installation-steps

Those are the steps that I done to install an application(an open
source rails application that I built) that I have allocated in
github. Maybe you can find there another way to prove for install
Passenger + Apache2 + a Rails application.

Good luck.

        Cesar

Gnu/Linux count user #416024

Pagina personal : http://www.cesardiaz.com.ar
Mi blog : http://cesarediaz.blogspot.com
Twitter : http://twitter.com/cesarstafe
My github account: cesarediaz (Cesar Diaz) · GitHub
Skype: cesarstafe

Changed all the permissions, set path etc. but no changes yet…

While I don’t recommend this as a long-term solution, it should help
know
whether this is the issue (make a backup first w/ current permissions):

chown -R www-data:www-data /usr/lib/…gems

I believe I also did chmod 777 /usr/bin/<gem_file>

I also modified the /etc/init.d/apache2 script, adding to the ENV line
things like:
ENV=“env -i LANG=C
PATH=/usr/local/bin:/usr/bin:/bin:/usr/lib/ruby/gems/1.8/gems/simple_record-1.0.2/bin:/usr/lib/ruby/gems/1.8/gems/cloud_cache-1.0.1/bin”

/etc/init.d/apache2 restart -

(The more proper way to do this [should be built into
./bin/passenger-install-apache2-module ?] is to give these files group
permissions, include www-data in the group).

Other observations:

  1. I had to include the full path for
    passenger-install-apache2-module,
    didn’t work as # passenger-install-apache2-module , not found)
  2. script/console, script/runner, script/server - all worked fine, but
    passenger/apache2 didn’t work until I got permissions right.

Good luck,

m

Are you using Ruby Enterprise Edition? What is PassengerRuby set to in
your Apache configuration? Which version of Ruby is being invoked from
the shell (run “which ruby”)?

Is good know that you solved that and wich was the problem, it is a
good feedback . It could help maybe another person to not do the same
mistake.

                                                       Cesar

Gnu/Linux count user #416024

Pagina personal : http://www.cesardiaz.com.ar
Mi blog : http://cesarediaz.blogspot.com
Twitter : http://twitter.com/cesarstafe
Github: cesarediaz (Cesar Diaz) · GitHub
Skype: cesarstafe

hey guys,
I’m very thankful for your help. after inspecting rubygems myself and
going down the whole way again, i figured that I accidently
capitalized the gem name :frowning: Now everything seems to run…

It always comes to the simplest solutions :slight_smile: