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

Revision 1 (Jean-Baptiste Barth, 2009-02-27 10:41) → Revision 2/18 (Jean-Baptiste Barth, 2009-02-27 15:19)

h1. HowTo Install Redmine in a subdirectory 

 This page explains how what to do if you want to run Redmine in a subdirectory of your site, for instance @ ; in such a case, you can many people 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. 

 h2. Using Rails features (prefered solution) 

 Add the following line at the end of your config/environment.rb : 
 ActionController::AbstractRequest.relative_url_root = "/redmine" 
 </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. If it works for you, you don't have to read the rest of this page. 

 h2. Using Mongrel features 

 If first config failed, and you run Redmine under Mongrel app server, you can alternatively use the start it with "--prefix" option of Mongrel : 
 mongrel_rails start --prefix=/redmine 
 </pre>You may not run Mongrel on port 80 : ; then 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) : 
 ProxyPass /redmine http://localhost:8000/redmine 
 ProxyPassReverse /redmine http://localhost:8000/redmine 

 h2. Using Passenger (aka mod_rails) features 

 If first config failed, and you run Redmine under Apache web server with Phusion Passenger module, you can follow "this guide": ; please note it won't work correctly on some versions of Passenger or some Linux distributions. 

 h2. With a reverse proxy 

 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 : 
 ProxyPass /redmine http://real-redmine-server.localdomain:3000/ 
 ProxyPassReverse /redmine http://real-redmine-server.localdomain:3000/ 
 </pre>See </pre>This config has to be adapted ; see Apache official documentation to adapt it. 

 understand how it works. 

 h2. Old versions of Redmine and Rails 

 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": to reproduce the same behaviour, but you have to note it is NOT a very good idea in most cases, you should cases ; consider upgrading Redmine. Redmine in order to run recent versions of Rails (>= 2.1 may support the directive mentionned above). 

 h2. References 

 If this page did not answered your problems, you can see these threads or issues : #2508 or and "this thread":