Introduction
In earlier versions of Easy8, it was possible to run the application on a sub-URI, such as https://mycompany.com/redmine, instead of a subdomain like https://redmine.mycompany.com. This article explains how that setup worked, why it's no longer supported in version 11 and above, and what to consider if you are still using an older version.
Target Audience
- Administrator
Understanding URL Prefix (Sub-URI) Configuration
Definition
Running Easy8 on a sub-URI means placing the application inside a path segment of a domain rather than on its own subdomain. For example:
- Subdomain:
https://redmine.mycompany.com - Sub-URI:
https://mycompany.com/redmine
Deprecation Notice (Version 11+)
Starting with Easy8 version 11, sub-URI configurations are deprecated. This change was made due to compatibility issues with modern front-end components, including:
- JavaScript features (e.g., Gantt charts, WBS)
- Export functionality
- Modal windows and other UI elements
⚠ If you are using version 11 or newer, this setup is not supported.
Configuration Details (For Versions 10 and Older)
If you're still running an older version of Easy8, here's how to configure the application to work under a sub-URI.
Puma Configuration
Edit these two files:
config.ru
map '/redmine' do
run RedmineApp::Application
end
config/puma.rb
RAILS_ENV = ENV['RAILS_ENV']
ENV['RAILS_RELATIVE_URL_ROOT'] = '/redmine'
workers 2
threads 1, 2
preload_app!
rackup DefaultRackup
environment RAILS_ENV || 'production'
plugin "tmp_restart"
worker_timeout 600
APP_HOME = File.join(File.absolute_path(File.dirname(__FILE__)), "../")
directory File.join(APP_HOME, 'public_html')
bind "unix://#{APP_HOME}/application.sock"
pidfile File.join(APP_HOME, 'application.pid')
stdout_redirect File.join(APP_HOME, 'public_html/log/puma.log'), File.join(APP_HOME, 'public_html/log/puma.err')
on_worker_boot do
ActiveRecord::Base.establish_connection
end
NGINX Configuration
upstream prefix.easyredmine.com {
server unix:///home/easyproject/prefix.easyredmine.com/application.sock;
}
server {
listen 443 ssl http2;
server_name prefix.easyredmine.com;
root /home/easyproject/prefix.easyredmine.com/redmine;
access_log /var/log/nginx/prefix.easyredmine.com.log;
error_log /var/log/nginx/prefix.easyredmine.com.err;
location /redmine {
alias /home/easyproject/prefix.easyredmine.com/redmine;
proxy_pass http://prefix.easyredmine.com;
include default.d/upstream.conf;
}
location /cable {
proxy_pass http://prefix.easyredmine.com;
include default.d/websocket.conf;
}
location ~ ^/redmine/(images|system|assets|plugin_assets)/ {
alias /home/easyproject/prefix.easyredmine.com/redmine;
proxy_pass http://prefix.easyredmine.com;
gzip_static on;
expires 3M;
add_header Cache-Control public;
add_header ETag '';
break;
}
ssl_certificate /etc/nginx/ssl/easyredmine_com.crt;
ssl_certificate_key /etc/nginx/ssl/easyredmine_com.key;
}
Apache2 Configuration
<Directory /path/to/redmine/>
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Application Setting
Go to:
Administration → Settings → General → Host name and path
Set the full URL (including /redmine) to ensure correct path resolution.
Conclusion
Running Easy8 under a sub-URI path is no longer supported as of version 11. If you are using version 10 or earlier, you can still configure this setup manually. For all new installations, we recommend using a dedicated subdomain for stability and full feature compatibility.
