Event Horizon ERP metal ind. | Greške i dorade u proizvodnji
Sadržaj:
- Prije nego što počneš
- Stvorite korisnika Odoo
- Instalirajte i konfigurirajte PostgreSQL
- Instalirajte Wkhtmltopdf
- Instalirajte i konfigurirajte Odoo
- Stvorite datoteku sistemske jedinice
- Ispitajte instalaciju
- Konfigurirajte Nginx kao proxy SSL raskid
- Promijenite vezujuće sučelje
- Omogući višestruku obradu
- Zaključak
Odoo je najpopularniji all-in-one poslovni softver na svijetu. Nudi niz poslovnih aplikacija, uključujući CRM, web stranicu, e-trgovinu, naplatu, računovodstvo, proizvodnju, skladište, upravljanje projektima, zalihe i još mnogo toga, a sve su jednostavno integrirane.
Postoji nekoliko načina instaliranja Odooa, ovisno o potrebnom slučaju upotrebe. Najlakši i najbrži način za instaliranje Odooa je pomoću njihovih službenih APT spremišta.
Ovaj vodič opisuje korake potrebne za instaliranje i konfiguriranje Odooa za proizvodnju pomoću Git izvora i Python virtualnog okruženja na Ubuntu 18.04 sustavu.
Prije nego što počneš
Prijavite se na svoj Ubuntu stroj kao sudo korisnik i ažurirajte sustav na najnovije pakete:
sudo apt update && sudo apt upgrade
Instalirajte Git, Pip, Node.js i alate potrebne za izgradnju Odoo ovisnosti:
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
Stvorite korisnika Odoo
Stvorite novog korisnika sustava i grupirajte se s kućnim imenikom
/opt/odoo
koji će pokrenuti Odoo uslugu.
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
Možete imenovati korisnika što god želite, samo provjerite jeste li stvorili postgres korisnika s istim imenom.
Instalirajte i konfigurirajte PostgreSQL
Instalirajte PostgreSQL paket iz Ubuntuovih zadanih spremišta:
sudo apt install postgresql
Nakon što je instalacija dovršena stvorite PostgreSQL korisnika s istim imenom kao prethodno stvoreni korisnik sustava, u našem slučaju
odoo
:
sudo su - postgres -c "createuser -s odoo"
Instalirajte Wkhtmltopdf
Paket
wkhtmltox
nudi skup alata naredbenog retka otvorenog koda koji mogu pretvoriti HTML u PDF i razne formate slika. Za ispis PDF izvješća trebat će
wkhtmltopdf
alat
wkhtmltopdf
. Preporučena verzija za Odoo je
0.12.1
koja nije dostupna u službenim spremištima Ubuntu 18.04.
Preuzmite paket pomoću sljedeće wget naredbe:
wget
Nakon dovršetka preuzimanja instalirajte paket upišite:
sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb
Instalirajte i konfigurirajte Odoo
Instalirat ćemo Odoo iz GitHub skladišta unutar izoliranog Python virtualnog okruženja kako bismo imali veću kontrolu nad verzijama i ažuriranjima.
Prije nego što započnete s postupkom instalacije, obavezno
odoo
na
odoo
korisnika.
sudo su - odoo
Da biste potvrdili da ste prijavljeni kao
odoo
korisnik, možete upotrijebiti sljedeću naredbu:
whoami
Sada možemo započeti s postupkom instalacije. Prvo klonirajte odoo iz GitHub-ovog spremišta:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11
- Ako želite instalirati drugu verziju Odoo, jednostavno promijenite broj verzije nakon
--branch
prekidača. Možete imenik imenovati po želji, na primjer, umjestoodoo11
možete koristiti ime svoje domene.
Da biste stvorili novo virtualno okruženje za pokretanje instance Odoo 11:
cd /opt/odoo
python3 -m venv odoo11-venv
aktivirajte okruženje sljedećom naredbom:
source odoo11-venv/bin/activate
i instalirajte sve potrebne Python module s pip3:
pip3 install wheel
pip3 install -r odoo11/requirements.txt
pip3
je alat za instaliranje i upravljanje Python paketima.
Nakon dovršetka instalacije deaktivirajte okruženje i prebacite se na svog sudo korisnika koristeći sljedeće naredbe:
deactivate
exit
sudo mkdir /opt/odoo/odoo11-custom-addons
sudo chown odoo: /opt/odoo/odoo11-custom-addons
Zatim moramo kreirati konfiguracijsku datoteku. Možemo stvoriti novu ispočetka ili kopirati uključenu konfiguracijsku datoteku:
sudo cp /opt/odoo/odoo11/debian/odoo.conf /etc/odoo11.conf
Otvorite datoteku i uredite je na sljedeći način:
/etc/odoo11.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo db_password = False addons_path = /opt/odoo/odoo11/addons; If you are using custom modules; addons_path = /opt/odoo/odoo11/addons, /opt/odoo/odoo11-custom-addons
Ne zaboravite da
my_admin_passwd
promijenite u nešto sigurnije i prilagodite
addons_path
ako koristite prilagođene module.
Stvorite datoteku sistemske jedinice
Da bismo pokrenuli odoo kao uslugu, stvorit
odoo11.service
datoteku
odoo11.service
jedinice u
/etc/systemd/system/
direktoriju sa sljedećim sadržajem:
Description=Odoo11 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo11 PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf StandardOutput=journal+console WantedBy=multi-user.target
Obavijestite sustav da smo stvorili novu datoteku jedinice i pokrenuli Odoo uslugu izvršenjem:
sudo systemctl daemon-reload
sudo systemctl start odoo11
Status usluge možete provjeriti sljedećom naredbom:
sudo systemctl status odoo11
● odoo11.service - Odoo11 Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-03 21:23:08 UTC; 3s ago Main PID: 18351 (python3) Tasks: 4 (limit: 507) CGroup: /system.slice/odoo11.service └─18351 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
i ako nema grešaka, možete omogućiti uslugu Odoo da se automatski pokrene prilikom pokretanja:
sudo systemctl enable odoo11
Ispitajte instalaciju
Otvorite preglednik i utipkajte:
http://:8069
http://:8069
Pod pretpostavkom da je instalacija uspješna, pojavit će se zaslon sličan sljedećem:
Konfigurirajte Nginx kao proxy SSL raskid
- Ime domene pokazuje na IP vašeg javnog poslužitelja. U ovom ćemo udžbeniku koristiti
example.com
. Instalirali ste Nginx slijedeći ove upute. Za vašu domenu imate instaliran SSL certifikat. Možete instalirati besplatni certifikat Let's Šifriraj SSL slijedeći ove upute.
Zadani web poslužitelj Odoo poslužuje promet putem HTTP-a. Da bi naša implementacija Odoo bila sigurnija, konfigurirat ćemo Nginx kao proxy SSL raskid koji će služiti prometu preko
SSL završni proxy je proxy poslužitelj koji upravlja SSL enkripcijom / dešifriranjem. To znači da će naš prekidni proxy (Nginx) obraditi i dešifrirati dolazne TLS veze (HTTPS) i proslijedit će nešifrirane zahtjeve našoj internoj službi (Odoo), tako da promet između Nginx-a i Odoo-a neće biti šifriran (HTTP).
Moramo reći Odou da ćemo koristiti proxy, otvoriti konfiguracijsku datoteku i dodati sljedeći redak:
/etc/odoo11.conf
proxy_mode = True
Ponovo pokrenite Odoo uslugu da bi promjene stupile na snagu:
sudo systemctl restart odoo11
Korištenje Nginx-a kao proxy-a daje nam nekoliko prednosti. U ovom ćemo primjeru konfigurirati SSL Prekid, HTTP na HTTPS preusmjeravanje, WWW na non-WWW preusmjeravanje, spremiti u predmemoriju statičke datoteke i omogućiti GZip kompresiju.
/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 zaboravite zamijeniti example.com s domenom Odoo i postaviti ispravan put do datoteka s SSL certifikatima. Isječci korišteni u ovoj konfiguraciji kreirani su u ovom vodiču.
Nakon što ste završili, ponovno pokrenite Nginx uslugu sa:
Promijenite vezujuće sučelje
Ovaj je korak izborni, ali je dobra sigurnosna praksa. Odoo poslužitelj prema zadanom sluša port 8069 na svim sučeljima, tako da ako želite onemogućiti izravan pristup vašoj instanci Odoo, možete ili blokirati port 8069 za sva javna sučelja ili prisiliti Odoo da sluša samo na lokalnom sučelju.
U ovom ćemo vodiču prisiliti Odoo da sluša samo
127.0.0.1
, otvorite Odoo konfiguraciju i dodajte sljedeća dva retka na kraju datoteke:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Spremite konfiguracijsku datoteku i ponovno pokrenite Odoo poslužitelj da bi promjene stupile na snagu:
Omogući višestruku obradu
Odoo prema zadanim postavkama radi u multithreading modu. Za proizvodne implementacije preporučuje se prelazak na višeprocesorski poslužitelj jer povećava stabilnost i bolje iskorištava resurse sustava. Da bismo omogućili višestruku obradu, trebamo urediti Odoo konfiguraciju i postaviti neradni broj radnih procesa.
Broj radnika izračunava se na temelju broja jezgara CPU-a u sustavu i raspoložive RAM memorije.
Prema službenoj dokumentaciji Odoo za izračunavanje broja radnika i potrebne veličine RAM memorije koristit ćemo sljedeće formule i pretpostavke:
Obračun broja radnika
- teoretski maksimalni broj radnika = (system_cpus * 2) + 11 radnika može opsluživati ~ = 6 istodobnih korisnikaCron radnici također zahtijevaju CPU
Izračun veličine RAM memorije
- Smatrat ćemo da je 20% svih zahtjeva teški zahtjev, dok je 80% lakših. Teški zahtjevi koriste oko 1 GB RAM-a, dok lakši koriste oko 150 MB RAMNeeded RAM-a = broj_of_workers * (((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Recimo da imamo sustav s 4 CPU jezgre, 8 GB RAM memorije i 30 istodobnih Odoo korisnika.
-
30 users / 6 = **5**
(5 je teoretski potreban broj radnika)(4 * 2) + 1 = **9**
(9 je teoretski najveći broj radnika)
Na osnovu gornjeg izračuna možemo koristiti 5 radnika + 1 radnika za radnika na cron, što je ukupno 6 radnika.
Izračunajte potrošnju RAM memorije na temelju broja radnika:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Gornji izračun pokazuje nam da će za našu instalaciju Odoo trebati oko 2 GB RAM-a.
Da biste se prebacili u višeprocesni način, otvorite konfiguracijsku datoteku i dodajte sljedeće retke:
/etc/odoo11.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
Ponovo pokrenite Odoo uslugu da bi promjene stupile na snagu:
sudo systemctl restart odoo11
Ostatak resursa sustava koristit će druge usluge koje se pokreću na našem stroju. U ovom smo vodiču instalirali Odoo zajedno s PostgreSQL i Nginx na isti poslužitelj, a ovisno o vašem postavljanju, možda ćete imati i druge usluge na vašem poslužitelju.
Zaključak
To je to! Ovaj je vodič vodio kroz instalaciju Odoo 11 na Ubuntu 18.04 u Python virtualnom okruženju koristeći Nginx kao obrnuti proxy. Također ste naučili kako omogućiti multiprocesiranje i optimizirati Odoo za proizvodno okruženje. Možda ćete također htjeti provjeriti naš vodič o tome kako stvoriti automatske dnevne sigurnosne kopije vaših Odoo baza podataka.
ubuntu odoo postgresql python pip nginx proxy sslKako implementirati odoo 12 na ubuntu 18.04

Ovaj vodič opisuje korake potrebne za instaliranje i konfiguriranje Odoo 12 za proizvodnju pomoću Git izvora i Python virtualnog okruženja na Ubuntu 18.04 sustavu.
Kako implementirati rocket.chat na ubuntu 18.04

Rocket.Chat je komunikacijska platforma otvorenog koda, samoposlužena Slack alternativa. Rocket.Chat je savršeno rješenje za tvrtke i zajednice koje žele ugostiti svoj vlastiti chat sustav.
Kako implementirati materiju na ubuntu 18.04

Mattermost donosi svu komunikaciju vašeg tima na jedno mjesto i pruža razne značajke, uključujući dijeljenje datoteka, razmjenu poruka pojedinačno i grupno, prilagođene emojis, videopozive i još mnogo toga.