Проблема VirtualHost с пассажиром (mod_rails)

Я в своем уме здесь с виртуальным хостингом. Я пытаюсь установить redmine, и он работает с тестовым сервером webrick, но когда я попытался использовать пассажира (mod_rails) для размещения и перейти по адресу, который я указал, когда в части виртуального хоста моего файла конфигурации apache ничего не происходит. Вот соответствующий раздел /etc/httpd/conf/httpd.conf, где я пытаюсь настроить виртуальный хост:

<VirtualHost *:80>

SetEnv RAILS_ENV production
ServerName redmine.MYSITE.com:80
DocumentRoot /opt/redmine-1.0.5/public/
<Directory /opt/redmine-1.0.5/public/>
    Options -MultiViews
    Allow from all
    AllowOverride none
</Directory>

However, when I got to redmine.MYSITE.com:80 nothing happens, I just get our normal home page. I have no idea what the problem is, any help our guidance would be greatly appreciated. If you need any other information, please tell me and I'll provide it.


person Jake    schedule 27.12.2010    source источник


Ответы (2)


Мне потребовалось некоторое время, чтобы запустить Redmine под Passenger. Это то, что у меня есть

Установить пассажира:

passenger-install-apache2-module

Отредактируйте файл конфигурации Apache:

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

Создайте новый каталог на сервере по умолчанию:

<Directory>
/webserver_root/html/redmine
RailsBaseURI /redmine
AllowOverride all
Options -MultiViews
</Directory>

Наконец, сделайте ссылку на физический каталог, в котором живут ваши ruby-приложения (т.е. НЕ в /html или любом другом каталоге, из которого вы обслуживаете большинство страниц Apache. Это ДОЛЖНА быть ссылка на публичный подкаталог redmine)

ln -s /webserver_root/ruby_apps/redmine/public /webserver_root/html/redmine

Таким образом, Apache теперь пытается показать все общедоступные страницы как обычно, но все остальные страницы маршрутизируются через пассажира. Вы получаете доступ к нему как к подпапке - например. http://mywebserver/redmine

person gbjbaanb    schedule 19.01.2011

Ваша директива VirtualHost *:80 должна совпадать с соответствующей директивой NameVirtualHost *:80 ранее в вашей конфигурации.

Вы можете спросить apache, что он делает с вашими виртуальными хостами, с помощью переключателя -S. Конечно, имя двоичного файла вашего сервера в некоторой степени зависит от того, как он был установлен, и от какой ОС/дистрибутива.

person noodl    schedule 19.01.2011