Úvod
Odoo je webová sada aplikací pro správu podniku s otevřeným zdrojovým kódem. Platforma zahrnuje různá obchodní řešení, jako je CRM, skladové hospodářství, účetnictví, fakturace, tvorba webových stránek atd.
Edice Odoo Community je pro Ubuntu k dispozici zdarma, ale podle potřeby můžete přejít na verzi Enterprise.
Tento výukový program obsahuje kroky k instalaci Odoo 15 na Ubuntu 20.04 ve virtuálním prostředí Pythonu.

Předpoklady
- Přístup k příkazovému řádku/terminálu s oprávněními sudo.
- Přístup k prohlížeči.
- Git nainstalován.
- Pip pro Python 3 je nainstalován.
- NodeJS nainstalován.
Nainstalujte Odoo na Ubuntu
Po splnění všech předpokladů nainstalujte Odoo 15 na Ubuntu ve virtuálním prostředí Pythonu podle následujících kroků.
Instalace Odoo ve virtuálním prostředí vytváří izolovaný systém a umožňuje testování různých verzí na stejném počítači.
Krok 1:Aktualizace úložiště
Otevřete terminál a aktualizujte úložiště apt:
sudo apt update
Než budete pokračovat k dalšímu kroku, počkejte na dokončení aktualizace.
Krok 2:Instalace závislostí Odoo
Nainstalujte závislosti Odoo pomocí následujícího příkazu:
sudo apt install -y build-essential wget python3-dev python3-venv python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev libxslt1-dev libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev
Ujistěte se, že zde nejsou žádné překlepy, abyste předešli chybějícím balíčkům.

Instalace stáhne všechny další závislosti nutné pro instalaci Odoo.
Krok 3:Vytvořte uživatele Odoo
Spuštění Odoo jako uživatel root představuje bezpečnostní riziko. Vytvořte nového systémového uživatele, skupinu a domovský adresář s názvem Odoo :
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
Uživatelské jméno se může lišit, pokud odpovídá uživateli PostgreSQL a informacím o konfiguračním souboru.
Krok 4:Instalace a konfigurace PostgreSQL
Odoo používá PostgreSQL jako databázi. Nainstalujte PostgreSQL z oficiálních repozitářů Ubuntu pomocí:
sudo apt install postgresql

Stiskněte Y až budete vyzváni k pokračování. Po dokončení instalace vytvořte uživatele Postgres se stejným jménem z předchozího kroku:
sudo su - postgres -c "createuser -s odoo"
Příkaz vytvoří uživatele s názvem odoo ke správě databáze.
Krok 5:Nainstalujte wkhtmltopdf
Sada nástrojů s otevřeným zdrojovým kódem wkhtmltopdf pomáhá vykreslovat stránky HTML do souborů PDF a obrázků pro generování zpráv v různých formátech.
Chcete-li stáhnout instalační program, spusťte:
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb

Příkaz načte balíček Debian. Chcete-li balíček nainstalovat, spusťte:
sudo apt install ./wkhtmltox_0.12.5-1.bionic_amd64.deb

Stiskněte Y až budete požádáni o pokračování v instalaci. Než budete pokračovat, počkejte na dokončení procesu.
Krok 6:Instalace a konfigurace Odoo
Chcete-li nainstalovat Odoo, postupujte podle následujících kroků:
1. Přepněte na odoo uživatele pomocí příkazu sudo su:
sudo su - odoo

2. Naklonujte zdrojový kód Odoo 15 z úložiště Git:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 15.0 /opt/odoo15/odoo

4. Přejděte do adresáře odoo a vytvořte virtuální prostředí Python pro Odoo:
cd /opt/odoo
python3 -m venv odoo-venv
5. Aktivujte prostředí pomocí:
source odoo-venv/bin/activate

Název prostředí se zobrazí v terminálu před uživatelem.
5. Nainstalujte následující požadavky pro Odoo:
pip3 install wheel

pip3 install -r odoo/requirements.txt

Počkejte na dokončení instalace.
6. Poté Odoo vyžaduje další nastavení a konfiguraci. Deaktivujte prostředí pomocí:
deactivate
7. Vytvořte samostatný adresář pro vlastní doplňky:
mkdir /opt/odoo/odoo-custom-addons
Tento adresář definuje, kde Odoo hledá moduly.
8. Přepněte zpět na uživatele sudo pomocí:
exit

