Настройка Passenger Phusion в Ubuntu 11.04 - PullRequest
4 голосов
/ 23 августа 2011

Я в ярости от любого, кто когда-либо говорил что-либо равносильное тому, что "развертывание ruby ​​в приложениях на рельсах совсем несложно".Нет, это не так.Это самая трудная вещь, которую мне когда-либо приходилось делать, и я разрабатываю операционные системы.

Вот так.Теперь, когда это вышло.Я, наконец, установил пассажиров (используя процесс установки басов) и установщик сказал:

Пожалуйста, отредактируйте ваш файл конфигурации apache и добавьте следующие строки:

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p290@rails-3.0.1/gems/passenger-3.0.8/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p290@rails-3.0.1/gems/passenger-3.0.8
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p290@rails-3.0.1/ruby

Предположим, у вас есть Railsприложение в / где-то.Добавьте виртуальный хост в ваш файл конфигурации Apache и установите его DocumentRoot в /where / 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>

Я помещаю оба из них в /etc/apache2/apache2.conf, и когда я пытаюсь запустить его,говорит ошибку на какой-либо строке я положил этот мусор.Помощь очень ценится.Я почти там, я чувствую это!

Ник

Ответы [ 2 ]

1 голос
/ 21 сентября 2011

При перезапуске Apache вы получите сообщение об ошибке, если вы включите, дословно, следующее:

AllowOverride all              # <-- relax Apache security settings
Options -MultiViews            # <-- MultiViews must be turned off

Ошибка, которую он выдает:

user@my_server:~/your_site# sudo /etc/init.d/apache restart
Syntax error on line 11 of /etc/apache2/sites-enabled/your_site:
Illegal override option #
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!
root@my_server:~/your_site#

исправить?Удалите следующие комментарии, чтобы они выглядели так:

AllowOverride all
Options -MultiViews

Надеюсь, это поможет!

1 голос
/ 23 августа 2011

После успешной установки модуля Apache 2 выполните следующий набор шагов для настройки Apache.

  1. Создайте следующие два файла в / etc / apache2 / mods-available

    mkdir /etc/apache2/mods-available/passenger.load

вставить следующий код в файл passenger.load

LoadModule passenger_module /usr/lib/ruby/gems/1.9.2(your version)/gems
/passenger-3.0.2/ext/apache2/mod_passenger.so

mkdir /etc/apache2/mods-available/passenger.conf

вставить следующий код в файл passenger.conf

PassengerRoot /usr/lib/ruby/gems/1.9.2/gems/passenger-3.0.2
PassengerRuby /usr/bin/ruby1.9.2

2. Включите модули, создав следующие символические ссылки в / etc / apache2 / mods-enabled

$ ln -s /etc/apache2/mods-available/passenger.load /etc/apache2/mods-enabled/passenger.load
$ ln -s /etc/apache2/mods-available/passenger.conf /etc/apache2/mods-enabled/passenger.conf

3. Теперь создайте виртуальный хост, добавив следующее в файл по умолчанию 000 в /etc/apache2/sites-enabled.

.
<Directory /var/www/your_app>
         RailsBaseURI /your_app
         RailsEnv development
         AllowOverride all
         Options -MultiViews
         allow from all
</Directory>
  1. Теперь создайте программную ссылку вашего приложения, убедитесь, что ваше приложение должно находиться в / opt. Для этого вы можете создать отдельную папку для вашего приложения.

    я. $ sudo mkdir -p / opt / rails_apps

    II. $ sudo cp -R / path / to / your_app / / opt / rails_apps /

    III. $ sudo ln -s / opt / rails_apps / your_app / public / / var / www / your_app

  2. Затем перезапустите apache с помощью следующей команды.

    / etc / init.d / apache2 restart

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...