Crearea unui client si al unui furnizor
Cuprins:
- Înainte de a începe
- Creați un utilizator Odoo
- Instalați și configurați PostgreSQL
- Instalați Wkhtmltopdf
- Instalați și configurați Odoo
- Creați un fișier Unit Systemd
- Testați instalarea
- Configurați Nginx ca proxy de terminare SSL
- Schimbați interfața de legare
- Activați multiprocesarea
- Concluzie
Odoo este cel mai popular software de afaceri all-in-one din lume. Oferă o serie de aplicații de afaceri, inclusiv CRM, site web, comerț electronic, facturare, contabilitate, fabricație, depozit, management de proiect, inventar și multe altele, toate integrate perfect.
Odoo poate fi instalat în mai multe moduri diferite. Cea mai simplă și rapidă cale de a instala Odoo este folosirea depozitelor lor oficiale de APT.
Acest tutorial acoperă pașii necesari pentru instalarea și configurarea Odoo 12 pentru producție folosind sursa Git și mediul virtual Python pe un sistem Ubuntu 18.04.
Înainte de a începe
Conectați-vă la mașina Ubuntu ca utilizator sudo și actualizați sistemul la cele mai recente pachete:
sudo apt update && sudo apt upgrade
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
Creați un utilizator Odoo
Creați un nou utilizator de sistem pentru Odoo numit
odoo12
cu directorul de acasă
/opt/odoo12
folosind următoarea comandă:
sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12
Puteți utiliza orice nume pentru utilizatorul dvs. Odoo atât timp cât creați un utilizator PostgreSQL cu același nume.
Instalați și configurați PostgreSQL
Instalați pachetul PostgreSQL din depozitele implicite ale Ubuntu:
sudo apt install postgresql
După finalizarea instalării, creați un utilizator PostgreSQL cu același nume ca și utilizatorul sistemului creat anterior, în cazul nostru, care este
odoo12
:
sudo su - postgres -c "createuser -s odoo12"
Instalați Wkhtmltopdf
Pachetul
wkhtmltox
oferă un set de instrumente de linie de comandă open source care pot face HTML în PDF și diferite formate de imagine. Pentru a tipări rapoarte PDF, veți avea nevoie de instrumentul
wkhtmltopdf
. Versiunea recomandată pentru Odoo este
0.12.1
care nu este disponibilă în depozitele oficiale Ubuntu 18.04.
Descărcați pachetul folosind următoarea comandă wget:
wget
După terminarea descărcării, instalați pachetul tastând:
sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb
Instalați și configurați Odoo
Vom instala Odoo din depozitul GitHub într-un mediu virtual Python izolat.
Înainte de a începe procesul de instalare, schimbați utilizatorul „odoo12”:
sudo su - odoo12
Începeți prin clonarea codului sursă Odoo 12 din depozitul GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Odată descărcat codul sursă, creați un nou mediu virtual Python pentru instalarea Odoo 12:
cd /opt/odoo12
python3 -m venv odoo-venv
Apoi, 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 erori de compilare în timpul instalării, asigurați-vă că ați instalat toate dependențele necesare enumerate în secțiunea
Before you begin
.
Dezactivați mediul folosind următoarea comandă:
deactivate
Creați un nou director pentru suplimentele personalizate:
mkdir /opt/odoo12/odoo-custom-addons
Comutați înapoi la utilizatorul sudo:
exit
Apoi, creați un fișier de configurare, copiind fișierul de configurare de exemplu inclus:
sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf
Deschideți fișierul și editați-l astfel:
sudo nano /etc/odoo12.conf
/etc/odoo12.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo12 db_password = False addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
Nu uitați să schimbați
my_admin_passwd
în ceva mai sigur.
Creați un fișier Unit Systemd
Pentru a rula Odoo ca serviciu, trebuie să creăm un fișier de unitate de serviciu în directorul
/etc/systemd/system/
.
Deschideți editorul de text și lipiți următoarea configurație:
sudo nano /etc/systemd/system/odoo12.service
/etc/systemd/system/odoo12.service
Description=Odoo12 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo12 PermissionsStartOnly=true User=odoo12 Group=odoo12 ExecStart=/opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf StandardOutput=journal+console WantedBy=multi-user.target
Notificați systemd că există un nou fișier de unitate și porniți serviciul Odoo rulând:
sudo systemctl daemon-reload
sudo systemctl start odoo12
Verificați starea serviciului cu următoarea comandă:
sudo systemctl status odoo12
Rezultatul ar trebui să arate ceva ca mai jos, indicând faptul că serviciul Odoo este activ și funcțional.
* odoo12.service - Odoo12 Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2018-10-09 14:15:30 PDT; 3s ago Main PID: 24334 (python3) Tasks: 4 (limit: 2319) CGroup: /system.slice/odoo12.service `-24334 /opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Permiteți pornirea serviciului Odoo la momentul de pornire:
sudo systemctl enable odoo12
Testați instalarea
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:

Configurați Nginx ca proxy de terminare SSL
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. În acest tutorial vom folosi exemple.com.Nginx install.SSL certificat pentru domeniul dvs. Puteți instala un certificat SSL gratuit Encrypt.
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. Aceasta înseamnă că proxy-ul nostru de reziliere (Nginx) va gestiona și decripta conexiunile TLS primite (HTTPS) și va transmite cererile necriptate către serviciul nostru intern (Odoo), astfel încât traficul dintre Nginx și Odoo nu va fi criptat (HTTP).
Utilizarea unui proxy invers vă oferă o mulțime de beneficii, cum ar fi Echilibrarea încărcării, terminarea SSL, memorarea în cache, compresia, difuzarea conținutului static și multe altele.
În acest exemplu vom configura Terminarea SSL, redirecționarea HTTP la HTTPS, redirecționarea WWW la non-WWW, vom memora în cache fișierele statice și vom activa compresia GZip.
Deschideți editorul de text și creați următorul fișier:
sudo nano /etc/nginx/sites-enabled/example.com
/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 certificat SSL Fragmentele utilizate în această configurație sunt create în acest ghid.
După ce ați terminat, reporniți serviciul Nginx cu:
sudo systemctl restart nginx
În continuare, trebuie să-i spunem lui Odoo că vom folosi proxy. Pentru aceasta, deschideți fișierul de configurare și adăugați următoarea linie:
/etc/odoo12.conf
proxy_mode = True
Reporniți serviciul Odoo pentru ca modificările să aibă efect:
sudo systemctl restart odoo12
În acest moment, serverul dvs. este configurat și puteți accesa instanța Odoo la
https://example.com
:
https://example.com
Schimbați interfața 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. Dacă doriți să dezactivați accesul direct la instanța dvs. Odoo, puteți bloca portul
8069
pentru toate interfețele publice sau forța Odoo să asculte doar pe interfața locală.
În acest ghid 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:
Activați multiprocesarea
În mod implicit, Odoo lucrează în modul multitreading. Pentru implementările de producție, se recomandă trecerea la serverul de multiprocesare, deoarece crește stabilitatea și utilizarea mai bună a resurselor sistemului. Pentru a activa multiprocesarea, trebuie să edităm configurația Odoo și să stabilim 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 muncitori și dimensiunea de memorie RAM necesară, vom folosi următoarele formule și ipoteze:
Calcularea numărului lucrătorului
- Numărul teoretic maxim 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, în timp ce 80% sunt 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ă avem 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, putem folosi 5 lucrători + 1 muncitor pentru cron lucrător, care este în total 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 de mai sus ne arată că instalația noastră Odoo va avea nevoie de aproximativ 2 GB RAM.
Pentru a trece la modul multiprocesare, deschideți fișierul de configurare și adăugați următoarele linii:
/etc/odoo12.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 odoo12
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 și, în funcție de configurarea dvs., puteți avea și alte servicii care rulează pe serverul dvs.
Concluzie
Acest tutorial te-a parcurs prin instalarea Odoo 12 pe Ubuntu 18.04 într-un mediu virtual Python folosind Nginx ca proxy invers. De asemenea, ați învățat cum să activați multiprocesarea și să optimizați Odoo pentru mediul 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 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 implementează rocket.chat pe ubuntu 18.04
Rocket.Chat este o platformă de comunicare a echipei open source, o alternativă Slack, care se găzduiește de sine stătătoare. Rocket.Chat este o soluție perfectă pentru companii și comunități care doresc să găzduiască propriul sistem de chat.
Cum se implementează cea mai importantă problemă pe ubuntu 18.04
Mattermost aduce toată echipa de comunicare într-un singur loc și oferă diverse funcții, inclusiv partajarea fișierelor, mesagerie individuală și de grup, emoji personalizate, apeluri video și multe altele.







