Inštalácia Odoo ERP 17 na Rocky, Alma, CentOS, RHEL 9|8
V čase písania tohto článku je Odoo ERP 17 najnovšou verziou úžasného open-source softvéru pre plánovanie podnikov (ERP), vytvoreného s cieľom pomôcť vašim obchodným procesom zostať efektívnymi. Odoo ERP vám poskytuje platformu s integrovanými aplikáciami na riešenie všetkých vašich obchodných problémov, od HR, CRM, správy zásob, financií, výroby, predaja až po e-commerce. V Odoo ERP sú všetky tieto integrácie distribuované prostredníctvom modulárneho prístupu, ktorý vám umožňuje začať s niekoľkými modulmi a postupne pridávať ďalšie podľa potreby. To robí z Odoo vysoko flexibilné a škálovateľné riešenie.
Na inštaláciu Odoo ERP 17 na Rocky Linux, AlmaLinux, CentOS alebo RHEL 9/8 je potrebné nasledovať niekoľko krokov:
- Inštalácia závislostí potrebných na spustenie Odoo 17
- Vytvorenie virtuálneho prostredia Python
- Inštalácia Odoo 17 na Rocky/AlmaLinux/RHEL 9|8
- Konfigurácia Odoo a webového servera
- Prístup k Odoo a jeho používanie
Pre funkcionality Odoo ERP 17 si pozrite Poznámky k vydaniu Odoo 17
Predpoklady
Predtým, ako môžete pokračovať, budete musieť splniť nasledujúce požiadavky.
Systémové požiadavky:
- Operačný systém: Nainštalovaný Rocky, Alma, CentOS Stream alebo RHEL 8/9
- CPU: Minimálne dvojjadrový procesor (ak máte štvorjadrový, tým lepšie).
- RAM: Minimálne 2 GB pamäte (Ak máte 4 GB alebo viac, tým lepšie).
- Disk: Minimálne 20 GB voľného miesta na disku pre uchovávanie údajov Odoo.
Softvérové požiadavky:
- Python: Python 3.10 alebo vyšší.
- PostgreSQL: PostgreSQL 12 alebo novší.
- Node.js a npm: Node.js verzie 12.x alebo novšej a npm na správu zdrojov.
- Wkhtmltopdf: Pre tlač PDF správ je potrebná konkrétna verzia wkhtmltopdf (0.12.5 alebo 0.12.6).
- Nginx alebo Apache: Pre reverzné proxy (zvyčajne sa uprednostňuje Nginx).
Začnime inštaláciu Odoo ERP.
Krok 1 – Nainštalujte závislosti pre zostavenie
Aktualizujte svoj systém pred akoukoľvek inštaláciou:
sudo dnf -y updateAk máte aktualizácie jadra, zvážte reštart systému predtým, než budete pokračovať:
sudo rebootĎalej nainštalujte vývojové nástroje vo vašom systéme.
sudo dnf groupinstall -y "Development Tools"Nainštalujte ďalšie knižnice, ktoré môžu byť potrebné pri zostavovaní Odoo zo zdroja:
sudo dnf install -y vim git gcc bzip2-devel redhat-rpm-config libxslt-devel openldap-devel libjpeg-devel freetype-develKrok 2 – Nainštalujte Python 3.11 a Node.js
Musíme nainštalovať Python 3.10+. V tomto článku budeme používať Python 3.11.
sudo dnf install python3.11 python3.11-devel python3.11-pipPotvrďte, že je nainštalovaný úspešne, tým, že skontrolujete jeho verziu.
$ python3.11 --version
Python 3.11.9Nainštalujme aj Node.js. Nie je potrebná žiadna konkrétna verzia, použijeme Node.js v18.
sudo dnf module reset nodejs -y
sudo dnf module install nodejs:18 -yOverte to skontrolovaním verzie Node.js.
$ node --version
v18.20.2Nainštalujte modul rtlcss pre Node pomocou npm:
sudo npm install -g rtlcssTiež nainštalujte Less a Less plugin Clean CSS:
sudo npm install -g less less-plugin-clean-cssKrok 3 – Inštalácia a konfigurácia databázy PostgreSQL
Vyžaduje sa PostgreSQL 12 alebo novší. Môžeme nainštalovať PostgreSQL 16, ktorý je dostupný v repozitároch OS APPStream. Resetujte aktuálny modul PostgreSQL.
sudo dnf module -y disable postgresqlPovoliť modul PostgreSQL 16.
sudo dnf install -y @postgresql:16Nainštalujte tiež balík postgresql-devel.
sudo dnf install -y postgresql-develInicializujte databázový server.
sudo postgresql-setup initdbSpustite a povolte službu databázy.
sudo systemctl enable --now postgresqlNakoniec vytvorte používateľa databázy odoo. Zadajte heslo pre používateľa, keď budete vyzvaní.
sudo su - postgres -c "createuser -s odoo"Ak chcete vytvoriť používateľa s heslom, spustite:
sudo -u postgres createuser odoo -U postgres -dPPre vzdialený server databázy PostgreSQL povolíte vo vašom databázovom serveri vzdialené pripojenia, aby sa k nemu Odoo mohlo pripojiť.
Krok 4 – Nainštalujte wkhtmltopdf
Wkhtmltopdf je open-source nástroj príkazového riadku, ktorý Odoo používa na prevod HTML do PDF a iných obrazových formátov prostredníctvom výkonného renderovacieho motora Webkit. Je to potrebné na generovanie dokumentov, ako sú faktúry, správy a iné tlačiteľné dokumenty.
Stiahnite a nainštalujte balík wkhtmltopdf RPM.
- Systémy založené na RHEL 9
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm
sudo dnf install -y ./wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm- Systémy založené na RHEL 8
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux8.x86_64.rpm
sudo dnf install -y ./wkhtmltox-0.12.6.1-2.almalinux8.x86_64.rpm
Overiť inštaláciu:
$ wkhtmltopdf --version
wkhtmltopdf 0.12.6.1 (with patched qt)Krok 5 – Nastavenie Python prostredia pre Odoo
Vytvorte používateľa s názvom odoo, ktorý bude spúšťať služby Odoo.
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odooNainštalujte virtualenv:
sudo pip3.11 install virtualenvPrepnite na vytvorený účet používateľa odoo.
sudo su - odooLokálne skopírujte repozitár Odoo z Githubu.
git clone --depth 1 --branch 17.0 --single-branch https://github.com/odoo/odoo.gitPoužite príkaz virtualenv na vytvorenie virtuálneho prostredia Python pre Odoo ERP.
virtualenv odoo-venvAktivujte vytvorené virtuálne prostredie.
source odoo-venv/bin/activateAktualizujte pip po aktivácii.
pip3.11 install --upgrade pipNainštalujte balík wheel pre Python v prostredí
pip3.11 install wheelNainštalujte požiadavky pre Python pre Odoo 17
pip3.11 install -r odoo/requirements.txtAk chcete zobraziť zoznam všetkých balíkov Python nainštalovaných vo virtuálnom prostredí, spustite nasledujúci príkaz:
pip3.11 listVytvorte adresár, ktorý bude ukladať všetky doplnky tretích strán.
mkdir odoo/custom-addonsOpustite virtuálne prostredie.
exitKrok 6 – Konfigurácia Odoo ERP
Skopírujte ukážkový konfiguračný súbor Odoo do adresára /etc vo vašom systéme.
sudo cp /opt/odoo/odoo/debian/odoo.conf /etc/odoo.confSúbor odoo.conf obsahuje kľúčové nastavenia potrebné na správne fungovanie Odoo. Otvorte súbor na úpravu.
# Open with vim
sudo vim /etc/odoo.conf
# Open with nano
sudo nano /etc/odoo.confUpravte nastavenia tak, aby vyzerali ako nižšie.
[options]
; This is the password that allows database operations:
admin_passwd = Str0ngAdminPasw0rd
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo/addons, /opt/odoo/odoo/custom-addons
default_productivity_apps = True
xmlrpc_port = 8069Pre vzdialený server PostgreSQL nastavte:
- db_host: IP adresa servera databázy PostgreSQL
- db_password: Heslo pre používateľa vytvoreného na vzdialenej databáze
- db_user: Vzdialený databázový používateľ bol vytvorený.
Udeľte súboru príslušné oprávnenia:
sudo chown odoo:odoo /etc/odoo.conf
sudo chmod 640 /etc/odoo.confVytvorte systémovú službu Odoo.
sudo tee /etc/systemd/system/odoo.service<<EOF
[Unit]
Description=Odoo ERP System
Documentation=http://www.odoo.com
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.11 /opt/odoo/odoo/odoo-bin \
--config=/etc/odoo.conf \
--addons-path=/opt/odoo/odoo/addons/ \
--logfile /var/log/odoo/odoo-server.log
StandardOutput=journal+console
KillMode=mixed
[Install]
WantedBy=multi-user.target
EOFVytvorte priečinok s logmi.
sudo mkdir /var/log/odoo/
sudo chown -R odoo:odoo /var/log/odoo/Spustite a aktivujte službu odoo.
sudo systemctl daemon-reload
sudo systemctl enable --now odoo.serviceSkontrolujte stav služby, či funguje správne.
$ systemctl status odoo
● odoo.service - Odoo ERP System
Loaded: loaded (/etc/systemd/system/odoo.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2024-07-18 11:34:34 UTC; 21s ago
Docs: http://www.odoo.com
Main PID: 70809 (python3.11)
Tasks: 4 (limit: 48750)
Memory: 88.2M
CGroup: /system.slice/odoo.service
└─70809 /opt/odoo/odoo-venv/bin/python3.11 /opt/odoo/odoo/odoo-bin --config=/etc/odoo.conf --addons-path=/opt/odoo/odoo/addons/ --logfile /var/log/odoo/odoo-server.log
Jul 18 11:34:34 rocky8.cloudspinx.com systemd[1]: Started Odoo ERP System.Krok 7 – Konfigurácia firewalld
Služba počúva na porte 8069.
$ ss -tunelp | grep 8069
tcp LISTEN 0 128 0.0.0.0:8069 0.0.0.0:* users:(("python3.11",pid=70809,fd=4)) uid:989 ino:115353 sk:5 <->Ak máte firewalld, povolte port 8069
sudo firewall-cmd --add-port=8069/tcp --permanent
sudo firewall-cmd --reloadK webovej konzole Odoo môžete pristupovať na http://serverip:8069 a dokončiť nastavenie.
Zadajte hodnotu admin_passwd, nastavenú v odoo.conf pre hlavné heslo. Špecifikujte názov databázy, napríklad odoo17. Potom vytvorte prvého administrátorského používateľa zadaním e-mailovej adresy a hesla. Voliteľne nastavte telefónne číslo, jazyk a krajinu.
Po dokončení nastavenia sa prihláste pomocou vytvoreného administrátorského používateľa a jeho hesla.
Dostanete sa na Odoo panel pre povolenie modulov a podobne.
Krok 8 – Konfigurácia Nginx proxy
Môžeme použiť Nginx na proxy požiadavky na Odoo ERP. Nainštalujte balík nginx.
sudo dnf -y install nginxPovoliť službe automatické spustenie pri štarte systému.
sudo systemctl enable nginxVytvorte konfiguračný súbor Nginx pre službu Odoo.
sudo vim /etc/nginx/conf.d/odoo.confSkopírujte a upravte nasledujúci obsah. Musíte nahradiť odoo.example.com vašou skutočnou doménou.
# Odoo Upstreams
upstream odooserver {
server 127.0.0.1:8069;
}
server {
listen 80;
server_name odoo.example.com;
access_log /var/log/nginx/odoo_access.log;
error_log /var/log/nginx/odoo_error.log;
# Proxy settings
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
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;
# Request for root domain
location / {
proxy_redirect off;
proxy_pass http://odooserver;
}
# Cache static files
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odooserver;
}
# Gzip Compression
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}Overte konfigurácie nginx.
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulAk všetko vyzerá v poriadku, reštartujte službu.
sudo systemctl restart nginxPristúpte k webovému panelu Odoo na http://yourdomain.com
Krok 9 – Použitie SSL od Let’s Encrypt
Pre servery na verejnej doméne môžete použiť bezplatný SSL od Let’s Encrypt.
Nainštalujte certbot a jeho plugin pre Nginx.
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx -yŽiadosť o SSL od Let’s Encrypt.
DOMAIN=odoo.example.com #replace with your actual domain
sudo certbot --nginx -d $DOMAIN --agree-tosAk nechcete poskytnúť e-mailovú adresu, použite
sudo certbot --nginx -d $DOMAIN --agree-tos --register-unsafely-without-emailUkážkový výstup:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Account registered.
Requesting a certificate for odoo.example.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/odoo.example.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/odoo.example.com/privkey.pem
This certificate expires on 2024-10-16.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for odoo.cloudlabske.com to /etc/nginx/conf.d/odoo.conf
Congratulations! You have successfully enabled HTTPS on https://odoo.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Automaticky nastaví /etc/nginx/conf.d/odoo.conf, aby zahrňoval SSL.
cat /etc/nginx/conf.d/odoo.confZáver
Ukončili sme náš tutoriál o inštalácii Odoo na systémoch Linux Rocky, AlmaLinux, CentOS a RHEL 9. Začali sme prípravou servera s potrebnými závislosťami a potom sme pokračovali inštaláciou a konfiguráciou Odoo ERP. Vďaka rozsiahlym modulom, flexibilným a výkonným úpravám je Odoo dobre vhodné obchodné riešenie na automatizáciu procesov.


