Montare sonerie modulară în tabloul electric
Cuprins:
- Instalarea Premiselor
- Crearea unui utilizator de sistem
- Instalarea și configurarea PostgreSQL
- Instalarea Wkhtmltopdf
- Instalarea și configurarea Odoo 13
- Crearea unui fișier Unit Systemd
- Testarea instalării
- Configurarea Nginx ca proxy de terminare SSL
- Schimbarea interfeței de legare
- Activarea multiprocesării
- Concluzie
Odoo este o populară suită open-source de aplicații de afaceri. Oferă o serie de aplicații, inclusiv CRM, comerț electronic, constructor de site-uri, facturare, contabilitate, fabricație, depozit, management de proiect, inventar și multe altele, toate integrate perfect.
Odoo poate fi instalat în mai multe moduri, în funcție de cazul de utilizare și de tehnologiile disponibile. Cea mai simplă și rapidă cale de instalare a Odoo este folosirea depozitelor oficiale APT Odoo.
Instalarea Odoo într-un mediu virtual sau implementarea ca un container Docker vă permite să aveți mai mult control asupra configurației sistemului și să rulați mai multe versiuni Odoo pe același sistem.
În acest ghid, vă vom ghida prin instalarea și implementarea Odoo 13 într-un mediu virtual Python pe Ubuntu 18.04. Vom descărca Odoo din depozitul lor Github și vom folosi Nginx ca proxy invers.
Instalarea Premiselor
Conectați-vă la Ubuntu ca utilizator sudo și actualizați memoria cache Apt:
sudo apt update
Instalați Git, Pip, Node.js și instrumentele necesare pentru a construi dependențe Odoo:
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
Crearea unui utilizator de sistem
Creați un utilizator de sistem care va rula Odoo, numit
odoo13
cu directorul principal
/opt/odoo13
:
sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13
Puteți seta numele utilizatorului la orice doriți, atât timp cât creați un utilizator PostgreSQL cu același nume.
Instalarea și configurarea PostgreSQL
Odoo folosește PostgreSQL ca bază de date a bazei de date. Pentru a instala PostgreSQL executați următoarea comandă:
sudo apt install postgresql
După terminarea instalării, creați un utilizator PostgreSQL cu același nume ca și utilizatorul de sistem creat anterior, în cazul nostru,
odoo13
:
sudo su - postgres -c "createuser -s odoo13"
Instalarea Wkhtmltopdf
Pachetul
wkhtmltox
oferă un set de instrumente de linie de comandă open-source care pot transforma HTML în PDF și diferite formate de imagine. Pentru a putea tipări rapoarte PDF, va trebui să instalați instrumentul
wkhtmltopdf
. Versiunea recomandată pentru Odoo este
0.12.5
, care nu este disponibilă în depozitele implicite Ubuntu 18.04.
Descărcați pachetul folosind următoarea comandă wget:
wget
După ce descărcarea este completă, instalați pachetul tastând:
sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb
Instalarea și configurarea Odoo 13
După cum am menționat anterior, vom instala Odoo din sursă într-un mediu virtual Python izolat.
În primul rând, schimbați utilizatorul „odoo13”:
sudo su - odoo13
Clonați codul sursă Odoo 13 de la GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
După finalizarea descărcării, creați un nou mediu virtual Python pentru Odoo:
cd /opt/odoo13
python3 -m venv odoo-venv
Activați mediul cu următoarea comandă:
source odoo-venv/bin/activate
Instalați toate modulele Python necesare cu pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Dacă întâmpinați o eroare de compilare în timpul instalării, asigurați-vă că toate dependențele necesare enumerate în secțiunea
Installing Prerequisites
sunt instalate.
Odată terminat, dezactivați mediul tastând:
deactivate
Vom crea un nou director care va conține suplimente pentru terți.
mkdir /opt/odoo13/odoo-custom-addons
Mai târziu, vom adăuga acest director la parametrul
addons_path
. Acest parametru definește o listă de directoare în care Odoo caută module.
Comutați înapoi la utilizatorul sudo:
exit
Creați un fișier de configurare cu următorul conținut:
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
Nu uitați să schimbați
my_admin_passwd
în ceva mai sigur.
Crearea unui fișier Unit Systemd
Deschideți editorul de text și creați un fișier de unitate de service numit
odoo13.service
cu următorul conținut:
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
Notificați systemd că există un nou fișier de unitate:
sudo systemctl daemon-reload
Porniți serviciul Odoo și permiteți-l să pornească la pornire rulând:
sudo systemctl enable --now odoo13
Verificați starea serviciului:
sudo systemctl status odoo13
Produsul ar trebui să arate ca mai jos, ceea ce indică faptul că serviciul Odoo este activ și funcționează.
● 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
Pentru a vedea mesajele înregistrate de serviciul Odoo, utilizați comanda de mai jos:
Testarea instalării
Deschideți browserul și tastați:
http://:8069
http://:8069
Dacă presupunem că instalarea este reușită, va apărea un ecran similar cu următoarele:

