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