HowTo Install Redmine in a sub-URI » History » Version 2

Jean-Baptiste Barth, 2009-02-27 15:19
Minor changes (language simplifications)

1 1 Jean-Baptiste Barth
h1. HowTo Install Redmine in a subdirectory
2 1 Jean-Baptiste Barth
3 2 Jean-Baptiste Barth
This page explains how to run Redmine in a subdirectory of your site, for instance @http://www.mysite.com/redmine/@ ; in such a case, you can feel lost because the classic Redmine install does not work directly, and the links to css or javascript files seem to be broken. In this page, we assume you want to run Redmine under "/redmine/" subdirectory of your site.
4 1 Jean-Baptiste Barth
5 1 Jean-Baptiste Barth
h2. Using Rails features (prefered solution)
6 1 Jean-Baptiste Barth
7 1 Jean-Baptiste Barth
Add the following line at the end of your config/environment.rb :
8 1 Jean-Baptiste Barth
<pre>
9 1 Jean-Baptiste Barth
ActionController::AbstractRequest.relative_url_root = "/redmine"
10 2 Jean-Baptiste Barth
</pre>Rails will then prefix all links with "/redmine". It can be considered as the simplest, cleanest and most flexible solution. Then restart your application.
11 1 Jean-Baptiste Barth
12 1 Jean-Baptiste Barth
h2. Using Mongrel features
13 1 Jean-Baptiste Barth
14 2 Jean-Baptiste Barth
If you run Redmine under Mongrel server, you can alternatively use the "--prefix" option of Mongrel :
15 1 Jean-Baptiste Barth
<pre>
16 2 Jean-Baptiste Barth
mongrel_rails start --prefix=/redmine
17 2 Jean-Baptiste Barth
</pre>You may not run Mongrel on port 80 : if you have an Apache server on the same host, and you run Mongrel on port 8000, you can use the following Apache config to redirect (with Apache's mod_proxy enabled) :
18 1 Jean-Baptiste Barth
<pre>
19 1 Jean-Baptiste Barth
ProxyPass /redmine http://localhost:8000/redmine
20 1 Jean-Baptiste Barth
ProxyPassReverse /redmine http://localhost:8000/redmine
21 1 Jean-Baptiste Barth
</pre>
22 1 Jean-Baptiste Barth
23 1 Jean-Baptiste Barth
h2. Using Passenger (aka mod_rails) features
24 1 Jean-Baptiste Barth
25 2 Jean-Baptiste Barth
If you run Redmine under Apache web server with Phusion Passenger module, you can follow "this guide":http://www.modrails.com/documentation/Users%20guide.html#deploying_rails_to_sub_uri ; please note it won't work correctly on some versions of Passenger or some Linux distributions.
26 1 Jean-Baptiste Barth
27 1 Jean-Baptiste Barth
h2. With a reverse proxy
28 1 Jean-Baptiste Barth
29 1 Jean-Baptiste Barth
If you have an Apache webserver in front of it (with mod_proxy enabled), or an Apache reverse proxy on another machine, you can run Redmine on a specific port and use this kind of config so it appears to be running in a subdirectory :
30 1 Jean-Baptiste Barth
<pre>
31 1 Jean-Baptiste Barth
ProxyPass /redmine http://real-redmine-server.localdomain:3000/
32 1 Jean-Baptiste Barth
ProxyPassReverse /redmine http://real-redmine-server.localdomain:3000/
33 2 Jean-Baptiste Barth
</pre>See Apache official documentation to adapt it.
34 1 Jean-Baptiste Barth
35 1 Jean-Baptiste Barth
36 2 Jean-Baptiste Barth
h2. Old versions of Redmine and Rails
37 1 Jean-Baptiste Barth
38 2 Jean-Baptiste Barth
If you run a very old version of Redmine (don't know exactly which ones), maybe your version of Rails' ActionController does not support the "relative_url_root" mentionned above. Then you can look at "this page":https://www.riscosopen.org/wiki/documentation/pages/Running+Rails+applications+from+subdirectories/versions/16 to reproduce the same behaviour, but it is NOT a very good idea in most cases, you should consider upgrading Redmine.
39 2 Jean-Baptiste Barth
40 1 Jean-Baptiste Barth
h2. References
41 1 Jean-Baptiste Barth
42 2 Jean-Baptiste Barth
If this page did not answered your problems, you can see #2508 or "this thread":http://www.redmine.org/boards/2/topics/show/2244.