4.2. Instalace pomocí binární distribuce
Binární distribuce aplikace Elza pro samostatnou instalaci.
- Podporované systémy:
Java 1.8 a vyšší
Microsoft Windows nebo Linux
Databáze:
Postgresql
4.2.1. Předpoklady
Nainstalována databáze Postgresql.
4.2.2. Postup instalace Elza
Standardní binární distribuce obsahuje:
soubor
readme.txt
- stručný popis instalaceadresář
packages
- výchozí data pro aplikaciadresář
server
- hlavní spustitelný souborelza-tomcat-verze.jar
a vzorovou konfiguraci
Součástí hlavního souboru JAR je vložen webový server a aplikaci je možné spouštět bez nutnosti instalace a konfigurace samostatného aplikačního serveru.
- Podporované možnosti instalace jsou:
Linux/Unix - init.d služba (System V)
Linux/Unix - systemd služba
služba systému Windows
Podrobný seznam možností konfigurace zde: Dokumentace Spring Boot.
Příprava databáze
Pro přístup k databází vytvořte v Postgres samostatného uživatele. Například: ‚elza‘.
Nepoužívejte účet administrátora pro přístup k databázi.
Vytvořte prázdnou databázi, jejíž vlastníkem je uživatel z předchozího bodu.
CREATE DATABASE elza OWNER = 'elza';
nebo příkazem v shellu:
createdb -l cs_CZ.utf8 -O elza -T template0 elza
Pro další krok je potřeba povolit uživateli (uživatel ‚elza‘) oprávnění pro nastavení rozšíření. Nejjednoduší způsob je dočasně nastavit uživateli právo superuživatel.
ALTER USER elza WITH SUPERUSER;
Připojte se k databázi jako vlastník (uživatel ‚elza‘) a přidejte do databáze možnost používat rozšíření PostGIS:
psql -U elza -W -d elza CREATE EXTENSION postgis;
Po úspěšném vytvoření rozšíření PostGIS lze uživateli opět odebrat práva superuživatele.
ALTER USER elza WITH NOSUPERUSER;
Struktura adresářů
Aplikace Elza vyžaduje instalační a pracovní adresář. Do pracovního adresáře se budou ukládat pravidla popisu, tiskové šablony, vygenerované tisky, logy a další.
Příklad cílového rozložení na disku:
/opt/elza/server
- adresář s nainstalovanou aplikací (JAR + konfigurační soubor)
/opt/elza/work
- pracovní adresář
Ve Windows se cesty uvádějí takto: D:\Elza\work
Připravte instalační adresář pro Elzu. Do adresáře zkopírujte JAR a vzorovou konfiguraci. Příklad výsledné podoby:
D:\Elza\server\elza-tomcat-2.0.0.jar
D:\Elza\server\config\elza.yaml
Doporučení pro instalaci v Linuxu
V adresáři server
vytvořte symbolický link
na hlavní soubor. Při přechodu na novější verzi stačí aktualizovat jen
tento link.
Příklad: /opt/elza/server/elza-tomcat.jar
-> /opt/elza/server/elza-tomcat-2.0.0.jar
Vytvořte samostatného uživatele pod nímž bude aplikace spuštěna. Tento uživatel by měl být vlastníkem pracovního adresáře a mít k němu plná práva.
Připravte samostatnou službu umožňující spuštění aplikace.
Příklad konfiguračního souboru (/etc/systemd/system/elza.service
):
[Unit]
Description=Elza
After=syslog.target
[Service]
User=elza
ExecStart=/opt/elza/server/elza-tomcat.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
Konfigurace a spuštění Elza
V adresáři
server
je vzorový souborelza.yaml
. Ten otevřete a upravte dle nastavení v předchozích bodech. Minimálně je nutné nastavit: - připojení k databázi (sekce elza: data:) - cestu k pracovnímu adresáři (workingDir:)Upravený soubor
elza.yaml
nahrajte do adresářeconfig
Spusťte aplikaci V případě správné konfigurace dojde k vytvoření tabulek v databázi a nastartování aplikace.
Provoz pomocí reverzní proxy
Aplikace Elza je často provozována za reverzní proxy. Ta umožňuje její běh na veřejné adrese archivu (například: https://elza.archiv-xy.cz, případně: https://www.archiv-xy.cz/elza). V rovině reverzní proxy lze využít Apache HTTPD nebo NGINX.
Příklad konfigurace pro https://elza.archiv-xy.cz
<VirtualHost elza.archiv-xy.cz:443>
ServerName elza.archiv-xy.cz
ProxyPreserveHost On
ProxyRequests Off
ProxyTimeout 60
ProxyPass "/stomp" "ws://vnitrni-server.archiv.cz:8080/stomp"
ProxyPassReverse "/stomp" "wss://elza.archiv-xy.cz/stomp"
ProxyPass "/" "http://vnitrni-server.archiv:8080/"
ProxyPassReverse "/" "https://elza.archiv-xy.cz/"
</VirtualHost>
Příklad konfigurace pro https://www.archiv-xy.cz/elza s využitím rewrite filtru
a přesměrováním požadavku na vnitřní server 10.2.0.27
:
<VirtualHost www.archiv-xy.cz:443>
ServerName www.archiv-xy.cz
<Location "/elza">
RequestHeader set X-Forwarded-Prefix "/elza"
RequestHeader set X-Forwarded-Host "www.archiv-xy.cz"
RequestHeader set X-Forwarded-Proto "https"
RewriteEngine On
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule "/elza/(.*)$" "ws://10.2.0.27:8080/$1" [P]
RewriteRule "/elza/(.*)$" "http://10.2.0.27:8080/$1" [P]
</Location>
</VirtualHost>
Od verze Apache HTTP 2.4.61 je nutné navíc povolit rewrite pro parametry za otazníkem.
<VirtualHost www.archiv-xy.cz:443>
ServerName www.archiv-xy.cz
RewriteEngine On
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule "/elza/(.*)$" "ws://10.2.0.27:8080/$1" [P,UnsafeAllow3F]
RewriteRule "/elza/(.*)$" "http://10.2.0.27:8080/$1" [P,UnsafeAllow3F]
</VirtualHost>
Provoz na jiném než kořenovém URL
Aplikaci je možné provozovat i na jiném než kořenovém URL, například: https://www.archiv-xy.cz/elza. V takovém případě je nutné pomocí reverzní proxy směrovat požadavky z webového serveru do aplikace Elza, více viz: Provoz pomocí reverzní proxy. Na straně Elza je nutné navíc povolit akceptaci hlaviček X-Forwarded-…. obsahujícími informace o původním URL. V yaml konfiguraci je nutné aktivovat volbu elza.security.acceptForwardedHeaders=true.
Příklad konfigurace:
elza:
.......
security:
acceptForwardedHeaders:true
.......
Nastavení po prvním spuštění
Po úspěšném startu aplikace je nutné v ní nastavit číselníkové hodnoty a pravidla pro zpracování archiválií.
Ve správě balíčků do aplikace nahrajte balíček
packages/package-cz-base.zip
ve správě balíčků do aplikace nahrajte balíček
packages/rules-cz-zp2015.zip
proveďte import paměťových institucí volbou Osoby / Import osob ze souboru se seznamem institucí. Seznam akreditovaných institucí v ČR je dostupný jako soubor
all-institutions-import.xml
, dostupný zde: GitHub Elza/all-institutions-import.xml.
4.2.3. Automatizace aktualizace balíčků
Pro Elza je možné nastavit režim automatické aktualizace balíčků při spuštění aplikace.
Pokud existuje v pracovním adresáři složka dpkg
jsou automaticky ihned po startu
načteny všechny soubory s koncovkou .zip
. Pokud se jedná o balíček a tento balíček je ve
vyšší verzi, než-li aktuálně dostupný, je tento automaticky aktualizován.
Tento postup je výhodný pro automatické aktualizace balíčků při aktualizaci aplikace Elza.
4.2.4. Zálohování dat
Je doporučeno data uložená v aplikaci pravidelně zálohovat. Záloha by měla být provedena vždy před aktualizací aplikace.
- Předmět zálohy:
databáze
pracovní adresář