Instalirajte Odoo ERP 17 na Rocky, Alma, CentOS, RHEL 9|8
U trenutku pisanja ovog članka, Odoo ERP 17 je najnovija verzija izvanrednog open-source softvera za planiranje poslovnih resursa (ERP) koji je stvoren kako bi pomogao vašim poslovnim procesima da ostanu učinkoviti. Odoo ERP pruža platformu s integriranim aplikacijama za rješavanje svih vaših poslovnih problema, od HR-a, CRM-a, upravljanja zalihama, financija, proizvodnje, prodaje do e-trgovine. U Odoo ERP-u, sve ove integracije distribuirane su modularnim pristupom koji vam omogućuje da započnete s nekoliko modula i dodajete više po potrebi. To čini Odoo izuzetno fleksibilnim i skalabilnim rješenjem.
Da biste instalirali Odoo ERP 17 na Rocky Linux, AlmaLinux, CentOS ili RHEL 9/8, morate slijediti nekoliko koraka:
- Instalacija ovisnosti potrebnih za pokretanje Odoo 17
- Kreiranje Python virtualnog okruženja
- Instalacija Odoo 17 na Rocky/AlmaLinux/RHEL 9|8
- Konfiguracija Odoo-a i web poslužitelja
- Pristup i korištenje Odoo-a
Za značajke Odoo ERP 17 pogledajte Bilješke o izdanju Odoo 17
Preduvjeti
Prije nego što možete nastaviti, trebate ispuniti sljedeće zahtjeve.
Sistemski zahtjevi:
- Operativni sustav: Instaliran Rocky, Alma, CentOS Stream ili RHEL 8/9
- CPU: Minimalno dvojezgreni procesor (ako imate četverojezgreni, to je bolje).
- RAM: Minimalno 2GB memorije (ako imate 4GB ili više, to je bolje).
- Disk: Minimalno 20 GB slobodnog prostora na disku za pohranu Odoo podataka.
Zahtjevi za softver:
- Python: Python 3.10 ili noviji.
- PostgreSQL: PostgreSQL 12 ili noviji.
- Node.js i npm: Node.js 12.x ili noviji i npm za upravljanje resursima.
- Wkhtmltopdf: Za ispis PDF izvještaja potrebna je određena verzija wkhtmltopdf-a (0.12.5 ili 0.12.6).
- Nginx ili Apache: Za reverzni proxy (Nginx se općenito preferira).
Započnimo instalaciju Odoo ERP-a.
Korak 1 – Instalirajte ovisnosti za izgradnju
Ažurirajte svoj sustav prije bilo kakvih instalacija:
sudo dnf -y updateAko imate ažuriranja kernela, razmislite o ponovnom pokretanju sustava prije nego što nastavite dalje:
sudo rebootZatim instalirajte razvojne alate na svoj sustav.
sudo dnf groupinstall -y "Development Tools"Instalirajte dodatne biblioteke koje mogu biti potrebne prilikom izgradnje Odoo-a iz izvornog koda:
sudo dnf install -y vim git gcc bzip2-devel redhat-rpm-config libxslt-devel openldap-devel libjpeg-devel freetype-develKorak 2 – Instalirajte Python 3.11 i Node.js
Moramo instalirati Python 3.10 ili noviji. U ovom članku ćemo koristiti Python 3.11.
sudo dnf install python3.11 python3.11-devel python3.11-pipPotvrdite da je instalacija uspješna provjerom verzije.
$ python3.11 --version
Python 3.11.9Također instalirajmo Node.js. Nema specifične verzije, koristit ćemo Node.js v18.
sudo dnf module reset nodejs -y
sudo dnf module install nodejs:18 -yProvjerite tako da provjerite broj verzije Node.js-a.
$ node --version
v18.20.2Instalirajte rtlcss Node modul koristeći npm:
sudo npm install -g rtlcssTakođer instalirajte Less i Less Plugin Clean CSS:
sudo npm install -g less less-plugin-clean-cssKorak 3 – Instalirajte i konfigurirajte PostgreSQL bazu podataka
Potreban je PostgreSQL 12 ili noviji. Možemo instalirati PostgreSQL 16 koji je dostupan u OS APPStream spremištima. Resetirajte trenutni PostgreSQL modul.
sudo dnf module -y disable postgresqlOmogući PostgreSQL 16 modul.
sudo dnf install -y @postgresql:16Također instalirajte postgresql-devel paket.
sudo dnf install -y postgresql-develInicijaliziraj poslužitelj baze podataka.
sudo postgresql-setup initdbPokrenite i omogućite uslugu baze podataka.
sudo systemctl enable --now postgresqlNa kraju stvorite odoo korisnika baze podataka. Unesite lozinku za korisnika kada budete upitani.
sudo su - postgres -c "createuser -s odoo"Za stvaranje korisnika s lozinkom pokrenite:
sudo -u postgres createuser odoo -U postgres -dPZa udaljeni PostgreSQL poslužitelj baze podataka omogućit ćete udaljene veze na svom DB poslužitelju kako bi se Odoo mogao povezati s njim.
Korak 4 – Instalirajte wkhtmltopdf
Wkhtmltopdf je open-source alat za naredbeni redak koji Odoo koristi za pretvaranje HTML-a u PDF i druge slikovne formate putem moćnog Webkit renderirajućeg motora. Ovo je potrebno za generiranje dokumenata kao što su računi, izvještaji i drugi tiskani dokumenti.
Preuzmite i instalirajte wkhtmltopdf RPM paket.
- Sustavi temeljeni 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- Sustavi temeljeni 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
Provjerite instalaciju:
$ wkhtmltopdf --version
wkhtmltopdf 0.12.6.1 (with patched qt)Korak 5 – Postavljanje Odoo Python okruženja
Kreirajte korisnika pod imenom odoo koji će pokretati Odoo usluge.
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odooInstalirajte virtualenv:
sudo pip3.11 install virtualenvPrebaci se na kreirani korisnički račun odoo.
sudo su - odooKlonirajte Odooov Github repozitorij lokalno.
git clone --depth 1 --branch 17.0 --single-branch https://github.com/odoo/odoo.gitKoristite naredbu virtualenv za stvaranje Python virtualnog okruženja za Odoo ERP.
virtualenv odoo-venvAktivirajte kreirano virtualno okruženje.
source odoo-venv/bin/activateNadogradite pip nakon aktivacije.
pip3.11 install --upgrade pipInstalirajte Python paket wheel u okruženju
pip3.11 install wheelInstalirajte Python zahtjeve za Odoo 17
pip3.11 install -r odoo/requirements.txtZa prikaz svih Python paketa instaliranih u virtualnom okruženju pokrenite sljedeću naredbu:
pip3.11 listNapravite direktorij koji će pohranjivati sve dodatke trećih strana.
mkdir odoo/custom-addonsIzađite iz virtualnog okruženja.
exitKorak 6 – Konfigurirajte Odoo ERP
Kopirajte uzorak konfiguracijske datoteke Odoo u direktorij /etc na vašem sustavu.
sudo cp /opt/odoo/odoo/debian/odoo.conf /etc/odoo.confDatoteka odoo.conf sadrži ključne konfiguracije potrebne za pravilno pokretanje Odoo-a. Otvorite datoteku za uređivanje.
# Open with vim
sudo vim /etc/odoo.conf
# Open with nano
sudo nano /etc/odoo.confPrilagodite postavke da izgledaju kao dolje.
[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 = 8069Za udaljeni PostgreSQL poslužitelj postavite:
- db_host: IP adresa PostgreSQL poslužitelja baze podataka
- db_password: Lozinka za korisnika kreiranog na udaljenoj bazi podataka
- db_user: Udaljeni korisnik baze podataka je kreiran.
Dodijelite datoteci odgovarajuće dozvole:
sudo chown odoo:odoo /etc/odoo.conf
sudo chmod 640 /etc/odoo.confKreirajte Odoo systemd uslugu.
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
EOFNapravite direktorij za zapise.
sudo mkdir /var/log/odoo/
sudo chown -R odoo:odoo /var/log/odoo/Pokrenite i omogućite odoo servis.
sudo systemctl daemon-reload
sudo systemctl enable --now odoo.serviceProvjerite status usluge da vidite radi li ispravno.
$ 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.Korak 7 – Konfigurirajte firewalld
Usluga sluša na portu 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 <->Ako imate firewalld, dozvolite port 8069
sudo firewall-cmd --add-port=8069/tcp --permanent
sudo firewall-cmd --reloadMožete pristupiti Odoo web konzoli na http://serverip:8069 i dovršiti postavljanje.
Unesite vrijednost admin_passwd postavljenu u odoo.conf za Glavnu lozinku. Navedite naziv baze podataka za stvaranje, primjerice odoo17. Zatim kreirajte prvog administratorskog korisnika unošenjem adrese e-pošte i lozinke. Opcionalno postavite broj telefona, jezik i državu.
Nakon završetka postavljanja, prijavite se pomoću kreiranog administratorskog korisnika i njegove lozinke.
Doći ćete do Odoo nadzorne ploče za omogućavanje modula itd.
Korak 8 – Konfigurirajte Nginx posrednika
Možemo koristiti Nginx za proksiranje zahtjeva prema Odoo ERP-u. Instalirajte nginx paket.
sudo dnf -y install nginxOmogući da se usluga automatski pokrene prilikom pokretanja sustava.
sudo systemctl enable nginxKreirajte Nginx konfiguracijsku datoteku za Odoo servis.
sudo vim /etc/nginx/conf.d/odoo.confZalijepite i uredite sljedeći sadržaj. Morate zamijeniti odoo.example.com sa svojim stvarnim nazivom domene.
# 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;
}Provjerite konfiguracije nginx-a.
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulAko sve izgleda u redu, ponovno pokrenite servis.
sudo systemctl restart nginxPristupite Odoo web nadzornoj ploči na http://yourdomain.com
Korak 9 – Korištenje Let’s Encrypt SSL-a
Za poslužitelje na javnoj domeni možete koristiti besplatni Let’s Encrypt SSL.
Instalirajte certbot i njegov Nginx dodatak.
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx -yZahtjev za Let’s Encrypt SSL.
DOMAIN=odoo.example.com #replace with your actual domain
sudo certbot --nginx -d $DOMAIN --agree-tosAko ne želite pružiti adresu e-pošte, upotrijebite
sudo certbot --nginx -d $DOMAIN --agree-tos --register-unsafely-without-emailPrimjer izlaza:
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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Automatski će konfigurirati /etc/nginx/conf.d/odoo.conf da uključuje SSL.
cat /etc/nginx/conf.d/odoo.confZaključak
Zaključili smo našu uputu za instalaciju Odoo-a na Linux sustave Rocky, AlmaLinux, CentOS i RHEL 9. Počeli smo pripremom poslužitelja s potrebnim ovisnostima, a zatim smo nastavili s instalacijom i konfiguracijom Odoo ERP-a. S obzirom na opsežan modul Odoo-a, fleksibilne i moćne prilagodbe, on predstavlja dobro rješenje za poslovanje za automatizaciju procesa.


