Z distribučních .deb balíčků

Tato část popisuje instalaci Trytonu v OS Ubuntu-server 19.10_amd64. Pro úplnost jen uvedu v základních bodech instalaci a konfiguraci virtuálního Ubuntu-serveru.

Instalace serveru Ubuntu 19.10

  • instalace ve virtualizaci KVM, volbou F4 vybráno => minimalistický virtuální stroj
  • po instalaci povolen (odkomentován) repozitář „partner“ v /etc/apt/sources.list
  • v souboru /etc/default/apport nastavit enabled=0
  • update & dist-upgrade
  • nainstalovat: ssh mc htop nano ntp
  • pomocí netplan nastavit pevnou IP adresu
  • restart

Poznámka

Uvedl jsem svoje první rutinní kroky, při instalaci. Nic ovšem nebrání postupovat i jinak.

Instalace SQL serveru

Projekt serveru PostgreSQL má vlastní repozitáře s aktuálními verzemi pro vybrané distribuce. V případě OS Ubuntu pak existují repozitáře pro tzv. LTS verze - tedy Ubuntu_16.04 a Ubuntu_18.04. Tyto verze Ubuntu však mají distribuční balíčky Trytonu verze 3.8, resp. 4.6. První „Main“ (LTS) verze Trytonu s dlouhodobou podporou má verze Ubuntu 19.04 a vyšší. Z důvodu instalace „Main (LTS) verze Trytonu 5.0 jsem zvolil verzi Ubuntu 19.10, pro kterou však projekt nemá vlastní repozitáře. Pro instalaci PostgreSQL serveru tedy použijeme přímo distribuční balíčky.

Postup pak bude následující:

Po přihlášení na terminál serveru zadáme:

pepa@ubnt: sudo apt-get install postgresql

V konfiguračním souboru /etc/postgresql/11/main/postgresql.conf nastavíme, na jakém rozhraní má přijímat spojení :

pepa@ubnt: sudo nano /etc/postgresql/11/main/postgresql.conf

Vyhledáme sekci Connection Settings, odkomentujeme listen_addresses a uvedeme nastavenou 'ip adresu serveru', příp. '*'

# - Connection Settings -

listen_addresses = 'ip-adresa-serveru'
.. nebo
listen_addresses = '*'

V konfiguračním souboru /etc/postgresql/11/main/pg_hba.conf následně povolíme, resp. nastavíme, z jakého rozsahu IP adres a s jakou úrovní autentizace má přijímat spojení :

pepa@ubnt: sudo nano /etc/postgresql/11/main/pg_hba.conf

Poznámka

Předpokládejme, že rozsah lokální sítě bude 192.168.1.0/24

# IPv4 local connections:
host    all             all             192.168.1.0/24           trust

Nyní si nastavíme heslo pro uživatele postgres

pepa@ubnt: sudo su postgres
postgres@ubnt: psql
postgres=# \password postgres
postgres=# Enter new password:
postgres=# Enter it again:
postgres=# \q
postgres@ubnt: exit

Pro kontrolu můžeme restartovat postgresql server

pepa@ubnt: sudo systemctl restart postgresql

Přistoupíme k vytvoření uživatele pro budoucí databázi Trytonu a samotné databáze. Postup v terminálu bude následující:

.. přihlásíme se do postgresql
..
pepa@ubnt: sudo -u postgres psql
postgres=#
.. a můžeme iniciovat vytvoření role ~ uživatele a databáze
..
postgres=#  CREATE ROLE nazev_uzivatele WITH LOGIN NOSUPERUSER CREATEDB NOCREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT -1 PASSWORD 'HesloUzivatele';
postgres=#
.. nebo
..
postgres=#  CREATE USER nazev_uzivatele password 'HesloUzivatele' CREATEDB;
postgres=#
.. nyní vytvoříme databázi pro Tryton
..
postgres=#  CREATE DATABASE nazev_databaze WITH OWNER = nazev_uzivatele ENCODING = 'UTF8' LC_COLLATE = 'cs_CZ.UTF-8' LC_CTYPE = 'cs_CZ.UTF-8' TABLESPACE = pg_default CONNECTION LIMIT = -1 TEMPLATE template0;
postgres=#
.. ukončíme
..
postgres=#  \q
pepa@ubnt:
.. a restartujeme postgresql server
..
admin@ubn : sudo systemctl restart postgresql

Nyní se můžete přihlásit do PostgreSQL serveru z jiného pc v síti prostřednictvím grafického klinta pgAdmin pod nově vytvořeným uživatelem a zkontrolovat, zda má přístupnou databázi vytvořenou pro Tryton.

Instalace Trytonu

Seznam balíčků, které máme k dispozici získáme zadáním následujícího příkazu v terminálu:

pepa@ubnt: apt-cache search tryton

Instalaci základu Tryton serveru vč. dokumentace provedeme tímto příkazem v terminálu:

pepa@ubnt: sudo apt-get install tryton-server tryton-server-doc

