How To Install PyCharm In Ubuntu 18.04/ Ubuntu 20.04 + Create and Run First Python Project
Sadržaj:
- Instalacija preduvjeta
- Izrada korisnika sustava
- Instalacija i konfiguriranje PostgreSQL-a
- Instaliranje Wkhtmltopdf-a
- Instaliranje i konfiguriranje Odoo 13
- Izrada datoteke sistemske jedinice
- Ispitivanje instalacije
- Konfiguriranje Nginxa kao proxy SSL raskida
- Promjena veznog sučelja
- Omogućavanje višeprocesiranja
- Zaključak
Odoo je popularni open-source paket poslovnih aplikacija. Nudi niz aplikacija, uključujući CRM, e-trgovinu, izradu web stranica, naplatu, računovodstvo, proizvodnju, skladište, upravljanje projektima, zalihe i još mnogo toga, a sve su jednostavno integrirane.
Odoo se može instalirati na više načina, ovisno o slučaju upotrebe i dostupnim tehnologijama. Najjednostavniji i najbrži način za instaliranje Odooa je korištenjem službenih spremišta Odoo APT.
Instaliranje Odoo-a u virtualnom okruženju ili raspoređivanje kao Docker spremnik omogućuje vam veću kontrolu nad postavljenim sustavom i pokretanje više verzija Odoo-a na istom sustavu.
U ovom ćemo vas vodiču provesti kroz instalaciju i raspoređivanje Odoo 13 unutar Python virtualnog okruženja na Ubuntu 18.04. Preuzet ćemo Odoo iz njihovog Github-ovog spremišta i koristiti Nginx kao obrnuti proxy.
Instalacija preduvjeta
Prijavite se na svoj Ubuntu kao sudo korisnik i ažurirajte predmemoriju Apt:
sudo apt update
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
Izrada korisnika sustava
Napravite korisnika sustava koji će pokrenuti Odoo, nazvan
odoo13
s kućnim direktorijom
/opt/odoo13
:
sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13
Možete postaviti ime korisnika na sve što želite dok god kreirate PostgreSQL korisnika s istim imenom.
Instalacija i konfiguriranje PostgreSQL-a
Odoo koristi PostgreSQL kao pomoćnu bazu podataka. Da biste instalirali PostgreSQL, pokrenite sljedeću naredbu:
sudo apt install postgresql
Nakon što je instalacija dovršena, stvorite PostgreSQL korisnika s istim imenom kao prethodno kreirani korisnik sustava, u našem slučaju je to
odoo13
:
sudo su - postgres -c "createuser -s odoo13"
Instaliranje Wkhtmltopdf-a
Paket
wkhtmltox
pruža skup alata naredbenog retka otvorenog koda koji mogu pretvoriti HTML u PDF i razne formate slika. Da biste mogli ispisati PDF izvješća, trebate instalirati alat
wkhtmltopdf
. Preporučena verzija za Odoo je
0.12.5
, što nije dostupno u zadanim Ubuntu 18.04 spremištima.
Preuzmite paket pomoću sljedeće wget naredbe:
wget
Nakon dovršetka preuzimanja instalirajte paket tako da upišete:
sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb
Instaliranje i konfiguriranje Odoo 13
Kao što smo već spomenuli, instalirat ćemo Odoo iz izvora u izolirano Python virtualno okruženje.
Prvo promijenite korisnika "odoo13":
sudo su - odoo13
Klonirajte izvorni kod Odoo 13 iz GitHuba:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
Nakon dovršetka preuzimanja stvorite novo Python virtualno okruženje za Odoo:
cd /opt/odoo13
python3 -m venv odoo-venv
Aktivirajte okruženje sljedećom naredbom:
source odoo-venv/bin/activate
Instalirajte sve potrebne Python module s pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Ako tijekom instalacije naiđete na pogrešku kompilacije, provjerite jesu li instalirane sve potrebne ovisnosti navedene u odjeljku
Installing Prerequisites
instaliranje.
Nakon što učinite, deaktivirajte okoliš upisivanjem:
deactivate
Stvorit ćemo novu mapu koja će sadržavati adone treće strane.
mkdir /opt/odoo13/odoo-custom-addons
Kasnije ćemo taj direktorij
addons_path
parametru
addons_path
. Ovaj parametar definira popis direktorija u kojima Odoo traži module.
Prebacite se natrag na svog sudo korisnika:
exit
Napravite konfiguracijsku datoteku sa sljedećim sadržajem:
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
Ne zaboravite promijeniti
my_admin_passwd
u nešto sigurnije.
Izrada datoteke sistemske jedinice
Otvorite uređivač teksta i stvorite datoteku uslužne jedinice koja se zove
odoo13.service
sa sljedećim sadržajem:
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
Obavijestite systemd da postoji nova jedinica datoteke:
sudo systemctl daemon-reload
Pokrenite Odoo uslugu i omogućite je da se pokrene pri pokretanju pokretanjem:
sudo systemctl enable --now odoo13
Provjerite status usluge:
sudo systemctl status odoo13
Izlaz bi trebao izgledati nešto poput dolje, što ukazuje da je Odoo usluga aktivna i pokrenuta.
● 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
Za prikaz poruka zabilježenih od strane Odoo usluge, koristite naredbu u nastavku:
Ispitivanje instalacije
Otvorite preglednik i utipkajte:
http://:8069
http://:8069
Pod pretpostavkom da je instalacija uspješna, pojavit će se zaslon sličan sljedećem:
Konfiguriranje Nginxa kao proxy SSL raskida
Zadani web poslužitelj Odoo poslužuje promet putem HTTP-a. Da bismo Odoo implementaciju učinili sigurnijom 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 proxy zaključavanja (Nginx) obraditi i dešifrirati dolazne TLS veze (HTTPS) i proslijediti nekodirane zahtjeve internoj službi (Odoo). Promet između Nginx-a i Odoo-a neće biti šifriran (HTTP).
Korištenje obrnutog proxyja pruža vam puno prednosti poput balansiranja učitavanja, SSL raskida, predmemoriranja, kompresije, posluživanja statičkog sadržaja i još više.
Prije nastavka s ovim odjeljkom osigurajte da ste ispunili sljedeće preduvjete:
- Naziv domene koji upućuje na IP vašeg javnog poslužitelja. Za vašu domenu koristit ćemo
example.com
.Nginx Instal.SSL certifikat. Možete instalirati besplatni Let's Encrypt SSL certifikat.
Otvorite uređivač teksta i stvorite / uredite blok poslužitelja domene:
sudo nano /etc/nginx/sites-enabled/example.com
Sljedeća konfiguracija postavlja SSL Prekid, HTTP na HTTPS preusmjeravanje, WWW na non-WWW preusmjeravanje, predmemorira statičke datoteke i omogućuje 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.
Kada završite, ponovno pokrenite Nginx uslugu:
sudo systemctl restart nginx
Dalje, moramo reći Odoo-u da koristi proxy. Da biste to učinili, otvorite konfiguracijsku datoteku i dodajte sljedeći redak:
/etc/odoo13.conf
proxy_mode = True
Ponovo pokrenite Odoo uslugu da bi promjene stupile na snagu:
sudo systemctl restart odoo13
U ovom trenutku je obrnuti proxy konfiguriran i svojoj pristupu Odoo možete pristupiti na:
https://example.com
Promjena veznog sučelja
Ovaj je korak izborni, ali je dobra sigurnosna praksa.
Odoo poslužitelj prema zadanim postavkama sluša port
8069
na svim sučeljima. Da biste onemogućili izravan pristup instanci Odoo, možete blokirati ulaz
8069
za sva javna sučelja ili prisiliti Odoo da sluša samo na lokalnom sučelju.
Konfigurirat ćemo Odoo da sluša samo na
127.0.0.1
. Otvorite konfiguraciju 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ćavanje višeprocesiranja
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 sistemske resurse.
Da biste omogućili višestruku obradu, trebate urediti Odoo konfiguraciju i postaviti ne-nulti 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 kako biste izračunali broj radnika i potrebnu veličinu RAM memorije, možete koristiti 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, a 80% lakši. Teški zahtjevi koriste oko 1 GB RAM-a, dok lakši koriste oko 150 MB RAMNeeded RAM-a =
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Recimo da imate 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 temelju gornjeg izračuna, možete koristiti 5 radnika + 1 radnika za radnika iz 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
Proračun pokazuje da će za instalaciju Odoo biti potrebno oko 2 GB RAM-a.
Da biste se prebacili u višeprocesni način, otvorite konfiguracijsku datoteku i dodajte izračunate vrijednosti:
/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
Ponovo pokrenite Odoo uslugu da bi promjene stupile na snagu:
sudo systemctl restart odoo13
Ostatak resursa sustava koristit će ostale usluge koje rade na ovom sustavu. U ovom smo vodiču na isti poslužitelj instalirali Odoo zajedno s PostgreSQL i Nginx. Ovisno o vašoj postavci, na poslužitelju ćete možda imati i druge usluge.
Zaključak
Ovaj je vodič vodio kroz instalaciju Odoo 13 na Ubuntu 18.04 u Python virtualnom okruženju koristeći Nginx kao obrnuti proxy. Također smo vam pokazali kako omogućiti višestruku obradu i optimizirati Odoo za proizvodno okruženje.
Možda ćete također htjeti provjeriti naš vodič o tome kako stvoriti automatske dnevne sigurnosne kopije Odoo baza podataka.
ubuntu odoo postgresql python pip nginx proxy sslKako implementirati odoo 11 na ubuntu 18.04

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.
Kako 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 instalirati odoo 11 na ubuntu 16.04

Odoo je jedan od najpopularnijih softverskog softvera na svijetu. Ovaj vodič opisuje korake potrebne za instaliranje i konfiguriranje Odoo korištenja Git izvora i Python virtualnog okruženja na Ubuntu 16.04