user121196
user121196

Reputation: 30990

redmine on apache can't find rack

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?

Upvotes: 1

Views: 1927

Answers (4)

user121196
user121196

Reputation: 30990

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.

Upvotes: 0

shigeya
shigeya

Reputation: 4912

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.

Upvotes: 2

user731322
user731322

Reputation:

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/

Upvotes: 1

kwarrick
kwarrick

Reputation: 6190

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!

Upvotes: 2

Related Questions