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)
map '/application' do run RedmineApp::Application end
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