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. .. |Ubuntu-server 19.10_amd64| raw:: html Ubuntu-server 19.10_amd64 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 .. note:: 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: .. code-block:: none 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í : .. code-block:: none 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. ``'*'`` .. code-block:: none # - 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í : .. code-block:: none pepa@ubnt: sudo nano /etc/postgresql/11/main/pg_hba.conf .. note:: Předpokládejme, že rozsah lokální sítě bude ``192.168.1.0/24`` .. code-block:: none # IPv4 local connections: host all all 192.168.1.0/24 trust Nyní si nastavíme heslo pro uživatele **postgres** .. code-block:: none 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 .. code-block:: none 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í: .. code-block:: none .. 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: .. code-block:: none pepa@ubnt: apt-cache search tryton Instalaci základu **Tryton serveru** vč. dokumentace provedeme tímto příkazem v terminálu: .. code-block:: none 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. .. literalinclude:: ../../../config_files/etc_tryton_trytond.conf :lines: 11,12,17,18,22,23,24,26,30,31,35,51,53,54,56 :emphasize-lines: 4,7,9,12,15 Pro kontrolu si můžeme vypsat nastavené direktivy v ``trytond.conf``. V terminálu zadáme: .. code-block:: none 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: .. code-block:: none 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. .. code-block:: none 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: .. code-block:: none 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: .. code-block:: none 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 .. note:: 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. .. rubric:: 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 .. list-table:: :widths: 60 15 :header-rows: 0 * - ``/etc/default/tryton-server`` - :download:`zobrazit <../../../config_files/etc_default_tryton-server>` * - ``/etc/init.d/tryton-server`` - :download:`zobrazit <../../../config_files/etc_init-d_tryton-server>` * - ``/etc/init.d/tryton-server-cron`` - :download:`zobrazit <../../../config_files/etc_init-d_tryton-server-cron>` * - ``/etc/init.d/tryton-server-worker`` - :download:`zobrazit <../../../config_files/etc_init-d_tryton-server-worker>` * - ``/etc/tryton/trytond.conf`` - :download:`zobrazit <../../../config_files/etc_tryton_trytond.conf>` * - ``/etc/tryton/trytond_log.conf`` - :download:`zobrazit <../../../config_files/etc_tryton_trytond_log.conf>` * - ``/lib/systemd/system/tryton-server-cron@.service`` - :download:`zobrazit <../../../config_files/lib_systemd_system_tryton-server-cron@.service>` * - ``/lib/systemd/system/tryton-server-worker@.service`` - :download:`zobrazit <../../../config_files/lib_systemd_system_tryton-server-worker@.service>` * - ``/lib/systemd/system/tryton-server.service`` - :download:`zobrazit <../../../config_files/lib_systemd_system_tryton-server.service>` Umístění ostatních souborů .. list-table:: :widths: 60 :header-rows: 0 * - ``/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/*``