Установка Apache Passenger для Ruby

less than 1 minute read

Небольшая заметка о том, как установить Apache passenger на CentOS для работы с Ruby. Полагаю, что следующие пакеты у Вас установлены:

  • ruby-mysql
  • rubygems
  • ruby-libs
  • ruby-irb
  • ruby

Ruby Passenger ставится вот так:

gem install passenger --version 3.0.12

Опционально версию можно убрать.Тогда установится последняя доступная версия пакета.

Если у Вас не установлены devel пакеты, gem установщик выплюнет вот такую ошибку:

mkmf.rb can\'t find header files for ruby at /usr/lib/ruby/ruby.h

Выполняем:

yum -y install gcc mysql-devel ruby-devel

Возвращаемся на шаг назад.

Для установки модуля Apache выполним вот такую команду:

passenger-install-apache2-module

В самом начале он проверяет присутствуют ли в системе нужные библиотеки. В результате получаете вот такое сообщение:
Screenshot from 2014-05-07 10:11:29

Жмем Enter и получаем предполагаемые фиксы:
Screenshot from 2014-05-07 10:11:42

Ставим недостающие пакеты:

yum -y install gcc-c++ curl-devel zlib-devel httpd-devel apr-devel apr-util-devel

Снова запускаем:

passenger-install-apache2-module

В концу получаем вот такое сообщение:
Screenshot from 2014-05-07 10:15:03

Теперь создаем файл /etc/httpd/conf.d/ruby-passenger.conf со следующим содержанием (имя файла можно выбрать на свое усмотрение) :

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12
PassengerRuby /usr/bin/ruby