9. Vytvořte odoo.conf pomocí textového editoru nano:
sudo nano /etc/odoo.conf
Vložte následující obsah do odoo.conf soubor:
[options]
; Database operations password:
admin_passwd = PASSWORD
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo/addons,/opt/odoo/odoo-custom-addons

Změňte admin_password
pole na bezpečné heslo pro databázi. addons_path
pole obsahuje cesty k umístění modulu Odoo. Uložte a zavřete soubor.
10. Vytvořte odoo.service soubor s:
sudo nano /etc/systemd/system/odoo.service
Do souboru vložte následující obsah:
[Unit]
Description=Odoo
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-venv/bin/python3 /opt/odoo/odoo/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target

Služba se připojuje k Odoo prostřednictvím virtuálního prostředí Pythonu a používá konfigurační soubor z předchozího kroku. Uložte změny a zavřete soubor.
11. Aktualizujte seznam služeb:
sudo systemctl daemon-reload
Služba Odoo je nyní k dispozici.
Krok 7:Spusťte a otestujte Odoo
Chcete-li spustit a otestovat Odoo, postupujte takto:
1. Povolte službu Odoo při spuštění systému:
sudo systemctl enable --now odoo
2. Zkontrolujte stav služby pomocí:
sudo systemctl status odoo

Stav se zobrazuje jako active (running)
.
3. journalctl obsahuje všechny informace o běžící službě:
sudo journalctl -u odoo
Pomocí tohoto souboru zkontrolujte případné chyby.
4. Nakonec přejděte na Odoo z prohlížeče na portu localhost 8069:
http://localhost:8069

Stránka zobrazuje počáteční nastavení Odoo. Použijte admin_password
z /etc/odoo.conf soubor jako hlavní heslo.
Krok 8:Povolte vícenásobné zpracování (volitelné)
Odoo ve výchozím nastavení funguje v režimu více vláken. Před nasazením změňte server na režim více zpracování, abyste lépe využívali systémové prostředky a zajistili stabilitu.
Počet procesorů pomáhá odhadnout počet pracovníků:
- Maximální počet pracovníků =(CPU * 2) + 1. Pro 4 procesory by systém měl maximálně 9 pracovníků.
- Jeden pracovník obsluhuje teoreticky přibližně šest souběžných uživatelů. Pro 24 současných uživatelů vyžaduje systém alespoň čtyři pracovníky.
- Cron worker vyžaduje jeden CPU.
Proto systém se 4 CPU a 24 souběžnými uživateli potřebuje alespoň šest pracovníků plus dalšího cron workera.
Počet pracovníků a distribuce RAM určují celkovou RAM, kterou Odoo potřebuje:
- Celková RAM =Zaměstnanci * ((Poměr nenáročných pracovníků * Lehčí pracovníci RAM) + (Poměr těžkých pracovníků * RAM pro těžké pracovníky))
Pokud je přibližně 80 % lehkých pracovníků, kteří používají 100 GB RAM a 20 % těžkých pracovníků, kteří používají 1 GB RAM, výpočet je:
Total RAM = 7 * ((100*0.8)+(1024*0.2)) = 1993.6
Odoo vyžaduje celkem 2 GB RAM. Přidejte informace do /etc/odoo.conf soubor:
[options]
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 1
workers = 6
Chcete-li použít změny, restartujte službu Odoo:
sudo systemctl restart odoo
Zbývající systémové prostředky jsou dostupné pro databázi PostgreSQL a jakékoli další služby běžící v systému.
Krok 9:Změňte číslo portu (volitelné)
Ve výchozím nastavení Odoo naslouchá na portu 8069. Změna výchozího čísla portu je dobrou bezpečnostní praxí.
Přidejte následující řádky do /etc/odoo.conf soubor, aby Odoo naslouchal pouze na 127.0.0.1 portu 1111:
xmlrpc_interface = 127.0.0.1
netrpc_interface = 127.0.0.1
xmlrpc_port = 1111
Chcete-li použít změny, restartujte službu Odoo:
sudo systemctl restart odoo
Změny se projeví okamžitě.