2012-03-04 73 views
1

我可以通過管理平臺成功的WEBrick運行,但我得到以下錯誤:管理平臺上的Apache不能與Apache找到機架

 
/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) 

我使用的是捆綁。
RVM信息

 
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:  "" 

這裏的寶石列表:

 
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) 

有什麼不對?

+1

也許不同的Ruby安裝? – 2012-03-04 11:37:44

+0

@Niklas B.:但我只有一顆紅寶石。 /usr/local/rvm/rubies/ruby-1.8.7-p358/lib/ruby – user121196 2012-03-04 12:00:36

+0

在這種情況下,你的庫路徑會出現混亂。 – 2012-03-04 12:01:22

回答

2

您正在使用rvm,但是Apache?

如果您已經從存儲庫安裝Redmine,那麼肯定會使用某種使用您的系統Ruby的CGI或Apache模塊。

首先,您必須確定redmine的運行方式,CGI,乘客,獨角獸等。然後,您會找到正在使用哪個Ruby併爲該ruby安裝rack

希望它有幫助!

1

當我設置了我自己的服務器,Ruby on Rails的第一次,我忘了設置apache的虛擬主機...而不是PHP,Ruby的需要爲託管的每個項目一個虛擬主機...

你也可以使用乘客......順便說一下,即使你不使用它,你也可以在網站上找到很多信息。 http://www.modrails.com/

2

我使用apache通過RVM和乘客成功運行Redmine。我推薦它。

如果您通過RVM安裝乘客,創建用戶「乘客」,以「乘客」身份登錄,安裝RVM,使用RVM安裝Ruby,創建gemset redmine並使[email protected]成爲默認的ruby和gem組。

接下來,將Redmine所需的乘客和其他寶石安裝到紅寶石和寶石上。 最後,運行passenger-install-apache2-module爲apache創建並安裝乘客模塊。當您運行安裝程序,它發出的配置是這樣的Apache:

LoadModule passenger_module /home/passenger/.rvm/gems/[email protected]/gems/passenger-3.0.11/ext/apache2/mod_passenger.so 
PassengerRoot /home/passenger/.rvm/gems/[email protected]/gems/passenger-3.0.11 
PassengerRuby /home/passenger/.rvm/wrappers/[email protected]/ruby 

的包裝爲PassengerRuby正確選擇紅寶石和寶石。

除了模塊配置,您需要主機配置。在我的情況下,我使用SSL,所以我的VirtualHost配置如下所示:

<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.. 
.... 

它的工作完美無瑕。我在FreeBSD 9.0上運行它,但你可以做得非常類似。