Я только что завершил новую установку Ubuntu Server и по умолчанию выбрал пакет LAMP.
Протестировал, и он отлично работает со сценариями PHP, но теперь я хочу иметь возможность запускать RubyOnRails на той же установке Apache.
Как я могу сделать это через интерфейс командной строки?
Большое спасибо!
Я бы определенно использовал Пассажир для этого. Его легко настроить и запустить, и он хорошо работает. Passenger заботится о порождении и уничтожении дочерних процессов Rails для обработки входящих запросов.
Пассажирский модуль, поставляемый Ubuntu, в порядке, но немного отстает. Более свежий пакет доступен при установке из полуофициального репозитория. В соответствии с Страница установки пассажира:
Добавьте следующую строку в Источники стороннего программного обеспечения:
deb http://apt.brightbox.net lucid main
(Самый простой способ сделать это - создать файл в /etc/apt/sources.list.d/, содержащий инструкцию deb, а затем запустить 'apt-get update').
Как только вы это сделаете, вы можете установить Phusion Passenger, запустив:
apt-get install libapache2-mod-passenger
Я думаю, что установщик автоматически включает модуль и перезапускает Apache, но если нет, вам следует сделать это самостоятельно.
Проверьте руководство на как развернуть приложение Rails, но вы обнаружите, что это очень просто:
<VirtualHost *:80>
ServerName www.mycook.com
DocumentRoot /webapps/mycook/public
<Directory /webapps/mycook/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
Еще я бы посоветовал посмотреть беговые Ruby Enterprise Edition (ree) - модифицированный интерпретатор Ruby, созданный той же командой, что и Passenger, с уменьшенным использованием памяти примерно на 33%. Он хорошо протестирован и на 100% совместим с Ruby 1.8.7. Вы найдете множество людей, запускающих его на производственных серверах.
Удивительно, но хороших HOWTO по этому поводу не так много.
Среди списка, который появляется в Google, вероятно, хорош только верхний пункт: http://www.google.com/search?q=rails+on+ubuntu+10.10
Другие предметы касаются RVM - Я не использовал его, и это кажется ненужным, если у вас есть Драгоценные камни.
Если вам нужно, чтобы он работал через Apache, вам нужно использовать Пассажир - при нажатии на Установить Passenger сейчас есть хороший HOWTO по настройке Apache mod_rails через Драгоценные камни.
На официальной странице развертывания Rails в качестве первого варианта указан Passenger (он же mod_rails): http://rubyonrails.org/deploy
Вам нужно использовать гем пассажира или вы можете использовать mod_proxy для создания прокси-сервера для вашего бэкэнда в Rails. В этом случае вы можете запускать Rails с помощью thin или unicorn.