Následně musíme upravit configurační soubor Trytonu /etc/tryton/trytond.conf. Je nezbytné uvést minimálně dva parametry:

  • v sekci [web] nastavit na jakém rozhraní a portu bude server naslouchat
  • v sekci [database] nastavit databázové spojení

Dále je dobré v sekci [web] uvést root adresář pro web klienta (nabízí se domovský adresář systémového uživatele tryton), hostname pro slovní zadávání adresy a v sekci [database] pak root adresář, kde bude tryton-server ukládat soubory - samozřejmě, že uživatel, pod kterým je spouštěn tryton-server musí mít do daného adresáře právo zápisu.

[web]
# Settings for the web interface
# Listen on all interfaces (IPv4)
listen = 0.0.0.0:8000

# The hostname for this interface
hostname = tryton.vasedomena.cz
# The root path to retrieve data for GET requests
root = /var/www/tryton-sao

[database]
uri = postgresql://uzivatel_databaze_tryton:heslo_uzivatele_databaze_tryton@localhost:5432/
# The path to the directory where the Tryton Server stores files.
# The server must have write permissions to this directory.
path = /var/lib/tryton

Pro kontrolu si můžeme vypsat nastavené direktivy v trytond.conf. V terminálu zadáme:

pepa@ubnt: cat /etc/tryton/trytond.conf | egrep -v '^$|^#'

Nyní je třeba provést inicializaci databáze tryton-server(u), během které se nakonfiguruje databáze vytvořená při instalaci PostgreSQL. Budete vyzváni k zadání emailové adresy administrátora Trytonu, hesla a jeho potvrzení.

V terminálu tedy zadáme příkaz:

pepa@ubnt: sudo trytond-admin -c /etc/tryton/trytond.conf -d nazev_databaze_tryton --all
"admin" email for "tryton": tryton@vasedomena.cz
"admin" password for "tryton": Heslo_pro uživatele_tryton
"admin" password confirmation: Heslo_pro uživatele_tryton

V této fázi je základ Trytonu inicializován. Pro kontrolu provedeme restart a můžeme se do systému přihlásit prostřednictvím desktopového klienta.

pepa@ubnt: sudo systemctl restart tryton-server.service

Dále si ukážeme, jak se přidávají moduly, které jsme nenainstalovali při prvotní instalaci tryton-server(u).

Postup je následující :

  • nainstalujeme příslušné distribuční balíčky s požadovanými moduly
  • zaregistrujeme nově nainstalované moduly v tryton-server(u)
  • po přihlášení do systému moduly aktivujeme a příp. pomocí průvodce nakonfigurujeme.

Ukázka přidání modulu tryton-modules-account-eu a modulu tryton-modules-bank. Po přihlášení na teminál serveru zadáme:

pepa@ubnt: sudo apt-get install tryton-modules-account-eu tryton-modules-bank

Nyní aktualizujeme nastavení tryton-server(u), resp. zaktualizujeme seznam nainstalovaných modulů a tryton-server restartujeme. V terminálu zadáme následující příkazy:

pepa@ubnt: sudo trytond-admin -c /etc/tryton/trytond.conf -d tryton --update-modules-list
pepa@ubnt:
..
.. restartujeme tryton-server
..
pepa@ubnt: sudo /etc/init.d/tryton-server restart
pepa@ubnt:
..
.. nebo
..
pepa@ubnt: sudo systemctl restart tryton-server.service
pepa@ubnt:
..
.. nebo
..
pepa@ubnt: sudo service tryton-server restart

Poznámka

V ubuntu 19.10 je Tryton integrován jak pro spouštění přes sysvinit, tak systemd

Nyní se můžeme přihlásit do Trytonu prostřednictvím desktopového klienta a aktivovat nainstalované moduly, příp. je pomocí průvodce nakonfigurovat.

Soubory Tryton (v Ubuntu 19.10)

Pozn. - umístění a obsah odpobvídá souborům nainstalovaných z distribučních balíčků Tryton. Instalace jiným způsobem (např. pomocí pip3) může znamenat jiné výchozí umístění souborů.

Konfigurační soubory

/etc/default/tryton-server zobrazit
/etc/init.d/tryton-server zobrazit
/etc/init.d/tryton-server-cron zobrazit
/etc/init.d/tryton-server-worker zobrazit
/etc/tryton/trytond.conf zobrazit
/etc/tryton/trytond_log.conf zobrazit
/lib/systemd/system/tryton-server-cron@.service zobrazit
/lib/systemd/system/tryton-server-worker@.service zobrazit
/lib/systemd/system/tryton-server.service zobrazit

Umístění ostatních souborů

/usr/bin/trytond
/usr/bin/trytond-admin
/usr/bin/trytond-cron
/usr/bin/trytond-worker
/usr/lib/python3/dist-packages/trytond
/usr/share/doc/tryton-server/*
/usr/share/lintian/overrides/tryton-server
/usr/share/man/man1/*