URL Prefix (sub-uri) konfigurace (od verze 11 nepodporováno))

Konec podpory ve verzi 11

Kvůli problémům kompatibility s novými vizuálními komponentami není možné nadále podporovat konfiguraci využívající sub-uri.

Úvod

Najstablnější způsob fungování Easy Projectu (z webového pohledu) je přes subdoménu, např. https://easyproject.mojefirma.cz

Nicméně, někdy firmy mohou vyžadovat použití přípony, tzv. sub-uri, např. https://mojefirma.cz/easyproject. Takový případ vyžaduje vyšší pečlivost a obezřetnost při serverové konfiguraci.

S nesprávnou konfigurací se mohou vyskytnout problémy s běžnou funkcionalitou jako exporty, Gantt, WBS, vyskakovací okna atp.

Vzorovou konfiguraci uvádíme na příkladu https://prefix.easyproject.com/application

Nastavení puma

Pro pumu, potřebujete upravit 2 soubory - config.ru a config/environment.rb (puma.rb)

config.ru -> přidejte map pro "/application
map  '/application' do
  run RedmineApp::Application
end
config/puma.rb -> nastavte RAILS_RELATIVE_URL_ROOT env variable
RAILS_ENV = ENV['RAILS_ENV']
ENV['RAILS_RELATIVE_URL_ROOT'] = '/application'

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

Upravte root, přidejte lokaci pro "/application" a vytvořte aliasy. Příklad:

upstream xxx.easyproject.com {
  server                      unix:///home/easyproject/xxx.easyproject.com/application.sock;
}

server {

  listen                      443 ssl http2;
  server_name                 xxx.easyproject.com;
#  root                        /home/easyproject/xxx.easyproject.com/public_html/public;
  root                        /home/easyproject/xxx.easyproject.com/application;



  access_log                  /var/log/nginx/xxx.easyproject.com.log;
  error_log                   /var/log/nginx/xxx.easyproject.com.err;


location /application {
#    root                        /home/easyproject/xxx.easyproject.com/public_html/public;
    alias                        /home/easyproject/xxx.easyproject.com/application;
    proxy_pass                http://xxx.easyproject.com;
    include default.d/upstream.conf;
  }

  location /cable {
    proxy_pass                http://xxx.easyproject.com;
    include default.d/websocket.conf;
  }

location ~ ^/application/(images|system|assets|plugin_assets)/ {
    alias                        /home/easyproject/xxx.easyproject.com/application;
    proxy_pass                http://xxx.easyproject.com;

    gzip_static               on;
    expires                   3M;
    add_header                Cache-Control public;
    add_header                ETag '';
    break;
}

  ssl_certificate             /etc/nginx/ssl/xxx.crt;
  ssl_certificate_key         /etc/nginx/ssl/xxx.key;

}

Apache2

    <Directory /path/to/application/>                
            RailsBaseURI /application
            PassengerResolveSymlinksInDocumentRoot on
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

Nezapomeňte!

Je nutno změnit URL ještě v nastavení aplikace
Admin >> Nastavení >> Obecné - Jméno serveru

Vyzkoušejte Easy Project na 30 dní zdarma

Všechny funkce, SSL ochrana, denní zálohy. Vyzkoušejte bez rizika ještě dnes.