4.2. Instalace
Aplikaci Elza je možné nainstalovat dvěma způsoby:
Instalačními skripty (doporučeno pro Linux) - sada skriptů, která nainstaluje Elzu jako službu systemd a automatizuje nasazování nových verzí, zálohování databáze, kontrolu stavu a bezobslužné aktualizace.
Ručně z binární distribuce, v Linuxu nebo ve Windows.
Oba způsoby používají stejnou binární distribuci a stejný konfigurační soubor.
4.2.1. Instalace pomocí instalačních skriptů
Skripty a jejich dokumentace jsou publikovány na adrese
https://get.lightcomp.com/elza/ (v angličtině). Vyžadují Linux se systemd,
PostgreSQL včetně klientských nástrojů (pg_dump), bash a
curl. Instalace se spouští příkazem:
curl -fsSL https://get.lightcomp.com/elza/elza-bootstrap.sh | bash -s -- --home /opt/elza
Bootstrap skript stáhne balík skriptů (ověřený kontrolním součtem) do
adresáře /opt/elza/scripts, připraví konfigurační soubor
elza-env a nainstaluje jednotky systemd. Po úpravě
elza-env (minimálně připojení k databázi) se první nasazení
provede příkazem elza-deploy.
Skripty poskytují tyto příkazy:
elza-deploy- instalace nebo aktualizace aplikace: zastaví službu, zazálohuje databázi, stáhne distribuci, atomicky přepne na novou verzi, spustí službu a ověří, že běží.elza-backup- záloha databáze pomocípg_dumps mazáním starých záloh.elza-health- kontrola stavu aplikace a volitelné hlášení stavu dohledovému systému (viz Hlášení stavu dohledovému systému).elza-update- bezobslužná aktualizace na novou verzi.
Databázi je i v tomto případě nutné připravit podle
Příprava databáze. Konfigurace vlastní aplikace
(elza.yaml) je popsána v kapitole Konfigurace aplikace.
4.2.2. Ruční instalace
Obsah distribuce
Binární distribuce je soubor ZIP, který obsahuje:
server/elza-tomcat-<verze>.jar- aplikaci s vloženým webovým serverem,server/config/elza.yaml- vzorovou konfiguraci,server/config/csc-metrics.json- seznam metrik předávaných dohledovému systému (viz Monitorování),packages/- základní balíčky:package-cz-base(číselníky) arules-cz-zp2015(pravidla popisu ZP2015),data/all-institutions-import.xml- seznam akreditovaných archivů v České republice,readme.txt- stručný přehled instalace.
Příprava databáze
Vytvořte pro Elzu databázového uživatele, například
elza. Pro přístup aplikace nepoužívejte účet superuživatele.Vytvořte prázdnou databázi, jejímž vlastníkem je tento uživatel:
createdb -O elza -E UTF8 -l cs_CZ.UTF-8 -T template0 elza
Locale určuje řazení textů prováděné databází. Použijte locale archivního popisu (pro české archivy češtinu); dostupná locale vypíše příkaz
locale -a. Ve Windows je název napříkladCzech_Czechia.1250. Locale nelze po vytvoření databáze změnit.Povolte v databázi rozšíření PostGIS. Vytvoření rozšíření vyžaduje práva superuživatele, proveďte je proto jako uživatel
postgres:psql -U postgres -d elza -c "CREATE EXTENSION postgis;"
Tabulky vytvoří Elza při prvním spuštění.
Struktura adresářů
Elza potřebuje instalační a pracovní adresář, například:
/opt/elza/server- soubor JAR aconfig/elza.yaml,/opt/elza/work- pracovní adresář.
Ve Windows například D:\Elza\server a D:\Elza\work.
Pro službu vytvořte samostatného uživatele operačního systému, který je
vlastníkem pracovního adresáře a má k němu plná práva. V Linuxu je vhodné
odkazovat na aktuální JAR symbolickým linkem, aby aktualizace změnila jen
link: /opt/elza/server/elza-tomcat.jar ->
elza-tomcat-3.4.7.jar.
Pracovní adresář obsahuje:
dms/- binární soubory (přílohy, výstupy, publikace, importní dávky). Jeho strukturu spravuje Elza a nesmí se ručně upravovat; zálohuje se společně s databází (viz Zálohování a obnova).dpkg/- balíčky načítané při startu (viz Nahrání balíčků).log/- logy, pokud jsou nastaveny jako ve vzorové konfiguraci.další pracovní data, která si Elza v případě potřeby znovu vytvoří.
Konfigurace
Zkopírujte server/config/elza.yaml do config/elza.yaml
vedle souboru JAR a nastavte minimálně:
připojení k databázi (
elza.data.url,elza.data.user,elza.data.pass),pracovní adresář (
elza.workingDir).
elza:
data:
url: jdbc:postgresql://localhost/elza
user: elza
pass: tajne
workingDir: /opt/elza/work
logFile: ${elza.workingDir}/log/elza.log
siemLogFile: ${elza.workingDir}/log/siem.log
Ostatní nastavení popisuje kapitola Konfigurace aplikace.
Spuštění jako služby
Před nastavením služby aplikaci jednou spusťte z instalačního adresáře a ověřte konfiguraci:
java -jar elza-tomcat.jar
Při prvním spuštění Elza vytvoří databázové schéma. Aplikace je připravena, jakmile log oznámí její spuštění; naslouchá na portu 8080.
Příklad jednotky systemd (/etc/systemd/system/elza.service):
[Unit]
Description=ELZA
After=network.target postgresql.service
[Service]
User=elza
WorkingDirectory=/opt/elza/server
ExecStart=/usr/bin/java -Xmx4g -Dfile.encoding=UTF-8 -jar /opt/elza/server/elza-tomcat.jar
SuccessExitStatus=143
Restart=on-failure
[Install]
WantedBy=multi-user.target
Velikost paměti (-Xmx) upravte podle dostupné paměti. Pracovním
adresářem procesu musí být instalační adresář, aby byl nalezen soubor
config/elza.yaml. Službu povolíte a spustíte příkazem
systemctl enable --now elza.
Ve Windows lze Elzu provozovat jako službu pomocí nástroje jako WinSW nebo
NSSM, který spouští stejný příkaz java -jar. Viz také dokumentace
Spring Boot k nasazení.
4.2.3. První spuštění
Výchozí uživatel
Nová instalace je přístupná pod vestavěným výchozím uživatelem (admin
s heslem admin), který má oprávnění administrátora. Použijte jej jen
k vytvoření účtů administrátorů, poté jej vypněte volbou
elza.security.allowDefaultUser: false a aplikaci restartujte. Viz
Autentizace a zabezpečení.
Nahrání balíčků
Elza potřebuje číselníky a pravidla popisu z balíčků v adresáři
packages/. Doporučeným způsobem je zkopírovat soubory ZIP do
podadresáře dpkg/ pracovního adresáře: při každém startu Elza
nahraje z tohoto adresáře každý balíček, jehož verze je vyšší než verze
již nahraného balíčku. Aktualizace pak jen nahradí soubory v dpkg/
spolu se souborem JAR.
Poznámka
Pokud dpkg/ obsahuje starší verzi balíčku, než je verze již
nahraná, aplikace nenastartuje. Starý soubor odstraňte.
Balíčky lze nahrát také v modulu Administrace > Správa balíčků (viz Správa balíčků).
Import institucí
Seznam archivů naimportujte ze souboru
data/all-institutions-import.xml volbou Import rejstříkových
hesel v modulu Archivní entity.
Další kroky
Nastavení reverzní proxy a HTTPS: Provoz za reverzní proxy.
Nastavení zálohování: Zálohování a obnova.
Napojení monitorování: Monitorování.
Nastavení autentizace (LDAP, Kerberos, …): Autentizace a zabezpečení.