Configurarea Nginx ca proxy de terminare SSL
Serverul web implicit Odoo servește traficul prin HTTP. Pentru a face implementarea Odoo mai sigură, vom configura Nginx ca un proxy de terminare SSL care va servi traficul prin
Proxy de terminare SSL este un server proxy care gestionează criptarea / decriptarea SSL. Acest lucru înseamnă că proxy-ul de terminare (Nginx) va procesa și decripta conexiunile TLS de intrare (HTTPS) și va transmite cererile necriptate către serviciul intern (Odoo). Traficul dintre Nginx și Odoo nu va fi criptat (HTTP).
Utilizarea unui proxy invers vă oferă o mulțime de avantaje, cum ar fi Echilibrarea încărcării, terminarea SSL, memorarea în cache, compresia, difuzarea conținutului static și multe altele.
Asigurați-vă că ați îndeplinit următoarele cerințe înainte de a continua cu această secțiune:
- Numele de domeniu îndreptat către IP-ul serverului dvs. public. Vom folosi exemple.com.Nginx installat.SSL certificat pentru domeniul dvs. Puteți instala un certificat SSL gratuit Encrypt.
Deschideți editorul de text și creați / editați blocul serverului de domeniu:
sudo nano /etc/nginx/sites-enabled/example.com
Următoarea configurație configurează Terminarea SSL, redirecționarea HTTP către HTTPS, redirecționarea WWW către non-WWW, cache fișierele statice și activează compresia GZip.
/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; }
Nu uitați să înlocuiți example.com cu domeniul dvs. Odoo și să setați calea corectă pentru fișierele de certificat SSL. Fragmentele utilizate în această configurație sunt create în acest ghid.
După ce ați terminat, reporniți serviciul Nginx:
sudo systemctl restart nginx
În continuare, trebuie să-i spunem lui Odoo să utilizeze proxy. Pentru aceasta, deschideți fișierul de configurare și adăugați următoarea linie:
/etc/odoo13.conf
proxy_mode = True
Reporniți serviciul Odoo pentru ca modificările să aibă efect:
sudo systemctl restart odoo13
În acest moment, proxy-ul invers este configurat și puteți accesa instanța dvs. Odoo la
https://example.com
:
https://example.com
Schimbarea interfeței de legare
Acest pas este opțional, dar este o bună practică de securitate.
În mod implicit, serverul Odoo ascultă portul
8069
pe toate interfețele. Pentru a dezactiva accesul direct la instanța Odoo, puteți bloca portul
8069
pentru toate interfețele publice sau forța Odoo să asculte doar pe interfața locală.
Vom configura Odoo pentru a asculta doar pe
127.0.0.1
. Deschideți configurația adăugați următoarele două linii la sfârșitul fișierului:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Salvați fișierul de configurare și reporniți serverul Odoo pentru ca modificările să aibă efect:
Activarea multiprocesării
În mod implicit, Odoo lucrează în modul multitreading. Pentru implementările de producție, se recomandă schimbarea pe serverul de multiprocesare, deoarece crește stabilitatea și utilizarea mai bună a resurselor sistemului.
Pentru a activa multiprocesarea, trebuie să editați configurația Odoo și să setați un număr non-zero de procese de lucru. Numărul de lucrători este calculat pe baza numărului de nuclee de procesor din sistem și a memoriei RAM disponibile.
Conform documentației oficiale Odoo pentru a calcula numărul de lucrători și dimensiunea de memorie RAM necesară, puteți utiliza următoarele formule și ipoteze:
Calcularea numărului lucrătorului
- Numărul maxim teoretic de lucrător = (system_cpus * 2) + 11 lucrători pot servi ~ = 6 utilizatori concurenti Lucrătorii Cron necesită, de asemenea, procesor
Calcularea dimensiunii memoriei RAM
- Vom considera că 20% din toate cererile sunt solicitări mari, iar 80% dintre cele mai ușoare. Cererile mari utilizează aproximativ 1 GB RAM, în timp ce cele mai ușoare folosesc aproximativ 150 MB de RAM.
grep -c ^processor /proc/cpuinfo
Să zicem că aveți un sistem cu 4 nuclee de procesor, 8 GB memorie RAM și 30 de utilizatori simultan Odoo.
-
30 users / 6 = **5**(5 este numărul teoretic de lucrători necesari)(4 * 2) + 1 = **9**(9 este numărul teoretic maxim de lucrători)
Pe baza calculului de mai sus, puteți utiliza 5 lucrători + 1 lucrător pentru cron lucrător, care este un total de 6 lucrători.
Calculați consumul de memorie RAM în funcție de numărul de lucrători:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Calculul arată că instalarea Odoo va avea nevoie de aproximativ 2 GB RAM.
Pentru a comuta la modul multiprocesare, deschideți fișierul de configurare și adăugați valorile calculate:
/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
Reporniți serviciul Odoo pentru ca modificările să aibă efect:
sudo systemctl restart odoo13
Restul resurselor sistemului vor fi utilizate de alte servicii care rulează pe acest sistem. În acest ghid, am instalat Odoo împreună cu PostgreSQL și Nginx pe același server. În funcție de configurare, este posibil să aveți și alte servicii pe server.
Concluzie
Acest tutorial te-a parcurs prin instalarea Odoo 13 pe Ubuntu 18.04 într-un mediu virtual Python folosind Nginx ca proxy invers. V-am arătat, de asemenea, cum să activați multiprocesarea și să optimizați Odoo pentru un mediu de producție.
De asemenea, poate doriți să consultați tutorialul nostru despre cum puteți crea copii de rezervă automate zilnice ale bazelor de date Odoo
ubuntu odoo postgresql python pip nginx proxy sslCum se instalează și se instalează WordPress pe Microsoft Azure
Această parte a tutorialului acoperă aspectele de performanță ale Microsoft Azure și te ghidează la găzduirea propriei dvs. WordPress instalare pe o mașină virtuală Azure.
Cum se implementează odoo 11 pe ubuntu 18.04
Acest ghid acoperă pașii necesari pentru instalarea și configurarea Odoo pentru producție folosind sursa Git și mediul virtual Python pe un sistem Ubuntu 18.04.
Cum se instalează odoo 11 pe ubuntu 16.04
Odoo este una dintre cele mai populare programe de afaceri din lume. Acest ghid acoperă pașii necesari pentru instalarea și configurarea Odoo folosind sursa Git și mediul virtual Python pe Ubuntu 16.04







