Назад | Перейти на главную страницу

Проблема с установкой Apache / Mongrel / Redmine (VirtualHost / ProxyPass)

Я устанавливаю Redmine согласно этой пошаговой инструкции: http://justnotes.co.cc/2010/02/11/how-to-install-redmine-on-ubuntu/

Я использую Ubuntu 10.04.1, Apache 2.2.14, Mongrel 1.1.5.

На этапе настройки VirtualHost я использую это:

<VirtualHost *:80>
    ServerName myserver.lv

    ProxyPass /redmine/ http://localhost:8000/
    ProxyPassReverse /redmine/ http://localhost:8000
    ProxyPreserveHost on

    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
</VirtualHost>

Но когда я направляю свой браузер на http://<my-server's-ip>/redmine/ я вижу не веб-приложение redmine, а «Index of / redmine» с индексом файлов из корневого каталога Redmine.

Есть идеи, как это исправить?

P.S. Пытался полностью удалить материал VirtualHost и вместо этого добавить следующие простые предложения в apache2.conf:

<Proxy *>
    Order allow,deny
    Allow from all
</Proxy>

ProxyPass /redmine/ http://localhost:8000/
ProxyPassReverse /redmine/ http://localhost:8000/

ProxyPreserveHost on

В результате поведение меняется! Сейчас http://<my-server's-ip>/redmine/ создает исходный код стартовой страницы Redmine, поэтому он обслуживается, но не отображается. В то же время еще, http://<my-server's-ip>:8000/ работает отлично, поэтому Mongrel обслуживает приложение Redmine должным образом, просто что-то не так с моими предложениями VirtualHost / proxying в файле .conf.

Когда вы определяете виртуальный хост, вы должны использовать данный ServerName в вашем браузере. В противном случае Apache отобразит виртуальный хост по умолчанию (который может быть или не быть тем, который вам нужен). Итак, вы должны подключиться к http://myserver.lv/redmine/ вместо того http://<your-server's-ip>/redmine/.

Я не уверен, зачем доставляется исходный код. Прокси-сервер может заменить Content-type заголовок, но это было бы странно.

Вы можете рассмотреть Пассажир Phusion. Его очень легко установить и настроить, и вам не придется управлять дополнительным процессом Mongrel.

Ваша конфигурация Apache будет выглядеть так:

<VirtualHost *:80>
  ServerName myserver.lv
  DocumentRoot /path_to_redmine/public
</VirtualHost>