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

Установка пути Redmine

Как я могу указать путь, по которому должен запускаться Redmine, например example.com:3000/redmine вместо того example.com:3000? На панели настроек есть опция с соответствующим названием, но, согласно документации и экспериментальным наблюдениям, она служит другой цели (она используется для записи URL-адреса в электронных письмах, отправляемых пользователям).

Более широкая картина: мне это нужно, чтобы правильно обслуживать Redmine на 80-м порту через Apache mod_proxy (т.е. example.com/redmine). Проблема в том, что при запуске на /, домашняя страница не может загрузить необходимые ресурсы (например, файлы JavaScript и CSS). Есть обходные пути?

Я использовал модуль Proxy-HTML:

    ProxyPass /redmine http://example.com:3000
    ProxyHTMLURLMap http://example.com:3000 /redmine
    <Location /redmine>
        ProxyPassReverse http://example.com:3000
        SetOutputFilter proxy-html
        ProxyHTMLURLMap /               /redmine/
        ProxyHTMLURLMap /redmine/       /redmine
    </Location>

Использование выходных фильтров - плохая идея, потому что я не могу работать везде.

Лучшей идеей было бы проинструктировать ваш сервер приложений (ублюдок, тонкий и т.д.) сообщать Rails базовый URL-адрес, по которому развернуто приложение. Таким образом, Rails может напрямую генерировать правильные ссылки. Это можно сделать, добавив --prefix /redmine к параметрам app-server.

в cluster.xml файл, используемый mongrel_cluster, то же самое можно сделать, вставив

prefix: /redmine

внутрь. (по крайней мере, я считаю, что этот синтаксис правильный)