Rocket.Chat Demo
Obsah:
- Než začnete
- Vytvořte uživatele Odoo
- Nainstalujte a nakonfigurujte PostgreSQL
- Nainstalujte Wkhtmltopdf
- Nainstalujte a nakonfigurujte Odoo
- Vytvořte soubor Systemd Unit
- Vyzkoušejte instalaci
- Nakonfigurujte Nginx jako SSL Termination Proxy
- Změňte vazebné rozhraní
- Povolit vícenásobné zpracování
- Závěr
Odoo je nejoblíbenějším podnikovým softwarem typu all-in-one na světě. Nabízí celou řadu obchodních aplikací, včetně CRM, webových stránek, elektronického obchodování, fakturace, účetnictví, výroby, skladu, řízení projektů, inventáře a mnoho dalšího, vše hladce integrováno.
Odoo lze instalovat několika různými způsoby. Nejjednodušší a nejrychlejší způsob instalace aplikace Odoo je pomocí jejich oficiálních repozitářů APT.
Tento tutoriál popisuje kroky potřebné pro instalaci a konfiguraci Odoo 12 pro produkci pomocí zdroje Git a virtuálního prostředí Python v systému Ubuntu 18.04.
Než začnete
Přihlaste se k počítači Ubuntu jako uživatel sudo a aktualizujte systém na nejnovější balíčky:
sudo apt update && sudo apt upgrade
Nainstalujte Git, Pip, Node.js a nástroje potřebné k vytváření závislostí Odoo:
sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less
Vytvořte uživatele Odoo
Vytvořte nového uživatele systému Odoo s názvem
odoo12
s domovským adresářem
/opt/odoo12
pomocí následujícího příkazu:
sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12
Pro svého uživatele Odoo můžete použít libovolné jméno, pokud vytvoříte PostgreSQL uživatele se stejným jménem.
Nainstalujte a nakonfigurujte PostgreSQL
Nainstalujte balíček PostgreSQL z výchozích úložišť Ubuntu:
sudo apt install postgresql
Po dokončení instalace vytvořte uživatele PostgreSQL se stejným jménem jako dříve vytvořený systémový uživatel, v našem případě
odoo12
:
sudo su - postgres -c "createuser -s odoo12"
Nainstalujte Wkhtmltopdf
Balíček
wkhtmltox
poskytuje sadu nástrojů příkazového řádku s otevřeným zdrojovým kódem, které mohou vykreslit HTML do PDF a různé obrazové formáty. Abyste mohli tisknout zprávy PDF, budete potřebovat nástroj
wkhtmltopdf
. Doporučená verze pro Odoo je
0.12.1
která není k dispozici v oficiálních repozitářích Ubuntu 18.04.
Stáhněte si balíček pomocí následujícího příkazu wget:
wget
Po dokončení stahování nainstalujte balíček zadáním:
sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb
Nainstalujte a nakonfigurujte Odoo
Nainstalujeme Odoo z úložiště GitHub uvnitř izolovaného virtuálního prostředí Python.
Před zahájením procesu instalace změňte uživatele na „odoo12“:
sudo su - odoo12
Začněte klonováním zdrojového kódu Odoo 12 z úložiště GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Po stažení zdrojového kódu vytvořte nové virtuální prostředí Pythonu pro instalaci Odoo 12:
cd /opt/odoo12
python3 -m venv odoo-venv
Dále aktivujte prostředí pomocí následujícího příkazu:
source odoo-venv/bin/activate
Nainstalujte všechny požadované moduly Python pomocí pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Pokud během instalace narazíte na nějaké chyby kompilace, ujistěte se, že jste nainstalovali všechny požadované závislosti uvedené v části
Before you begin
.
Deaktivujte prostředí pomocí následujícího příkazu:
deactivate
Vytvořte nový adresář pro vlastní doplňky:
mkdir /opt/odoo12/odoo-custom-addons
Přepněte zpět na uživatele sudo:
exit
Dále vytvořte konfigurační soubor zkopírováním přiloženého ukázkového konfiguračního souboru:
sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf
Otevřete soubor a upravte jej následujícím způsobem:
sudo nano /etc/odoo12.conf
/etc/odoo12.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo12 db_password = False addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
Nezapomeňte změnit
my_admin_passwd
na něco bezpečnějšího.
Vytvořte soubor Systemd Unit
Pro spuštění Odoo jako služby musíme vytvořit soubor servisní jednotky v adresáři
/etc/systemd/system/
.
Otevřete textový editor a vložte následující konfiguraci:
sudo nano /etc/systemd/system/odoo12.service
/etc/systemd/system/odoo12.service
Description=Odoo12 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo12 PermissionsStartOnly=true User=odoo12 Group=odoo12 ExecStart=/opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf StandardOutput=journal+console WantedBy=multi-user.target
Upozorněte systemd, že existuje nový soubor jednotky a spusťte službu Odoo spuštěním:
sudo systemctl daemon-reload
sudo systemctl start odoo12
Zkontrolujte stav služby pomocí následujícího příkazu:
sudo systemctl status odoo12
Výstup by měl vypadat jako níže, což znamená, že služba Odoo je aktivní a spuštěná.
* odoo12.service - Odoo12 Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2018-10-09 14:15:30 PDT; 3s ago Main PID: 24334 (python3) Tasks: 4 (limit: 2319) CGroup: /system.slice/odoo12.service `-24334 /opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Povolit automatické spuštění služby Odoo v době spuštění:
sudo systemctl enable odoo12
Vyzkoušejte instalaci
Otevřete prohlížeč a zadejte:
http://:8069
http://:8069
Za předpokladu, že je instalace úspěšná, objeví se obrazovka podobná následující:
Nakonfigurujte Nginx jako SSL Termination Proxy
Před pokračováním v této části se ujistěte, že jste splnili následující předpoklady:
- Název domény směřující na IP vašeho veřejného serveru. V tomto tutoriálu použijeme pro vaši doménu nainstalovaný certifikát
example.com
.Nginx.SSL. Můžete nainstalovat bezplatný certifikát Pojďme šifrovat SSL.
Výchozí webový server Odoo slouží k provozu přes HTTP. Aby bylo naše nasazení Odoo bezpečnější, nakonfigurujeme Nginx jako proxy pro ukončení SSL, které bude sloužit přenosu přes
Proxy pro ukončení SSL je proxy server, který zpracovává šifrování / dešifrování SSL. To znamená, že náš terminátor proxy (Nginx) bude zpracovávat a dešifrovat příchozí připojení TLS (HTTPS) a bude předávat nešifrované požadavky naší interní službě (Odoo), takže přenos mezi Nginx a Odoo nebude šifrován (HTTP).
Použití reverzního proxy serveru vám přináší mnoho výhod, jako je například vyrovnávání zatížení, ukončení protokolu SSL, ukládání do mezipaměti, komprese, poskytování statického obsahu a další.
V tomto příkladu nakonfigurujeme ukončení SSL, přesměrování HTTP na HTTPS, přesměrování WWW na přesměrování mimo WWW, ukládání do mezipaměti statické soubory a povolíme kompresi GZip.
Otevřete textový editor a vytvořte následující soubor:
sudo nano /etc/nginx/sites-enabled/example.com
/etc/nginx/sites-enabled/example.com
# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } # HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # Handle longpoll requests location /longpolling { proxy_pass http://odoochat; } # Handle / requests location / { proxy_redirect off; proxy_pass http://odoo; } # Cache static files location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # Gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Nezapomeňte nahradit example.com vaší doménou Odoo a nastavit správnou cestu k souborům certifikátů SSL. Úryvky použité v této konfiguraci jsou vytvořeny v této příručce.
Po dokončení restartujte službu Nginx pomocí:
sudo systemctl restart nginx
Dále musíme Odoo říct, že použijeme proxy. Otevřete konfigurační soubor a přidejte následující řádek:
/etc/odoo12.conf
proxy_mode = True
Restartujte službu Odoo, aby se změny projevily:
sudo systemctl restart odoo12
Nyní je váš server nakonfigurován a ke své instanci Odoo můžete přistupovat na adrese:
https://example.com
Změňte vazebné rozhraní
Tento krok je volitelný, ale je to dobrý bezpečnostní postup.
Ve výchozím nastavení server Odoo poslouchá port 8069 na všech rozhraních. Pokud chcete zakázat přímý přístup k instanci Odoo, můžete buď zablokovat port
8069
pro všechna veřejná rozhraní, nebo přinutit Odoo poslouchat pouze na lokálním rozhraní.
V této příručce nakonfigurujeme Odoo tak, aby poslouchal pouze na
127.0.0.1
. Otevřete konfiguraci a přidejte následující dva řádky na konec souboru:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Uložte konfigurační soubor a restartujte server Odoo, aby se změny projevily:
Povolit vícenásobné zpracování
Ve výchozím nastavení Odoo pracuje v režimu s více vlákny. Pro produkční nasazení se doporučuje přepnout na multiprocesorový server, protože to zvyšuje stabilitu a lépe využívá systémové prostředky. Abychom umožnili multiprocesování, musíme upravit konfiguraci Odoo a nastavit nenulový počet pracovních procesů.
Počet pracovníků se počítá na základě počtu jader CPU v systému a dostupné paměti RAM.
Podle oficiální dokumentace společnosti Odoo pro výpočet počtu pracovníků a požadované velikosti paměti RAM použijeme následující vzorce a předpoklady:
Výpočet čísla pracovníka
- teoretický maximální počet pracovníků = (system_cpus * 2) + 11 pracovník může obsluhovat ~ = 6 souběžných uživatelů
Výpočet velikosti paměti RAM
- Budeme uvažovat, že 20% všech požadavků jsou náročné, zatímco 80% jsou lehčí. Velké požadavky využívají přibližně 1 GB RAM, zatímco lehčí používají přibližně 150 MB RAMNeeded RAM =
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Řekněme, že máme systém se 4 jádry CPU, 8 GB paměti RAM a 30 současnými uživateli Odoo.
-
30 users / 6 = **5**
(5 je teoretický počet potřebných pracovníků)(4 * 2) + 1 = **9**
(9 je teoretický maximální počet pracovníků)
Na základě výše uvedeného výpočtu můžeme použít 5 pracovníků + 1 pracovník pro cron pracovníka, což je celkem 6 pracovníků.
Spočítejte spotřebu paměti RAM na základě počtu pracovníků:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Výše uvedený výpočet ukazuje, že naše instalace aplikace Odoo bude potřebovat přibližně 2 GB paměti RAM.
Chcete-li přepnout do režimu vícenásobného zpracování, otevřete konfigurační soubor a připojte následující řádky:
/etc/odoo12.conf
limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 workers = 5
Restartujte službu Odoo, aby se změny projevily:
sudo systemctl restart odoo12
Zbytek systémových prostředků budou využívat další služby, které běží v tomto systému. V této příručce jsme nainstalovali Odoo spolu s PostgreSQL a Nginx na stejný server a v závislosti na nastavení můžete mít na serveru spuštěné i další služby.
Závěr
Tento tutoriál vás provedl instalací aplikace Odoo 12 na Ubuntu 18.04 ve virtuálním prostředí Python pomocí Nginx jako reverzního proxy. Také jste se naučili, jak povolit multiprocesing a optimalizovat Odoo pro produkční prostředí.
Můžete si také prohlédnout náš tutoriál o tom, jak vytvořit automatické denní zálohy vašich databází Odoo.
ubuntu odoo postgresql python pip nginx proxy sslJak nasadit odoo 11 na Ubuntu 18.04

Tato příručka popisuje kroky nezbytné pro instalaci a konfiguraci Odoo pro produkci pomocí zdroje Git a virtuálního prostředí Python v systému Ubuntu 18.04.
Jak nasadit rocket.chat na Ubuntu 18.04

Rocket.Chat je týmová komunikační platforma s otevřeným zdrojovým kódem, alternativa Slack hostovaná hostitelem. Rocket.Chat je perfektním řešením pro společnosti a komunity, které chtějí hostit svůj vlastní chatovací systém.
Jak nasadit co nejvíc na Ubuntu 18.04

Mattermost přináší veškerou vaši týmovou komunikaci na jedno místo a poskytuje různé funkce včetně sdílení souborů, one-on-one a skupinových zpráv, vlastních emodži, videohovorů a dalších.