Как использовать другой Ruby для другого веб-приложения? Ошибка Redmine

Как использовать другой Ruby для другого веб-приложения? Ошибка Redmine

Я пытаюсь установить новую версию redmine на свой сервер. Сейчас у меня redmine 1.3.2, а я установил 2.4.3

Но пассажир не может открыть мое приложение, и я получаю эту ошибку: Ошибка Redmine

У меня случайно установлены разные 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

поэтому я попытался запустить другой ruby, определенный в моем apache2. Используя официальное руководство от Passenger. Но когда я помещаю в свой apache эту строку:

PassengerRuby /path/to/my/ruby

Я получаю сообщение об ошибке «PassengerRuby не может быть установлен здесь»

Как мне использовать мой ruby ​​2.0.0 для нового redmine? Теперь он указывает на версию 1.8, как на предоставленном скриншоте

решение1

Я столкнулся с похожей проблемой (хотя и не с Redmine, а на CentOS 6). Я хотел перейти на использование Ruby 2.3.0 на моем производственном сервере для моего приложения. Вот некоторые шаги, которые я предпринял:

Установить рубин 2.3.0:

rvm install 2.3.0

Установите его по умолчанию. Примечание: запустите его как root/administrator.

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 и ваше приложение.

Связанный контент