4.3. Instalace ze zdrojového kódu
4.3.1. Požadavky před instalací
Pro instalaci Elza je potřeba mít nainstalován tento software:
Node.js 5.1.0+ včetně správce balíčků NPM
Získání zdrojových kódů
Zdrojové kódy aplikace Elza získáme zavoláním následujícího příkazu v adresáři kam ji chceme uložit.
git clone https://bitbucket.org/tacr/elza.git
Podporované databáze
Pro běh aplikace Elza je potřeba databáze (DB) podporující:
Datový typ Geometry.
České locale tj. DB musí mít při založení nastaveno české locale pro collate, ctype.
ELZA podporuje tyto databázové servery:
- PostgreSQL (Doporučené, primární platforma)
Pro tento databázový server je vyžadována verze 9.6 nebo vyšší a rozšíření PostGis.
Po instalaci je potřeba založit v DB samostatného uživatele např. „elza“. Při zakládání DB je tento uživatel použit jako vlastník DB.
DB pro Elza by měla být založena s nastavením LC_COLLATE a LC_CTYPE (porovnávání a klasifikace znaků) na české locale dle dostupnosti v daném systému např. „Czech_Czech Republic.1250“ ve Windows, „cs_CZ.UTF-8“ v Linuxu. Dostupná locale v Linuxu lze zjistit příkazem „locale -a“. Tato nastavení se provádějí v době zakládání nové DB.
V založené DB musí být následně aktivován doplněk PostGis. Pro tento krok musí mít založený uživatel v DB pro Elzu oprávnění administrace dané DB. Následně je možné doplněk aktivovat pomocí dotazu:
CREATE EXTENSION postgis;
H2
Embedded databáze, využívá se proběh testů, limitovaná podpora při migraci dat mezi verzemi, chybí podmíněné indexy
Dřívější experimentální podpora:
MSSQL
Je vyžadována verze MSSQL 2008, není potřeba žádná specální instalace, je nutná vlastní definice indexů a zajištění migrace dat
Pro jiné datové servery než PostgreSQL je nutné dodat jdbc ovladač. Ovladače je nutno doplnit do závislostí v pom.xml
v kořenovém adresáři.
Nepodporované databáze:
MySQL (Netestováno)
Pravděpodobně nefunkční z důvodu chybějící podpory CTE
Oracle (Netestováno)
Pro tento databázový server je vyžadována verze Enterprise. Pouze verze Enterprise umí pracovat s datovým typem Geometry.
Konfigurace
V adresáři elza-web/config
je potřeba založit soubor elza.yaml
(pro produkční prostředí v Tomcat soubor elza-ui.yaml
),
který obsahuje konfiguraci připojení k databázi.
Soubor je možné vytvořit ze souboru elza.yaml.template
.
Databáze
V souboru elza.yaml
je potřeba správně vyplnit údaje pro připojení k databázi.
- url
Adresa pro připojení k databázi.
url: jdbc:postgresql://localhost/elza
- postgresql
typ datového serveru
- localhost
adresa datového serveru
- elza
název databáze
- username
Platné uživatelské jméno. Uživatel musí být zároveň vlastníkem uvedené databáze.
- password
Heslo zadaného uživatele.
elza:
data:
url: jdbc:postgresql://server/databaze
username: uzivatel
password: heslo
spring:
jpa:
properties:
hibernate:
# PostgreSQL
dialect: org.hibernate.spatial.dialect.postgis.PostgisDialect
# H2
#dialect: org.hibernate.spatial.dialect.h2geodb.GeoDBDialect
# MySQL
#dialect: org.hibernate.spatial.dialect.mysql.MySQLSpatialDialect
# Oracle
#dialect: org.hibernate.spatial.dialect.oracle.OracleSpatial10gDialect
# MSSQL
#dialect: org.hibernate.dialect.SQLServer2008Dialect
Pracovní adresář
Pracovní adresář je adresář, do kterého si aplikace Elza ukládá soubory, které používá (soubory pravidel, šablony výstupů, vygenerované výstupy atd.)
Definovat pracovní adresář je potřeba jen v případě, kdy je elza spuštěna v tomcat serveru.
Pracovní adresář se definuje v konfiguračním souboru elza.yaml
nebo elza-ui.yaml
.
Definuje se zadáním parametru workingDir na stejnou úroveň jako parametr data . Jako hodnota parametru workingDir se zadává absolutní cesta k adresáři, do kterého se mají soubory ukládat.
elza:
data:
url: jdbc:postgresql://server/databaze
username: uzivatel
password: heslo
workingDir: /absolutni/cesta/k/adresari
spring:
jpa:
...
4.3.2. Sestavení verze určené pro vývoj
Aplikaci sestavíme zavoláním následujícího příkazu v kořenovém adresáři
elza
:mvn install -Pskiptest
Instalace balíčků NPM
Balíčky NPM aktualizujeme zavoláním následujícího příkazu v adresáři
elza-web
:mvn exec:exec -Pnpm-install
Spuštění
Aplikační server spustíme zavoláním následujícího příkazu v adresáři
elza-web
:mvn spring-boot:runServer pro uživatelské rozhraní spustíme zavoláním následujícího příkazu v adresáři
elza-web
:mvn exec:exec -Pfrontend-dev
4.3.3. Sestavení produkční verze
Produkční verzi aplikace sestavíme zavoláním následujícího příkazu v kořenovém adresáři elza
:
mvn clean install -Pskiptest,release
V adresáři elza-web/config
je nutné vytvořit elza-ui.yaml
z elza.yaml.template
Zadat správné údaje pro připojení k databázi viz nastavení připojení k databázi.
Přidat cestu k pracovnímu adresáři viz pracovní adresář.
Zakomentovat řádek s buildType
buildType: DEV -> #buildType: DEV
Vložit
elza-ui.yaml
do balíkuelza.war
do adresářeWEB-INF/classes
. Balíkelza.war
je umístěn v adresářielza-war/target
. Vložení lze provést například pomocí komprimačního nástroje 7-zip
Instalace Tomcat
- Z balíčku
Stáhnout Tomcat ve verzi 8.0.x a rozbalit do libovolného adresáře.
- Jako služba Windows
Stáhnout instalátor
Nainstalovat Normal nebo Full instalaci.
Spuštění v Tomcat
Přejmenovat
elza.war
naROOT.war
Vložit soubor
ROOT.war
do adresářewebapps
v kořenovém adresáři Tomcatu (adresář kam byl Tomcat nainstalován nebo rozbalen)Spustit Tomcat pomocí souboru
startup.bat
umístěného v adresářibin
nebo spustit službu pomocí Tomcat monitoru pokud neběží.K Elze je poté možno se dostat na adrese http://localhost:8080/
V adresáři
logs
kořenového adresáře Tomcatu se nachází výstupy ze serveruOvěřit, že je Tomcat povolen v nastavení firewall
4.3.4. Výchozí uživatel
Po instalaci nové verze je možné se do aplikace přihlásit jako uživatel admin
s heslem admin
.
Výchozí uživatel má oprávnění administrátora. Po prvotní konfiguraci aplikace a vytvoření
uživatelských účtů je vhodné přihlášení výchozícho uživatele zakázat.
Nastavení výchozího uživatele se nastavuje pomocí volby: elza.security.allowDefaultUser:false.
Způsob zakázání výchozího uživatele v elza-ui.yaml:
elza:
security:
allowDefaultUser: false
...
4.3.5. První spuštění
Po prvním spuštění aplikace je nutné přidat balík se základními pravidly, importovat instituce a vytvořit uživatelské účty.
Vytvoření uživatelů
Po prvním spuštění aplikace je nutné vytvořit účet administrátora aplikace a další jednotlivé uživatelské účty. Po jejich vytvoření zakažte možnost přihlášení výchozího uživatele.
Přidání balíku pravidel
Přidání balíku je možné v modulu Administrace/Správa balíků
. Zde stačí vybrat balík a poté kliknout na importovat. Balík základních pravidel 2015 se nachází v adresáři rules-cz-zp2015
.
Import instituce
Import instituce je možno provést v modulu Osoby. Po kliknutí na importovat je nutné vybrat scope rejstříku a zdrojový soubor, ze kterého se insituce naimportuje.
Pro import institucí lze použít soubor all-institutions-import.xml
, který se nachází v adresáři package-cz-base/src/
.
4.3.6. 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ář