Как использовать другой Ruby для другого веб-приложения? Redmine ошибка
Я пытаюсь установить новую версию Redmine на моем сервере. Прямо сейчас у меня есть Redmine 1.3.2, и я установил 2.4.3
Но пассажир не может открыть мое приложение, и я получаю эту ошибку:
У меня разные рубины установлены случайно. Но я не хочу его менять, так как другие приложения используют 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, а также ваше приложение.