en
Language
  • en
  • cs
  • hu
  • de
  • fr
  • es
  • br
  • ru
  • kr
  • jp
AI translation
  • it
  • pl
  • tr

URL Prefix (sub-uri) Server Configuration

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.

Related Topics and Further Reading

Try Easy8 in 30 days free trial

Access all features, SSL protected, no credit card required.