Ruby on rails apache上的redmine找不到rack

Ruby on rails apache上的redmine找不到rack,ruby-on-rails,ruby,rack,redmine,Ruby On Rails,Ruby,Rack,Redmine,我可以通过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) 我用的是bundler。 rvm信息 以下是宝石清单: actio

我可以通过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) 我用的是bundler。 rvm信息

以下是宝石清单:

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) 怎么了?

您使用的是rvm,但Apache是吗

如果您从存储库安装了Redmine,那么它肯定会使用某种使用Ruby系统的CGI或Apache模块

首先,您必须确定redmine是如何运行的、CGI、Passenger、Unicorn等等。然后,您找到正在使用的Ruby并为该Ruby安装机架

希望有帮助

您正在使用rvm,但Apache是吗

如果您从存储库安装了Redmine,那么它肯定会使用某种使用Ruby系统的CGI或Apache模块

首先,您必须确定redmine是如何运行的、CGI、Passenger、Unicorn等等。然后,您找到正在使用的Ruby并为该Ruby安装机架


希望有帮助

当我第一次为ruby on rails设置自己的服务器时,我忘记了设置apache的虚拟主机。。。ruby需要为托管的每个项目提供一个virtualhost,而不是php


你也可以用乘客卡。。。顺便说一句,即使你不使用它,你也会在网站上找到很多信息

当我第一次为ruby on rails设置自己的服务器时,我忘记了设置apache的虚拟主机。。。ruby需要为托管的每个项目提供一个virtualhost,而不是php


你也可以用乘客卡。。。顺便说一句,即使你不使用它,你也会在网站上找到很多信息

我正在通过RVM和乘客成功地使用apache运行Redmine。我推荐它

如果您通过RVM安装passenger,请创建用户passenger,以passenger身份登录,安装RVM,使用RVM安装Ruby,创建gemset redmine并制作Ruby-1.8.7-p358@redmine作为默认的ruby和gem集

接下来,在ruby和gemset上安装Redmine所需的乘客和其他gems。 最后,运行passer-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上运行这个,但是你可以做得非常类似。

我正在通过RVM和passenger成功地使用apache运行Redmine。我推荐它

如果您通过RVM安装passenger,请创建用户passenger,以passenger身份登录,安装RVM,使用RVM安装Ruby,创建gemset redmine并制作Ruby-1.8.7-p358@redmine作为默认的ruby和gem集

接下来,在ruby和gemset上安装Redmine所需的乘客和其他gems。 最后,运行passer-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上运行此功能,但您也可以执行类似的操作。

问题解决后,我发现此指南非常有用:


具体来说,我错过了passenger-install-apache2-module中的一个步骤,并且我没有修改apache httpd.conf来加载模块。

问题解决后,我发现本指南很有帮助:


具体来说,我错过了passenger-install-apache2-module中的一个步骤,并且我没有修改apache httpd.conf来加载该模块。

可能是不同的Ruby安装?@Niklas B.:但我只有一个Ruby/usr/local/rvm/rubies/ruby-1.8.7-p358/lib/rubyn在这种情况下,您的库路径被搞砸了。您使用的是gemest还是bundler?rvm信息怎么说?ruby脚本/服务器和bundle exec ruby脚本/服务器是否都给出了相同的错误?可能是不同的ruby安装?@Niklas B:但我只有一个ruby/usr/local/rvm/rubies/ruby-1.8.7-p358/lib/rubyn在这种情况下,您的库路径被搞砸了。您使用的是gemest还是bundler?rvm信息怎么说?ruby脚本/服务器和bundle exec ruby脚本/服务器是否都给出了相同的错误?