我可以通过webrick成功运行redmine,但是使用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 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: ""
这是宝石列表:
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)
出了什么问题?
答案 0 :(得分:2)
您使用的是rvm
,但是Apache?
如果您从存储库安装了Redmine
,那么肯定会使用某种使用您的系统Ruby的CGI或Apache模块。
首先,您必须确定redmine的运行方式,CGI,Passenger,Unicorn等。然后,您会找到正在使用的Ruby并为该ruby安装rack
。
希望它有所帮助!
答案 1 :(得分:2)
我正在通过RVM和乘客成功运行带有apache的Redmine。我推荐它。
如果您通过RVM安装乘客,请创建用户“passenger”,登录为“passenger”,安装RVM,使用RVM安装Ruby,创建gemset redmine
并默认使用ruby-1.8.7-p358@redmine红宝石和宝石套装。
接下来,将Redmine所需的乘客和其他宝石安装到红宝石和宝石上。
最后,运行passenger-install-apache2-module
为apache创建和安装乘客模块。当您运行安装程序时,它会发出apache的配置,如下所示:
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
PassengerRuby的包装正确选择ruby和gemset。
除模块配置外,还需要主机配置。就我而言,我正在使用SSL,因此我的VirtualHost配置如下:
<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..
....
它完美无缺。我在FreeBSD 9.0上运行它,但你可以做同样的事情。
答案 2 :(得分:1)
当我在rails上为ruby设置我自己的服务器时,我第一次忘记设置apache的virtualHost ...而不是php,ruby需要为每个托管的项目都有一个虚拟主机...
你也可以使用乘客......顺便说一下,即使你不使用它,你也可以在网站上找到很多信息。 http://www.modrails.com/
答案 3 :(得分:0)
问题已解决,我发现本指南很有用:http://www.redmine.org/projects/redmine/wiki/HowTo_install_Redmine_on_CentOS_5
具体而言,我错过了passenger-install-apache2-module中的一个步骤,我没有修改apache httpd.conf来加载模块。