Конфигурация Apache для установки Redmine в подкаталоге URL - PullRequest
0 голосов
/ 10 августа 2011

У меня проблема с настройкой apache для моего установленного Redmine.

Я успешно установил Redmine (v 1.2.1) в каталог /usr/local/lib/, и он работает. Я хочу настроить apache таким образом, чтобы Redmine был доступен через http://myhost/redmine, пока я установил веб-сайт на основе wordpress в /var/www, привязанном к http://myhost/. Что мне делать?

Здесь моя текущая конфигурация apache (/etc/apache2/sites-enabled/001-redmine):

<VirtualHost *:80>
        ServerName myhost
        DocumentRoot /usr/local/lib/redmine-1.2.1/public
        ServerSignature off

        <Directory />
                Order Deny,Allow
                Deny from all
        </Directory>
        <Directory /usr/local/lib/redmine-1.2.1/public>
                AllowOverride None
                Order allow,deny
                Allow from all
                Options Indexes ExecCGI FollowSymLinks
                Options -MultiViews
        </Directory>
        ErrorLog /var/log/apache2/redmine-error.log
        CustomLog /var/log/apache2/redmine-access.log combined
</VirtualHost>

Спасибо.

Ответы [ 3 ]

0 голосов
/ 10 августа 2011

У меня была такая же проблема некоторое время назад, и я сохранил некоторые записи. Согласно тому, что я выяснил тогда, скрыть Redmine Mongrel за myhost / redmine dir не совсем возможно. Правда, Apache может выступать в качестве шлюза, настроив его следующим образом:

ProxyPass /redmine/ http://myhost:4000/
ProxyPassReverse /redmine http://myhost:4000
ProxyPreserveHost on

Но это будет работать только в том случае, если HTML, возвращаемый Redmine, содержит относительные пути, а не один абсолютный путь. Предположим, что страница Redmine /dir1/whwhat.html ссылается на файл CSS /resources/styles.css. Клиент видит страницу HTML как /redmine/dir1/whwhat.html. Если ссылка CSS является относительной, клиент запрашивает /redmine/css/styles.css, и Apache направит ее прокси-серверу как /css/styles.css. Однако если ссылка является абсолютной, клиент запрашивает /css/styles.css, и Apache не будет выступать в качестве прокси-сервера для этого. Конец истории.

NB. Существует сторонний модуль mod_proxy_html, который анализирует HTML и перезаписывает ссылки. Но он не будет присутствовать на большинстве серверов.

Решение, как оказалось, заключалось в том, чтобы 301-й перенаправить любые запросы в директории / redmine явно в Mongrel на http://myhost:4000 (должно быть возможно с mod_rewrite).

0 голосов
/ 10 августа 2011

Вы также можете следить за часто задаваемыми вопросами на сайте Redmine: http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_a_sub-URI

0 голосов
/ 10 августа 2011

Я использовал Phusion Passenger для плагина Ruby.Затем я сделал символическую ссылку на общую папку в /var/www/redmine.

Мой конфиг Apache имеет:

RailsBaseURI /redmine
<Directory /var/www/redmine>
   Options -MultiViews
</Directory>
...