Passenger 4.0.2, multiple rubies (1.8.7 and 1.9.3 w/ rvm) - Permission denied

625 views
Skip to first unread message

Leonardo S. Meira

unread,
May 22, 2013, 6:26:33 PM5/22/13
to phusion-...@googlegroups.com

Configurarion:

CentOS 6
Passenger 4.0.2

cat /etc/httpd/conf.d/passenger.conf:
LoadModule passenger_module /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.2/libout/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.2
PassengerDefaultRuby /opt/ruby-enterprise-1.8.7-2012.02/bin/ruby
PassengerDefaultUser root


All applications run normally when they are with the default version of ruby.
But when I try to set a different version (PassengerRuby / usr/local/rvm/rubies/ruby-1.9.3-p429/bin/ruby), the application reports the following error:


Permission denied - /var/www/vhosts/domainexample.com.br/.passenger (Errno::EACCES)
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/1.8/fileutils.rb:243:in `mkdir'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/1.8/fileutils.rb:243:in `fu_mkdir'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/1.8/fileutils.rb:217:in `mkdir_p'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/1.8/fileutils.rb:215:in `reverse_each'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/1.8/fileutils.rb:215:in `mkdir_p'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/1.8/fileutils.rb:201:in `each'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/1.8/fileutils.rb:201:in `mkdir_p'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/lib/phusion_passenger/native_support.rb:145:in `mkdir'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/lib/phusion_passenger/native_support.rb:162:in `compile'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/lib/phusion_passenger/native_support.rb:127:in `each_with_index'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/lib/phusion_passenger/native_support.rb:160:in `each'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/lib/phusion_passenger/native_support.rb:160:in `each_with_index'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/lib/phusion_passenger/native_support.rb:160:in `compile'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/lib/phusion_passenger/native_support.rb:138:in `compile_and_load'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/lib/phusion_passenger/native_support.rb:37:in `start'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/lib/phusion_passenger/native_support.rb:205
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/helper-scripts/rack-preloader.rb:48:in `require'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/helper-scripts/rack-preloader.rb:48:in `init_passenger'
  /usr/local/rvm/gems/ruby-1.9.3-p429/gems/passenger-4.0.2/helper-scripts/rack-preloader.rb:126

Application root
    /var/www/vhosts/domainexample.com.br/httpdocs/site
Environment (value of RAILS_ENV, RACK_ENV, WSGI_ENV and PASSENGER_ENV)
    production
Ruby interpreter command

    /opt/ruby-enterprise-1.8.7-2012.02/bin/ruby

User and groups

    uid=10001(domainex) gid=505(psacln) groups=505(psacln)

Environment variables

    rvm_bin_path=/usr/local/rvm/bin
    GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p429
    SHELL=/bin/bash
    TERM=xterm-256color
    HISTSIZE=1000
    IRBRC=/usr/local/rvm/rubies/ruby-1.9.3-p429/.irbrc
    PASSENGER_DEBUG_DIR=/tmp/passenger.spawn-debug.6373-139755618602272
    MY_RUBY_HOME=/usr/local/rvm/rubies/ruby-1.9.3-p429
    SSH_TTY=/dev/pts/0
    USER=domainex
    rvm_path=/usr/local/rvm
    rvm_prefix=/usr/local
    PATH=/opt/ruby-enterprise-1.8.7-2012.02/bin/:/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/rvm/bin
    PWD=/var/www/vhosts/domainexample.com.br/httpdocs/site
    LANG=C
    HISTCONTROL=ignoredups
    rvm_version=1.20.10 (stable)
    HOME=/var/www/vhosts/domainexample.com.br
    SHLVL=4
    GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p429:/usr/local/rvm/gems/ruby-1.9.3-p429@global
    LESSOPEN=|/usr/bin/lesspipe.sh %s
    install_flag=1
    JRUBY_OPTS=
    RUBY_VERSION=ruby-1.9.3-p429
    G_BROKEN_FILENAMES=1
    RBXOPT=
    IN_PASSENGER=1
    PYTHONUNBUFFERED=1
    RAILS_ENV=production
    RACK_ENV=production
    WSGI_ENV=production
    PASSENGER_ENV=production
    PP_CUSTOM_PHP_INI=/var/www/vhosts/domainexample.com.br/etc/php.ini
    REQUEST_METHOD=GET
    SERVER_PORT=80
    QUERY_STRING=
    SERVER_PROTOCOL=HTTP/1.1
    REMOTE_PORT=53699
    REQUEST_URI=/
    SERVER_SOFTWARE=Apache
    DOCUMENT_ROOT=/var/www/vhosts/domainexample.com.br/httpdocs/site/public/
    SERVER_NAME=www.domainexample.com.br

Hongli Lai

unread,
May 23, 2013, 7:43:30 AM5/23/13
to phusion-passenger
When running under a new Ruby interpreter for the first time, Phusion
Passenger tries to compile a Ruby extension for that Ruby interpreter.
It tries to store the compilation results in one of several
directories, such as $HOME/.passenger (in your case,
/var/www/vhosts/domainexample.com.br/.passenger). As you can see, it
doesn't have permissions to access that directory. If you create that
directory and give it permissions then it should work.
> --
> You received this message because you are subscribed to the Google Groups
> "Phusion Passenger Discussions" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to phusion-passen...@googlegroups.com.
> To post to this group, send email to phusion-...@googlegroups.com.
> Visit this group at
> http://groups.google.com/group/phusion-passenger?hl=en-US.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>



--
Phusion | Ruby & Rails deployment, scaling and tuning solutions

Web: http://www.phusion.nl/
E-mail: in...@phusion.nl
Chamber of commerce no: 08173483 (The Netherlands)

Leonardo S. Meira

unread,
Jun 24, 2013, 12:48:07 PM6/24/13
to phusion-...@googlegroups.com
I created this directory and i reset permissions.

But now it is showing a new error:


exit (SystemExit)
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/platform_info/ruby.rb:98:in `exit'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/platform_info/ruby.rb:98:in `ruby_command'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/platform_info.rb:96:in `ruby_command'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/native_support.rb:167:in `block (2 levels) in compile'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/native_support.rb:166:in `chdir'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/native_support.rb:166:in `block in compile'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/native_support.rb:160:in `each'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/native_support.rb:160:in `each_with_index'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/native_support.rb:160:in `compile'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/native_support.rb:138:in `compile_and_load'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/native_support.rb:37:in `start'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/lib/phusion_passenger/native_support.rb:205:in `<top (required)>'
  /usr/local/rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
  /usr/local/rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/helper-scripts/rack-preloader.rb:48:in `init_passenger'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/helper-scripts/rack-preloader.rb:126:in `<module:App>'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/helper-scripts/rack-preloader.rb:6:in `<module:PhusionPassenger>'
  /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-4.0.5/helper-scripts/rack-preloader.rb:5:in `<main>'

The default ruby is: /opt/ruby-enterprise-1.8.7-2012.02/bin/ruby

And the application who i am trying to start use: /usr/local/rvm/rubies/ruby-1.9.3-p429/bin/ruby

Leonardo S. Meira

unread,
Jun 24, 2013, 2:05:22 PM6/24/13
to phusion-...@googlegroups.com
The problem was solved!

The path of the interpreter was wrong!

To troubleshoot, I did the following steps:


# rvm install 1.9.3
# rvm use 1.9.3
#gem install passenger
#passenger-install-apache2-module



To verify the correct path of ruby:
#passenger-config --ruby-command


Correct Path:

/usr/local/rvm/wrappers/ruby-1.9.3-p429/ruby



Reply all
Reply to author
Forward
0 new messages