Odoo 13 - A szoftver amire szükséged van ha mindent egy rendszerben szeretnél kezelni
Tartalomjegyzék:
- Előfeltételek telepítése
- Rendszerfelhasználó létrehozása
- A PostgreSQL telepítése és konfigurálása
- A Wkhtmltopdf telepítése
- Az Odoo 13 telepítése és konfigurálása
- Rendszerezett egységfájl létrehozása
- A telepítés tesztelése
- Az Nginx konfigurálása SSL terminációs proxyként
- A kötési felület megváltoztatása
- A multiprocessing engedélyezése
- Következtetés
Az Odoo népszerű, nyílt forráskódú üzleti alkalmazáscsomag. Számos alkalmazást kínál, beleértve CRM, e-kereskedelem, weboldal készítő, számlázás, számvitel, gyártás, raktár, projekt menedzsment, leltár és még sok más, mindezt tökéletesen integrálva.
Az Odoo többféle módon telepíthető, a felhasználási körülményektől és a rendelkezésre álló technológiáktól függően. Az Odoo telepítésének legegyszerűbb és leggyorsabb módja a hivatalos Odoo APT-lerakatok használata.
Az Odoo virtuális környezetbe történő telepítése vagy Docker tárolóként történő telepítése lehetővé teszi, hogy jobban ellenőrizzék a rendszer beállításait, és több Odoo verziót futtasson ugyanazon a rendszeren.
Ebben az útmutatóban bemutatjuk, hogyan telepítheti és telepítheti az Odoo 13-at egy Python virtuális környezetben az Ubuntu 18.04-en. Letölti az Odoo-t a Github adattárából és az Nginx-et fordított proxyként fogja használni.
Előfeltételek telepítése
Jelentkezzen be az Ubuntu-ba sudo felhasználóként, és frissítse az Apt gyorsítótárat:
sudo apt update
Telepítse a Git, Pip, Node.js fájlokat és az Odoo függőségek létrehozásához szükséges eszközöket:
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
Rendszerfelhasználó létrehozása
Hozzon létre egy rendszerfelhasználót, amely futtatja az
odoo13
nevű Odoo nevű otthoni könyvtárat
/opt/odoo13
:
sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13
A felhasználó nevét bármire beállíthatja, amire kíváncsi, mindaddig, amíg létrehoz egy PostgreSQL felhasználót ugyanazzal a névvel.
A PostgreSQL telepítése és konfigurálása
Az Odoo a PostgreSQL-t használja adatbázis-háttérként. A PostgreSQL telepítéséhez futtassa a következő parancsot:
sudo apt install postgresql
Miután a telepítés befejeződött, hozzon létre egy PostgreSQL felhasználót az előzőleg létrehozott rendszerfelhasználóval megegyező névvel, esetünkben az
odoo13
:
sudo su - postgres -c "createuser -s odoo13"
A Wkhtmltopdf telepítése
A
wkhtmltox
csomag nyílt forráskódú parancssori eszközkészlettel rendelkezik, amely HTML formátumúvá teszi PDF-fájlokat és különféle képformátumokat. A PDF jelentések nyomtatásához telepítenie kell a
wkhtmltopdf
eszközt. Az Odoo ajánlott verziója
0.12.5
, amely nem érhető el az alapértelmezett Ubuntu 18.04 adattárakban.
Töltse le a csomagot a következő wget paranccsal:
wget
A letöltés befejezése után telepítse a csomagot a következő gépeléssel:
sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb
Az Odoo 13 telepítése és konfigurálása
Mint korábban említettük, az Odoo-t a forrásból telepítjük egy izolált Python virtuális környezetbe.
Először váltson az “odoo13” felhasználóra:
sudo su - odoo13
Klónozzuk az Odoo 13 forráskódját a GitHub-tól:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
A letöltés befejezése után hozzon létre egy új Python virtuális környezetet az Odoo számára:
cd /opt/odoo13
python3 -m venv odoo-venv
Aktiválja a környezetet a következő paranccsal:
source odoo-venv/bin/activate
Telepítse az összes szükséges Python modult a pip3 segítségével:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Ha bármilyen fordítási hibát észlel a telepítés során, ellenőrizze, hogy a
Installing Prerequisites
szakaszban felsorolt összes szükséges függőség telepítve van-e.
Ha kész, deaktiválja a környezetet a következő gépeléssel:
deactivate
Létrehozunk egy új könyvtárat, amely tartalmazza a harmadik fél kiegészítőit.
mkdir /opt/odoo13/odoo-custom-addons
Később hozzáadjuk ezt a könyvtárat az
addons_path
paraméterhez. Ez a paraméter meghatározza azon könyvtárak listáját, ahol az Odoo modulokat keres.
Váltás vissza a sudo felhasználóra:
exit
Hozzon létre egy konfigurációs fájlt a következő tartalommal:
sudo nano /etc/odoo13.conf
/etc/odoo13.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo13 db_password = False addons_path = /opt/odoo13/odoo/addons, /opt/odoo13/odoo-custom-addons
Ne felejtsd el a
my_admin_passwd
biztonságosabbra változtatni.
Rendszerezett egységfájl létrehozása
Nyissa meg a szövegszerkesztőt, és hozzon létre egy
odoo13.service
nevű szolgáltatási egység fájlt a következő tartalommal:
sudo nano /etc/systemd/system/odoo13.service
/etc/systemd/system/odoo13.service
Description=Odoo13 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo13 PermissionsStartOnly=true User=odoo13 Group=odoo13 ExecStart=/opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf StandardOutput=journal+console WantedBy=multi-user.target
Értesítse a rendszert, hogy létezik egy új egységfájl:
sudo systemctl daemon-reload
Indítsa el az Odoo szolgáltatást, és engedélyezte a rendszer indítását a következő futtatásával:
sudo systemctl enable --now odoo13
Ellenőrizze a szolgáltatás állapotát:
sudo systemctl status odoo13
A kimenetnek az alábbiak szerint kell kinéznie, jelezve, hogy az Odoo szolgáltatás aktív és fut.
● odoo13.service Loaded: loaded (/etc/systemd/system/odoo13.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-10-19 20:06:23 UTC; 3s ago Main PID: 1860 (python3) Tasks: 4 (limit: 2362) CGroup: /system.slice/odoo13.service └─1860 /opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
Az Odoo szolgáltatás által naplózott üzenetek megtekintéséhez használja az alábbi parancsot:
A telepítés tesztelése
Nyissa meg a böngészőt, és írja be:
http://:8069
http://:8069
Ha a telepítés sikeres, akkor a következő képernyő jelenik meg:

Az Nginx konfigurálása SSL terminációs proxyként
Az alapértelmezett Odoo webszerver forgalmat szolgál fel HTTP-n keresztül. Az Odoo telepítésének biztonságosabbá tétele érdekében az Nginxet SSL-lezárási proxyként fogjuk konfigurálni, amely kiszolgálja a forgalmat a HTTPS-en keresztül.
Az SSL terminál proxy egy proxy szerver, amely kezeli az SSL titkosítást / visszafejtést. Ez azt jelenti, hogy a lezárási proxy (Nginx) feldolgozza és visszafejti a bejövő TLS kapcsolatokat (HTTPS), és továbbadja a titkosítatlan kéréseket a belső szolgálatnak (Odoo). Az Nginx és az Odoo közötti forgalom nem lesz titkosítva (HTTP).
A fordított proxy használata sok előnnyel jár, például a terheléselosztás, az SSL megszüntetés, a gyorsítótárazás, a tömörítés, a statikus tartalom kiszolgálása és még sok más.
Mielőtt folytatná ezt a részt, győződjön meg arról, hogy teljesítette a következő előfeltételeket:
- A nyilvános kiszolgáló IP-jére mutató domain név. A domainhez a
example.com.Nginx install.SSL tanúsítványt fogjuk használni. Telepíthet egy ingyenes Let's Encrypt SSL tanúsítványt.
Nyissa meg a szövegszerkesztőt, és hozza létre / szerkessze a tartománykiszolgáló blokkját:
sudo nano /etc/nginx/sites-enabled/example.com
A következő konfiguráció beállítja az SSL-lezárást, a HTTP-től a HTTPS-ig történő átirányítást, a WWW-t a nem-WWW-ig történő átirányításhoz, a statikus fájlok gyorsítótárba helyezését és a GZip-tömörítés engedélyezését.
/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; }
Ne felejtsd el lecserélni a example.com webhelyet az Odoo domainre, és állítsd be a helyes utat az SSL tanúsítvány fájlokhoz. Az ebben a konfigurációban használt kódrészletek ebben az útmutatóban készülnek.
Ha kész, indítsa újra az Nginx szolgáltatást:
sudo systemctl restart nginx
Ezután meg kell mondanunk Odoo-nak, hogy használja a proxyt. Ehhez nyissa meg a konfigurációs fájlt, és adja hozzá a következő sort:
/etc/odoo13.conf
proxy_mode = True
Indítsa újra az Odoo szolgáltatást, hogy a változások hatályba lépjenek:
sudo systemctl restart odoo13
Ezen a ponton a fordított proxy konfigurálva van, és az Odoo példányhoz hozzáférhet a következő
https://example.com
:
https://example.com
A kötési felület megváltoztatása
Ez a lépés nem kötelező, de helyes biztonsági gyakorlat.
Alapértelmezés szerint az Odoo szerver az összes interfészen meghallgatja a
8069
portot. Az Odoo-példányhoz való közvetlen hozzáférés letiltásához blokkolhatja a
8069
portot minden nyilvános interfésznél, vagy arra kényszerítheti az Odoo-t, hogy csak a helyi interfészen hallgassa meg.
Az Odoo-t úgy konfiguráljuk, hogy csak a
127.0.0.1
hallgassa meg. Nyissa meg a konfigurációt, és a fájl végére adja hozzá a következő két sort:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Mentse el a konfigurációs fájlt, és indítsa újra az Odoo szervert, hogy a változások érvénybe lépjenek:
A multiprocessing engedélyezése
Alapértelmezés szerint Odoo többszálú módban működik. A termelési telepítéseknél ajánlatos átváltani a többfeldolgozó kiszolgálóra, mivel ez növeli a stabilitást, és jobban kihasználja a rendszer erőforrásait.
A multiprocessing engedélyezéséhez szerkesztenie kell az Odoo konfigurációt, és beállítania kell a nulla nem munkavállalói folyamatok számát. A dolgozók számát a rendszerben található CPU-magok és a rendelkezésre álló RAM-memória alapján számítják.
A hivatalos Odoo dokumentáció szerint a dolgozók számának és a szükséges memória méretének kiszámításához az alábbi képleteket és feltételezéseket használhatja:
Munkavállaló számának kiszámítása
- A munkavállaló elméletileg maximális száma = (system_cpus * 2) + 11 munkavállaló képes kiszolgálni ~ = 6 egyidejű felhasználótCron munkavállalók CPU-t is igényelnek
RAM memória méretének kiszámítása
- Úgy véljük, hogy az összes kérelem 20% -a nehéz, 80% -a pedig könnyebb. A nehéz igények körülbelül 1 GB RAM-ot igényelnek, míg a könnyebbek kb. 150 MB RAM-hoz szükséges RAM-ot = munkavállalók száma
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Tegyük fel, hogy van egy rendszere 4 processzormaggal, 8 GB RAM memóriával és 30 egyidejű Odoo felhasználóval.
-
30 users / 6 = **5**(5 a szükséges munkavállalók elméleti száma)(4 * 2) + 1 = **9**(9 a munkavállalók elméleti maximális száma)
A fenti számítás alapján 5 munkavállalót + 1 munkavállalót használhat a cron munkavállaló számára, azaz összesen 6 munkavállalót.
Számítsa ki a RAM memóriafelhasználását a dolgozók száma alapján:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
A számítás azt mutatja, hogy az Odoo telepítéséhez kb. 2 GB RAM szükséges.
A multiprocessing üzemmódba való átváltáshoz nyissa meg a konfigurációs fájlt, és csatolja a kiszámított értékeket:
/etc/odoo13.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
Indítsa újra az Odoo szolgáltatást, hogy a változások hatályba lépjenek:
sudo systemctl restart odoo13
A rendszer többi forrását az ezen a rendszeren futó egyéb szolgáltatások fogják felhasználni. Ebben az útmutatóban az Odoo-t, a PostgreSQL-t és az Nginx-et telepítettük ugyanarra a szerverre. A beállítástól függően előfordulhat, hogy a kiszolgálón más szolgáltatások is futnak.
Következtetés
Ez az oktatóprogram végigvezette az Odoo 13 telepítését az Ubuntu 18.04-en egy Python virtuális környezetben, Nginx használatával fordított proxyként. Megmutattuk, hogyan lehet engedélyezni a multiprocesszálást és optimalizálni az Odoo-t a termelési környezet számára.
Érdemes lehet megnéznie az Odoo adatbázisok automatikus napi biztonsági másolatának létrehozásáról szóló bemutatónkat is.
ubuntu odoo postgresql python pip nginx proxy sslAz odoo 11 telepítése az ubuntu 18.04-en
Ez az útmutató ismerteti az Odoo telepítéséhez és konfigurálásához szükséges lépéseket a Git source és Python virtuális környezet felhasználásával egy Ubuntu 18.04 rendszeren.
Az odoo 12 telepítése az ubuntu 18.04-en
Ez az oktatóanyag az Odoo 12 telepítéséhez és konfigurálásához szükséges lépéseket tartalmazza a Git source és Python virtuális környezet felhasználásával, Ubuntu 18.04 rendszeren.
Az odoo 11 telepítése az ubuntu 16.04 verzióra
Az Odoo a világ egyik legnépszerűbb üzleti szoftvere. Ez az útmutató az Odoo telepítéséhez és konfigurálásához szükséges lépéseket tartalmazza az Ubuntu 16.04 Git source és Python virtuális környezetének használatával







