Instalează Odoo EPR 17 pe Rocky, Alma, CentOS, RHEL 9|8
La momentul scrierii acestui articol, Odoo ERP 17 este cea mai recentă versiune a uimitorului software open-source de planificare a resurselor întreprinderii (ERP) creat pentru a ajuta procesele afacerii dvs. să rămână optimizate. Odoo ERP vă oferă o platformă cu aplicații integrate pentru a rezolva toate problemele afacerii dvs., de la HR, CRM, managementul stocurilor, finanțe, producție, vânzări până la comerț electronic. În Odoo ERP, toate aceste integrări sunt distribuite printr-o abordare modulară care vă permite să porniți cu câteva module și să integrați mai multe pe măsură ce apar nevoi. Aceasta face din Odoo o soluție extrem de flexibilă și scalabilă.
Pentru a instala Odoo ERP 17 pe Rocky Linux, AlmaLinux, CentOS sau RHEL 9/8, trebuie să urmați mai mulți pași:
- Instalarea dependențelor necesare pentru rularea Odoo 17
- Crearea unui mediu virtual Python
- Instalarea Odoo 17 pe Rocky/AlmaLinux/RHEL 9|8
- Configurarea Odoo și a serverului web
- Accesarea și utilizarea Odoo
Pentru funcțiile Odoo ERP 17, consultați Notițele de lansare Odoo 17
Cerințe prealabile
Înainte de a putea continua, va trebui să îndeplinești următoarele cerințe.
Cerinte de sistem:
- Sistem de operare: Rocky, Alma, CentOS Stream sau RHEL 8/9 instalat
- CPU: CPU dual-core minim (dacă ai Quad-core, cu atât mai bine).
- RAM: Minim 2GB de memorie (dacă aveți 4GB sau mai mult, cu atât mai bine).
- Disc: Minimum 20GB de spațiu liber pe disc pentru stocarea datelor Odoo.
Cerinte de software:
- Python: Python 3.10 sau o versiune superioară.
- PostgreSQL: PostgreSQL 12 sau versiuni superioare.
- Node.js și npm: Node.js 12.x sau mai recent și npm pentru gestionarea resurselor.
- Wkhtmltopdf: Este necesară o versiune specifică de wkhtmltopdf (0.12.5 sau 0.12.6) pentru tipărirea rapoartelor PDF.
- Nginx sau Apache: Pentru proxy invers (Nginx este în general preferat).
Să începem instalarea Odoo ERP.
Pasul 1 – Instalează dependențele pentru construirea programului
Actualizează-ți sistemul înainte de orice instalări:
sudo dnf -y updateDacă aveți actualizări de kernel, luați în considerare repornirea sistemului înainte de a continua:
sudo rebootUrmează să instalezi uneltele de dezvoltare în sistemul tău.
sudo dnf groupinstall -y "Development Tools"Instalați biblioteci suplimentare care ar putea fi necesare atunci când construiți Odoo din sursă:
sudo dnf install -y vim git gcc bzip2-devel redhat-rpm-config libxslt-devel openldap-devel libjpeg-devel freetype-develPasul 2 – Instalează Python 3.11 și Node.js
Trebuie să instalăm Python 3.10+. În acest articol vom folosi Python 3.11.
sudo dnf install python3.11 python3.11-devel python3.11-pipConfirmă că este instalat cu succes verificând versiunea.
$ python3.11 --version
Python 3.11.9Haideți să instalăm și Node.js. Nu există o versiune specifică, vom folosi Node.js v18.
sudo dnf module reset nodejs -y
sudo dnf module install nodejs:18 -yVerificați prin verificarea numărului versiunii Node.js.
$ node --version
v18.20.2Instalează modulul rtlcss pentru Node folosind npm:
sudo npm install -g rtlcssDe asemenea, instalează Less și plugin-ul Less Clean CSS:
sudo npm install -g less less-plugin-clean-cssPasul 3 – Instalați și configurați baza de date PostgreSQL
Este necesar PostgreSQL 12 sau o versiune superioară. Putem instala PostgreSQL 16, care este disponibil în depozitele APPStream ale sistemului de operare. Resetați modulul PostgreSQL curent.
sudo dnf module -y disable postgresqlActivează modulul PostgreSQL 16.
sudo dnf install -y @postgresql:16De asemenea, instalează pachetul postgresql-devel.
sudo dnf install -y postgresql-develInițializează serverul de baze de date.
sudo postgresql-setup initdbPorniți și activați serviciul bazei de date.
sudo systemctl enable --now postgresqlÎn cele din urmă, creează utilizatorul de bază de date odoo. Introdu parola pentru utilizator atunci când ți se solicită.
sudo su - postgres -c "createuser -s odoo"Pentru a crea un utilizator cu parolă, rulați:
sudo -u postgres createuser odoo -U postgres -dPPentru un server de baze de date PostgreSQL la distanță, va trebui să activați conexiunile la distanță pe serverul dvs. de baze de date pentru ca Odoo să se poată conecta la acesta.
Pasul 4 – Instalați wkhtmltopdf
Wkhtmltopdf este un instrument open-source de tip CLI folosit de Odoo pentru a transforma HTML în PDF și alte formate de imagine prin intermediul motorului puternic de randare Webkit. Acesta este necesar pentru generarea documentelor precum facturi, rapoarte și alte documente ce pot fi tipărite.
Descarcă și instalează pachetul RPM wkhtmltopdf.
- Sisteme bazate pe 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- Sisteme bazate pe 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
Validați instalarea:
$ wkhtmltopdf --version
wkhtmltopdf 0.12.6.1 (with patched qt)Pasul 5 – Configurarea mediului Python pentru Odoo
Creați un utilizator numit odoo care va rula serviciile Odoo.
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odooInstalează virtualenv:
sudo pip3.11 install virtualenvComută la contul de utilizator creat odoo.
sudo su - odooClonează depozitul Github al Odoo local.
git clone --depth 1 --branch 17.0 --single-branch https://github.com/odoo/odoo.gitFolosește comanda virtualenv pentru a crea un mediu virtual Python pentru Odoo ERP.
virtualenv odoo-venvActivează mediul virtual creat.
source odoo-venv/bin/activateActualizează pip după ce îl activezi.
pip3.11 install --upgrade pipInstalează pachetul Python wheel în mediu
pip3.11 install wheelInstalează cerințele Python pentru Odoo 17
pip3.11 install -r odoo/requirements.txtPentru a lista toate pachetele Python instalate în mediul virtual, rulați următoarea comandă:
pip3.11 listCreează un director care va stoca toate add-on-urile terțe.
mkdir odoo/custom-addonsIeși din mediul virtual.
exitPasul 6 – Configurarea Odoo ERP
Copiați fișierul de configurare de exemplu Odoo în directorul /etc de pe sistemul dumneavoastră.
sudo cp /opt/odoo/odoo/debian/odoo.conf /etc/odoo.confFișierul odoo.conf conține configurațiile cheie necesare pentru ca Odoo să funcționeze corect. Deschide fișierul pentru editare.
# Open with vim
sudo vim /etc/odoo.conf
# Open with nano
sudo nano /etc/odoo.confAjustați setările să arate ca mai jos.
[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 = 8069Pentru serverul PostgreSQL la distanță, setați:
- db_host: adresa IP a serverului de baze de date PostgreSQL
- db_password: Parola pentru utilizatorul creat pe baza de date de la distanță
- db_user: Utilizator de bază de date la distanță creat.
Acordați fișierului permisiunile corespunzătoare:
sudo chown odoo:odoo /etc/odoo.conf
sudo chmod 640 /etc/odoo.confCreează serviciul systemd pentru 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
EOFCreează directorul de jurnale.
sudo mkdir /var/log/odoo/
sudo chown -R odoo:odoo /var/log/odoo/Porniți și activați serviciul odoo.
sudo systemctl daemon-reload
sudo systemctl enable --now odoo.serviceVerificați starea serviciului dacă funcționează corect.
$ 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.Pasul 7 – Configurarea firewalld
Serviciul ascultă pe portul 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 <->Dacă aveți firewalld, permiteți portul 8069
sudo firewall-cmd --add-port=8069/tcp --permanent
sudo firewall-cmd --reloadPoți accesa consola web Odoo la http://serverip:8069 și să finalizezi configurarea.
Introduceți valoarea admin_passwd setată în odoo.conf pentru parola Master. Specificați numele bazei de date de creat, de exemplu odoo17. Apoi creați primul utilizator admin oferind adresa de e-mail și parola. Opțional, puteți seta numărul de telefon, limba și țara.
După finalizarea configurării, conectați-vă cu utilizatorul admin creat și parola acestuia.
Veți ajunge la tabloul de bord Odoo pentru a activa modulele etc.
Pasul 8 – Configurarea proxy-ului Nginx
Putem folosi Nginx pentru a redirecționa cererile către Odoo ERP. Instalați pachetul nginx.
sudo dnf -y install nginxActivează serviciul pentru a porni automat la pornirea sistemului.
sudo systemctl enable nginxCreează fișierul de configurare Nginx pentru serviciul Odoo.
sudo vim /etc/nginx/conf.d/odoo.confLipiți și editați următorul conținut. Trebuie să înlocuiți odoo.example.com cu numele real al domeniului dumneavoastră.
# 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;
}Validează configurațiile nginx.
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulDacă totul pare în regulă, repornește serviciul.
sudo systemctl restart nginxAccesați tabloul de bord web Odoo la http://yourdomain.com
Pasul 9 – Utilizarea SSL-ului Let's Encrypt
Pentru serverele de pe un domeniu public, puteți folosi SSL gratuit de la Let’s Encrypt.
Instalează certbot și pluginul său pentru Nginx.
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx -yCerere pentru SSL Let’s Encrypt.
DOMAIN=odoo.example.com #replace with your actual domain
sudo certbot --nginx -d $DOMAIN --agree-tosDacă nu vrei să furnizezi adresa de email, folosește L
sudo certbot --nginx -d $DOMAIN --agree-tos --register-unsafely-without-emailExemplu de rezultat:
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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Va configura automat /etc/nginx/conf.d/odoo.conf pentru a include SSL.
cat /etc/nginx/conf.d/odoo.confConcluzie
Am încheiat tutorialul nostru despre instalarea Odoo pe sistemele Linux Rocky, AlmaLinux, CentOS și RHEL 9. Am început prin pregătirea serverului cu dependențele necesare, apoi am continuat cu instalarea și configurarea Odoo ERP. Datorită modulelor sale extinse și personalizărilor flexibile și puternice, Odoo reprezintă o soluție de afaceri bine adaptată pentru automatizarea proceselor.


