1
votes

I can run redmine via webrick successfully, however with apache I get the following error:

/var/www/vhosts/redmine/public/../config/../vendor/rails/railties/lib/initializer.rb:271:in `require_frameworks': Could not find rack (~> 1.1.0) amongst [] (RuntimeError)

I'm using bundler.
rvm info

rvm info

system:

  system:
    uname:       "Linux 64-150-188-18.phx.dedicated.codero.com 2.6.18-164.9.1.el5 #1 SMP Tue Dec 15 20:57:57 EST 2009 x86_64 x86_64 x86_64 GNU/Linux"
    bash:        "/bin/bash => GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)"
    zsh:         " => not installed"

  rvm:
    version:      "rvm 1.10.3 by Wayne E. Seguin , Michal Papis  [https://rvm.beginrescueend.com/]"
    updated:      "6 days 20 hours 58 minutes 48 seconds ago"

  homes:
    gem:          "not set"
    ruby:         "not set"

  binaries:
    ruby:         ""
    irb:          ""
    gem:          ""
    rake:         "/usr/local/rvm/bin/rake"

  environment:
    PATH:         "/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.6.0_17/bin:/usr/local/rvm/bin:/root/bin"
    GEM_HOME:     ""
    GEM_PATH:     ""
    MY_RUBY_HOME: ""
    IRBRC:        ""
    RUBYOPT:      ""
    gemset:       ""

here's gem list:

actionmailer (2.3.14)
actionpack (2.3.14)
activerecord (2.3.14)
activeresource (2.3.14)
activesupport (2.3.14)
bundler (1.0.22)
coderay (0.9.8)
daemon_controller (1.0.0)
fastthread (1.0.7)
hoe (2.15.0)
i18n (0.4.2)
mysql (2.8.1)
passenger (3.0.11)
rack (1.1.3)
rails (2.3.14)
rake (0.9.2, 0.8.3)
RedCloth (4.2.9)
rubygems-update (1.7.2, 1.7.0)
rubytree (0.5.2)

what's wrong?

4
Maybe different Ruby installations?Niklas B.
@Niklas B.:but I only have one ruby. /usr/local/rvm/rubies/ruby-1.8.7-p358/lib/rubyuser121196
In that case somehow your library path got messed up.Niklas B.
are you using gemsets or bundler? what does rvm info say?phoet
do both ruby script/server and bundle exec ruby script/server give the same error?alony

4 Answers

2
votes

You're using rvm, but is Apache?

If you've installed Redmine from a repository than it will certainly be using some sort of CGI or Apache module that uses your system Ruby.

First, you must determine how redmine is run, CGI, Passenger, Unicorn, etc. Then, you find which Ruby is being used and install rack for that ruby.

Hope it helps!

2
votes

I'm running Redmine with apache via RVM and passenger successfully. I recommend it.

If you install passenger via RVM, create user "passenger", login as "passenger", install RVM, install Ruby using RVM, create gemset redmine and make ruby-1.8.7-p358@redmine as default ruby and gem set.

Next, install passenger and other gems needed for Redmine onto the ruby and gemset. Finally, run passenger-install-apache2-module to create and install passenger module for apache. When you run the installer, it emits configuration for apache like this:

LoadModule passenger_module /home/passenger/.rvm/gems/ruby-1.8.7-p358@redmine/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /home/passenger/.rvm/gems/ruby-1.8.7-p358@redmine/gems/passenger-3.0.11
PassengerRuby /home/passenger/.rvm/wrappers/ruby-1.8.7-p358@redmine/ruby

The wrapper for the PassengerRuby correctly select ruby and gemset.

In addition to module config, you need host config. In my case, I'm using SSL, so my VirtualHost config goes like:

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName rm.somewhere.someplace.org
    DocumentRoot /var/www/root
    <Directory /var/www/root>
        allow from all
    </Directory>

    <Directory /var/www/root/redmine>
        RailsBaseURI /redmine
        RailsEnv production
        Options -MultiViews
    </Directory>

    # log config follows..
....

It's working flawlessly. I'm running this on FreeBSD 9.0, but you can do very similarly.

1
votes

When I've set up my own server for ruby on rails the first time I forget to set the apache's virtualHost... instead of php, ruby need to have a virtualhost for each project hosted...

You can use passenger too... by the way, you'll find lot of information on the website evenif you don't use it. http://www.modrails.com/

0
votes

The problem is resolved, I found this guide helpful: http://www.redmine.org/projects/redmine/wiki/HowTo_install_Redmine_on_CentOS_5

specifically I missed a step in passenger-install-apache2-module and I didn't modify apache httpd.conf to load the module.