# 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 instalace

> - adresář `packages` - výchozí data pro aplikaci

> - adresář `server` - hlavní spustitelný soubor `elza-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

1. 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.

2. 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

1. 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;

2. 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;

3. 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

1. V adresáři `server` je vzorový soubor `elza.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:)

2. Upravený soubor `elza.yaml` nahrajte do adresáře `config`

3. Spusťte aplikaci V případě správné konfigurace dojde k vytvoření tabulek v databázi a nastartování aplikace.

### 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í.

1. Ve správě balíčků do aplikace nahrajte balíček `packages/package-cz-base.zip`

2. ve správě balíčků do aplikace nahrajte balíček `packages/rules-cz-zp2015.zip`

3. 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ář