-
mod_passenger i Ruby Enterprise Edition w CentOS
Co raz więcej ludzi posługuje się rubym- obiektowym językiem programowania, który dobrze nadaje się do rozbudowanych, często odwiedzanych serwisów internetowych wymagających skalowalności. Niestety to co dla programistów jest przyjemnością i wygodą, dla administratorów stanowi często nie lada problem. Czas zabrać się do instalacji.
Pobieramy ze strony Ruby Enterprise Edition http://www.rubyenterpriseedition.com/download.html.wget http://rubyforge.org/frs/download.php/71096/ruby-enterprise-1.8.7-2010.02.tar.gz
Rozpakowujemy pobraną paczkę
tar xvsf ruby-enterprise-1.8.7-2010.02.tar.gz
Instalujemy w naszym systemie następujące pakiety: ruby, readline-devel, httpd-devel, curl-devel, git, gcc, gcc-c++, sqlite-devel, patch.
yum install ruby readline-devel httpd-devel curl-devel git gcc gcc-c++ sqlite-devel patch
Uruchamiamy instalację wchodząc do katalogu, gdzie rozpakowały nam się źródła i uruchamiamy instalator
cd ruby-enterprise-1.8.7-2010.02
./installer
Postępujemy zgodnie z poleceniami wyświetlającymi się w konsoli. W omawianym przypadku domyślnym katalogiem docelowym będzie „/opt/ruby-enterprise-1.8.7-2010.02”, ale można go oczywiście zmienić w trakcie instalacji. Po zakończeniu instalacji rubiego, należy uruchomić skrypt „passenger-install-apache2-module” znajdujący się w katalogu „bin” folderu gdzie zainstalowaliśmy omawiany produkt, tj. u nas „/opt/ruby-enterprise-1.8.7-2010.02/bin”. Następnie zakładamy plik „ruby.conf” w lokalizacji „/etc/httpd/conf.d” o treści:
LoadModule passenger_module /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/passenger-3.0.2/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/passenger-3.0.2
PassengerRuby /opt/ruby-enterprise-1.8.7-2010.02/bin/ruby
Zapisujemy i restartujemy Apache.
service httpd restart
Moduł mod_passenger powinien załadować się wraz z naszym serwerem www. Można to łatwo sprawdzić, przy pomocy strony testowej php, wykorzystującej funkcję „phpinfo”. Nie jest to oczywiście kompletne przygotowanie serwera do obsługi stron napisanych w rubym. W kolejnych tutorialach postaram się przybliżyć ten żmudny proces.
Czy to jest jedyny sposob na odpalenie apacza z rubym?
Czy w repo nie istnieją jekieś moduły ruby do apache?
Niestety nie ma modułu passenger w repozytoriach. Można jeszcze odpalić pomocnicze webservery pod rubiego np. mongrel lub thin, a apacha używać jako proxy.