Инструменты пользователя

Инструменты сайта


ubuntu:apache-passanger-install

passenger_module - Установка

Поскольку установка Ruby on Rails с mod_passenger из репозитория предложит сразу нахрен убрать php5, из-за того, что php5 собрано с apache2-mpm-prefork, ставим mod_passenger через gems, который соберёт его нам под apache2-mpm-prefork.

Ставим Ruby. Всё просто:

sudo apt-get install build-essential ruby-full libruby-extras libsqlite3-ruby rubygems apache2-prefork-dev

Потом ставим Rails:

sudo gem install rails

Чтобы добавленные gems работали нормально, надо добавить путь к ним в PATH. True Ubuntu way таков:

sudo sh -c "echo 'export PATH=/var/lib/gems/1.8/bin:\$PATH' > /etc/profile.d/gem-path-addition.sh"

и перелогиниться.

sudo gem install passenger
sudo -s

Поскольку у рута свой, особенный PATH, то надо ручками дописать отето:

export PATH=/var/lib/gems/1.8/bin:$PATH

Теперь, от рута, запускаем:

passenger-install-apache2-module

Он должен всё найти и собрать нам под наш Апач правильный mod_passenger. В конце он ещё и расскажет, как надо конфигурить апач.

Для загрузки модуля в апач сделаем такое:

sudo sh -c "echo 'LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.9/ext/apache2/mod_passenger.so' > /etc/apache2/mods-available/passenger.load"

sudo sh -c "echo '<IfModule mod_passenger.c>
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.9
PassengerRuby /usr/bin/ruby1.8
</IfModule>
' > /etc/apache2/mods-available/passenger.conf"

sudo a2enmod passenger

sudo /etc/init.d/apache2 restart

Всё, у нас должен получится сервер с mod_passenger.

Теперь протестируем, создадим приложение пустое:

mkdir ~/ror
cd ~/ror
rails my_test_site

в конфиг апача:

Alias /ror/my_test_site /home/solik/ror/my_test_site/public
<Directory /home/solik/ror/my_test_site/public>
RailsEnv development
RailsBaseURI /ror/my_test_site
</Directory>

* To install Apache 2 development headers:

 Please run apt-get install apache2-prefork-dev as root.

* To install Apache Portable Runtime (APR) development headers:

 Please run apt-get install libapr1-dev as root.

* To install Apache Portable Runtime Utility (APU) development headers:

 Please run apt-get install libaprutil1-dev as root.

The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
   PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.11
   PassengerRuby /usr/bin/ruby1.8

Deploying a Ruby on Rails application: an example

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>
ubuntu/apache-passanger-install.txt · Последние изменения: 2017/03/23 21:59 (внешнее изменение)