I na produkcji ma jechać na mongrelu ? Świetna rada ^^
Jeżeli zadowoli Cię mongrel to nie czytaj dalej oczywiście…
Dla dobra dalszej dyskusji, nie będę rozważał wyższości marchewki nad pietruszką. Jeżeli komuś rozwiązanie passenger + ree nie pasuje bo kilka gemów jakiś matoł źle napisał trudno… wasza wola. Po konfiguracji 100 domen dla czegoś w rodzaju mongrel + apache proxy i napisaniu tony kodu który to wszystko po każdym resecie stawia… może ktoś zrozumie, że nie tędy droga…
tak więc rozwiązanie które działa, powinno wyglądać tak od strony root-a:
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.8.7 (2010-04-19 patchlevel 253) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/local/rvm/gems/ree-1.8.7-2010.02
- RUBY EXECUTABLE: /usr/local/rvm/rubies/ree-1.8.7-2010.02/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ree-1.8.7-2010.02/bin
- RUBYGEMS PLATFORMS:
- GEM PATHS:
- /usr/local/rvm/gems/ree-1.8.7-2010.02
- /usr/local/rvm/gems/ree-1.8.7-2010.02@global
Teraz, jak to osiągnąć… (od zawsze używam Debiana, więc ubuntu w którymś miejscu może się różnić… ale liczę na to że tak nie jest jakowoż są podobne
)
przypominam że jesteśmy na koncie root…
Krok pierwszy… zainstaluj RVM tak jak to jest powiedziane … http://rvm.beginrescueend.com/rvm/install/ … i dojdź do cholernego kroku “type rvm | head -n1” aby rvm zwracał komunikat “rvm is a function” … mała rzecz a cieszy, bo nie ma później problemów
krok drugi… z poziomu systemu zainstaluj cruby 1.8.7 (tak potrzebne jest do poprawnego zainstalowania ree bo sam instalator ree jest w ruby)
krok trzeci… z poziomu rvm zainstaluj cruby 1.8.7 (tak dla świętego spokoju)
krok czwarty… wybierz w rvm zainstalowanego rubiego
krok piąty… zainstaluj REE (rvm install ree) [jeżeli gdzieś się wysypie, znaczy że nie masz czegoś w systemie… czego… pisz będziemy analizowali]
Krok szósty… zmien sie na ree [rvm ree]
krok siódmy … rvm list (upewnij sie ze ree jest aktywnie wybrane poprzez rvm)
krok ósmy… rvm install passenger
krok osiem i pół … gem list (upewnij sie czy ten passenger jest)
krok dziewiąty … passenger-install-apache2-module [ na tym etapie zawsze coś nie gra, zobacz dokładnie co mówi instalator, jeżeli brakuje mu pewnych bibliotek musisz je dograć i uruchomić to polecenie raz jeszcze] (wiecej tutaj http://articles.slicehost.com/2008/5/1/ubuntu-hardy-mod_rails-installation)
krok dziesiąty… nie należy słuchać instalki passenger-a i wyedytować(dodać na koniec) apache2.conf w inny sposób mianowicie:
LoadModule passenger_module /usr/local/rvm/gems/ree-1.8.7-2010.02/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ree-1.8.7-2010.02/gems/passenger-2.2.15
PassengerRuby /usr/local/bin/passenger_ruby
!ścieżki pewnie będą się różniły… ale wiesz czego szukać w systemie
pozostaje konfiguracja VH o której było we wcześniejszych postach i reset apache
… jeszcze raz uczulam na chown ! jeżeli aplikacja rails 3 bedzie miala za szerokie prawa lub za wąskie to sypie irracjonalnymi błędami (nie wiem dlaczego tak jest, ale na 2.3.5 nie doświadczyłem takiego zachowania. Zawsze railsy informowały jasno że coś nie tak z uprawnieniami… myślę, że za to odpowiedzialny bezpośrednio jest bundler)
więc przyda się chown www-data:www-data -R katalogRails (po synchronizacji z git lub innego repo warto dodać to do rake task)
no i powinno śmigać…
jeżeli gdzieś będzie coś nie grało to pisz… damy rade 
pozdrawiam
Piotr Mąsior
ps. powodzenia