我正在尝试在我的服务器上安装新版本的 redmine。目前我有 redmine 1.3.2,并且安装了 2.4.3
但是乘客无法打开我的应用程序,并且出现此错误:
我意外安装了不同的 ruby。但我不想改变它,因为其他应用程序正在使用 ruby,我不想搞砸任何事情。
现在我的 RVM 说我使用的 ruby 是版本 2.0.0 (使用RVM LIST
)
如果我追求的which -a ruby
输出是这样的:
/home/me/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
/home/me/.rvm/bin/ruby
/usr/bin/ruby
所以我尝试运行我 apache2 中定义的不同 ruby。使用来自 Passenger 的官方指南。但是当我在 apache 中输入以下行时:
PassengerRuby /path/to/my/ruby
我收到错误“PassengerRuby 不允许在此处设置”
我该如何在新版 redmine 中使用 ruby 2.0.0?它现在指向 1.8 版本,如提供的屏幕截图所示
答案1
我遇到了类似的问题(虽然不是使用 redmine,而是在 CentOS 6 上)。我想在我的生产服务器上为我的应用程序切换到使用 ruby 2.3.0。以下是我采取的一些步骤:
安装 ruby 2.3.0:
rvm install 2.3.0
将其设置为默认值。注意:以 root/管理员身份运行。
rvm use --default 2.3.0
安装最新的乘客:
gem install passenger
安装了乘客 apache2 模块:
pasenger-install-apache2-module
模块安装脚本提供了放入 Apache 配置的代码,对我来说看起来像这样:
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.29/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.29
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.3.0/wrappers/ruby
</IfModule>
我将其放在我的 /etc/httpd/conf.d/passenger.conf 文件中,但也可以将其放在特定应用程序的 apache 配置文件中。pasenger-install-apache2-module 安装脚本实际上会在您编辑配置文件后对其进行检查,并通知您是否发现任何问题。
然后重新启动 apache 以及您的应用程序。