w3hello.com logo
Home PHP C# C++ Android Java Javascript Python IOS SQL HTML videos Categories
VPS apache config - Invalid command 'PassengerDefaultRuby' after adding latest passenger gem

Got it!

you need to have a default ruby assigned at root level, the other ones you'll set in sites-enabled configuration files. For example, in my apache2.conf file:

   LoadModule passenger_module
/usr/local/rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.19/buildout/apache2/mod_passenger.so
   PassengerRoot /usr/local/rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.19
   PassengerDefaultRuby /usr/local/rvm/wrappers/ruby-2.0.0-p247/ruby

then in /etc/apache2/sites-enabled/mysite that fires up the app that should work in ruby-1.9.3 I'll add PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby:

<VirtualHost xxx.xx.xx.xx:80>
  PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby
  ServerName mysite.md
  DocumentRoot /home/apps/myapp/public
  <Directory /home/apps/myapp>
     AllowOverride None
     Options -MultiViews
  </Directory>
</VirtualHost>

for the app that works with ruby-2.0 no need to add PassengerRuby option as ruby-2.0 is the default one now.

Also if you have other rvm passenger modules loaded in apache2.config file, like in my case I had:

#   LoadModule passenger_module
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.18/ext/apache2/mod_passenger.so
#   PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.18
#   PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby

you'll need to remove them or comment them as I did, as you'll load the ruby version in /etc/apache2/sites-enabled/mysite config file.

note!

This will only work on passenger > 4.0.0. I have tested this on passenger-3.0.8 and it does not work. Note that PassengerDefaultRuby was introduced in passenger version 4.0.0, see modrails.com/documentation/….





© Copyright 2018 w3hello.com Publishing Limited. All rights reserved.