7.1.4. Instalace
Instalace jednotlivých prostředí se může mírně lišit. Například může být jiný uživatel, pod kterým služby běží, služby mohou být rozmístěny na různých aplikačních serverech, může být jiná adresa databáze a podobně.
Zde je popsaný typický postup instalace podle instalace testovacího prostředí.
Všechny služby v tomto popisu jsou instalovány na jeden aplikační server. Na akceptačním a produkčním prostředí jsou ale služby fm-gui a fm-api umístěny na jeden aplikační server a služby fm-proc a scriptlib na druhý aplikační server.
Další rozdíl je, že na akceptačním prostředí jsou některé služby pojmenované s koncovkou test (fm-api-test, fm-gui-test, fm-proc-test) a že koncovku test obsahuje i instalační adresář /opt/ais/fm-test.
Tomu je třeba postup instalace přizpůsobit.
Minimální SW požadavky
RockyLinux 9.3
OpenJDK 17
PostgreSQL 15.6
Minimální HW požadavky
CPU - 4
Memory - 8GB
HDD - 40GB
Příprava aplikačního serveru
Připravte aplikační server nejlépe RockyLinux 9.3
Pomocí správce balíčků na něj nainstalujte javu 17
Pomocí správce balíčků na něj nainstalujte PostgreSQL databázi 15.6
Zpřístupněte port databáze ve firewallu, abyste ji mohli spravovat externě:
sudo firewall-cmd --zone=public --permanent --add-port=5432/tcp
Založte uživatele pod kterým poběží služby:
sudo useradd ais
Vytvořte instalační adresář, pracovní prostor a připojte adresář úložiště arclib:
/opt/ais/fm /opt/ais/fm/install /opt/ais/workspace /opt/ais/arclib
Zajistěte právo zápisu uživateli ais k pracovnímu prostoru.
chown ais:ais /opt/ais/workspace
Příprava databáze
Pomocí pgAdmin (verze 4.7) se připojte na databázový server.
Založte databázi příkazem:
create database fm locale 'cs_CZ.utf8';
Databázi není možné založit pomocí dialogu pgAdmin, protože se zde nenabízí správná colation cs-CZ.utf8!
Vytvořte databázového uživatele ais.
Uživateli ais nastavte všechna práva ke schématu public databáze fm.
Instalace scriptové knihovny
Přihlaste se na aplikační server jako uživatel ais.
Přihlaste se k docker repository docker.io:
podman login docker.io
Stáhněte aktuální docker image scriptové knihovny:
podman pull docker.io/aipsafe/uk-ais-siegfried:1.2 podman pull docker.io/aipsafe/uk-ais-libreoffice:1.2 podman pull docker.io/aipsafe/uk-ais-scriptlib:1.2
Vytvořte containery scriptové knihovny:
podman create -v /opt/ais/workspace:/var/workspace:z -p 8082:80 --name uk-ais-siegfried aipsafe/uk-ais-siegfried:1.2 podman create -v /opt/ais/workspace:/var/workspace:z -p 2003:2003 --name uk-ais-libreoffice aipsafe/uk-ais-libreoffice:1.2 podman create -v /opt/ais/workspace:/var/workspace:z --name uk-ais-scriptlib aipsafe/uk-ais-scriptlib:1.2
Nakonfigurujte scriptovou knihovnu. V adresáři workspace soubor config.yml.
Viz Konfigurace.
Jako root uživatel v adresáři /etc/systemd/system vytvořte soubor siegfried.service, libreoffice.service a scriptlib.service. Jako vzor vám může sloužit následující soubor:
[Unit] Description=Scriptlib Container After=multi-user.target [Service] User=ais Restart=always ExecStart=/usr/bin/podman start -a uk-ais-scriptlib ExecStop=/usr/bin/podman stop -t 5 uk-ais-scriptlib [Install] WantedBy=multi-user.target
Enablujte služby:
sudo systemctl enable siegfried sudo systemctl enable libreoffice sudo systemctl enable scriptlib
Nastartujte služby:
sudo systemctl start siegfried sudo systemctl start libreoffice sudo systemctl start scriptlib
Ověřte, že služby běží:
sudo systemctl status siegfried sudo systemctl status libreoffice sudo systemctl status scriptlib
Instalace formátového modulu
Připravte obsah instalačního adresáře /opt/ais/fm:
Obsah instalačního souboru fm-1.x.y.rev.zip. Například pomocí příkazů:
curl -o fm.zip "https://repo.aipsafe.cz/repository/shared/cz.aipsafe.uk.ais/1.x.y.rev/extension/fm-1.x.y.rev.zip" unzip fm.zip mv fm.zip install
Konfigurační soubor fm.yml.
Viz Konfigurace.
Spouštěcí scripty fm-gui.sh, fm-api.sh, fm-proc.sh, fm-cmd.sh s obsahem:
#!/bin/sh java -jar fm-gui.jar "$@"
Namísto fm-gui.jar je u dalších scriptů fm-api.jar, fm-proc.jar, fm-cmd.jar.
Spouštěcím scriptům sh nastavte právo execute:
chmod a+x /opt/ais/fm/*.sh
Adresář var jehož vlastníkem je ais:
mkdir var chown ais:ais var
Pomocí příkazu:
./fm-cmd.sh validate
zkontrolujte připojení k databázi a potřebu provést migrace.
Pomocí příkazu:
./fm-cmd.sh migrate
proveďte instalaci struktury databáze.
Pokud se jedná pouze o testovací databázi můžete pomocí příkazu:
sudo -u ais ./fm-cmd.sh demonstration
naplnit databázi testovacími daty.
Příkaz je třeba spustit pod uživatelem ais, protože pracuje se stejnými soubory v adreáři var jako služba svc-gui.
V adresáři /etc/systemd/system vytvořte soubor fm-gui.service s následujícím obsahem (důležité je nastavení spouštění po postgresql, pokud je databáze nainstalovaná na stejném serveru):
[Unit] Description=Format Module GUI After=syslog.target postgresql-15.service [Service] User=ais WorkingDirectory=/opt/ais/fm ExecStart=/opt/ais/fm/fm-gui.sh [Install] WantedBy=multi-user.target
Obdobně vytvořte i soubory fm-api.service a fm-proc.service spouštějící fm-api.sh a fm-proc.sh s popisem Format Module API a Format Module Processes.
Enablujte služby:
sudo systemctl enable fm-gui sudo systemctl enable fm-api sudo systemctl enable fm-proc
Nastartujte služby:
sudo systemctl start fm-gui sudo systemctl start fm-api sudo systemctl start fm-proc
Ověřte, že služby běží:
sudo systemctl status fm-gui sudo systemctl status fm-api sudo systemctl status fm-proc
Povolte porty služeb ve firewallu:
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp sudo firewall-cmd --zone=public --permanent --add-port=8081/tcp
Oveřte, že jsou služby přístupné v browseru. Viz Přístupové body.
Proveďte reboot aplikačního serveru:
sudo reboot
a znovu zkontrolujte, že jsou služby po chvíli přístupné v browseru.