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

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

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

У меня разные рубины установлены случайно. Но я не хочу его менять, так как другие приложения используют 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. Используя официальное руководство от пассажира. Но когда я размещаю в моем apache эту строку:

PassengerRuby /path/to/my/ruby

Я получаю ошибку "PassengerRuby не разрешено устанавливать здесь"

Как я могу использовать свой ruby ​​2.0.0 для нового redmine? Теперь он указывает на версию 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, а также ваше приложение.

Другие вопросы по тегам