简体   繁体   中英

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?

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!

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 root@rm.somewhere.someplace.org
    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.

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/

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM