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

