Проблема установки 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.

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

PS Попытался полностью удалить 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.

1 ответ

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

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

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

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

<VirtualHost *:80>
  ServerName myserver.lv
  DocumentRoot /path_to_redmine/public
</VirtualHost>
Другие вопросы по тегам