
내 서버에 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
그래서 나는 apache2에 정의된 다른 루비를 실행하려고 했습니다. 승객의 공식 가이드를 사용합니다. 하지만 아파치에 다음 줄을 넣으면 다음과 같습니다.
PassengerRuby /path/to/my/ruby
"PassengerRuby는 여기에서 설정할 수 없습니다." 오류가 발생합니다.
새로운 레드마인에 Ruby 2.0.0을 어떻게 사용할 수 있나요? 이제 제공된 스크린샷과 같이 1.8 버전을 가리킵니다.
답변1
비슷한 문제가 발생했습니다(Redmine 및 CentOS 6에서는 발생하지 않음). 내 앱의 프로덕션 서버에서 Ruby 2.3.0을 사용하도록 전환하고 싶었습니다. 제가 취한 몇 가지 단계는 다음과 같습니다.
루비 2.3.0을 설치합니다:
rvm install 2.3.0
기본값으로 설정하세요. 참고: 루트/관리자로 실행하세요.
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와 앱을 다시 시작하십시오.