Появилась необходимость установить RoR на CentOS. Поскольку в стандартных репозиториях CentOS ruby не первой свежести, пришлось изгаляться. Для установки нужной версии ruby будем использовать rvm (Ruby version manager).
Установка довольно простая:
yum install git curl groupadd rvm curl -L https://get.rvm.io | bash -s stable
Собственно rvm установлен. Далее, нужно добавит пользователей, которые будут работать с rvm в соответствующую группу.
usermod -aG rvm username
Перелогиниться в систему и выполнить
source /etc/profile.d/rvm.sh
На этом этапе, можно посмотреть список известных версий ruby и выбрать нужную для установки:
rvm list known
В моем случае последняя стабильная версия 1.9.2. Устанавливаем, и назначаем версией по умолчанию.
rvm install 1.9.2 rvm --default use 1.9.2
Убеждаемся, что стоит нужная версия:
ruby -v ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
Далее устанавливаем рельсы и пассажира:
gem install rails passenger
Далее приступаем к установке passenger для работы с apache2. Весь процесс заскриптован, поэтому вам нужно лишь установить некоторые зависимости и запустить скрипт установки:
yum install gcc-c++ curl-devel zlib-devel httpd-devel apr-devel apr-util-devel -y passenger-install-apache2-module
После успешной сборки, добавляем в конфиг апача строки для загрузки модуля и его настройки (смотрите подсказку скрипта нисталляции), у меня это выглядело примерно так:
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.8/ext/apache2/mod_passenger.so PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.8 PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p290/ruby
И рестартуем apache стандартно:
service httpd restart
Далее деплоим приложение, как описано в документации:
Suppose you have a Rails application in /somewhere. Add a virtual host to your Apache configuration file and set its DocumentRoot to /somewhere/public: <VirtualHost *:80> ServerName www.yourhost.com DocumentRoot /somewhere/public # <-- be sure to point to 'public'! <Directory /somewhere/public> AllowOverride all # <-- relax Apache security settings Options -MultiViews # <-- MultiViews must be turned off </Directory> </VirtualHost>
Использованные материалы:
http://blog.jeffcosta.com/2010/09/24/installing-phusion-passenger-on-centos-5-5/
http://blog.blenderbox.com/2011/01/07/installing-rvm-ruby-rails-passenger-nginx-on-centos/
https://rvm.beginrescueend.com/rvm/install
Вот и вся наука.
спасибо, для debian тоже подошло