How to Install Odoo 13 on Ubuntu 18.04
Innholdsfortegnelse:
- Installere forutsetninger
- Opprette en systembruker
- Installere og konfigurere PostgreSQL
- Installerer Wkhtmltopdf
- Installere og konfigurere Odoo 13
- Opprette en Systemd Unit-fil
- Testing av installasjonen
- Konfigurere Nginx som SSL-termineringsproxy
- Endre bindende grensesnitt
- Aktiverer multiprosessering
- Konklusjon
Odoo er en populær open source-pakke med forretningsapper. Den tilbyr en rekke applikasjoner, inkludert CRM, e-handel, byggherre av nettsteder, fakturering, regnskap, produksjon, lager, prosjektstyring, lager og mye mer, alt sømløst integrert.
Odoo kan installeres på flere måter, avhengig av brukskasse og tilgjengelige teknologier. Den enkleste og raskeste måten å installere Odoo er ved å bruke de offisielle Odoo APT-lagringene.
Ved å installere Odoo i et virtuelt miljø, eller distribuere som en Docker-beholder, kan du ha mer kontroll over systemoppsettet, og kjøre flere Odoo-versjoner på samme system.
I denne guiden vil vi lede deg gjennom å installere og distribuere Odoo 13 i et virtuelt Python-miljø på Ubuntu 18.04. Vi laster ned Odoo fra deres Github-lager, og bruker Nginx som en omvendt proxy.
Installere forutsetninger
Logg inn på Ubuntu som sudo-bruker og oppdater Apt-cachen:
sudo apt update
Installer Git, Pip, Node.js og verktøyene som kreves for å bygge Odoo-avhengigheter:
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
Opprette en systembruker
Opprett en systembruker som vil kjøre Odoo, kalt
odoo13
med hjemmekatalog
/opt/odoo13
:
sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13
Du kan stille inn navnet på brukeren til hva du vil, så lenge du oppretter en PostgreSQL-bruker med samme navn.
Installere og konfigurere PostgreSQL
Odoo bruker PostgreSQL som database back-end. Kjør følgende kommando for å installere PostgreSQL:
sudo apt install postgresql
Når installasjonen er fullført, oppretter du en PostgreSQL-bruker med samme navn som den tidligere opprettede systembrukeren, i vårt tilfelle som er
odoo13
:
sudo su - postgres -c "createuser -s odoo13"
Installerer Wkhtmltopdf
wkhtmltox
pakken inneholder et sett med åpen kildekode kommandolinjeverktøy som kan gjengi HTML til PDF og forskjellige bildeformater. For å kunne skrive ut PDF-rapporter, må du installere
wkhtmltopdf
verktøyet. Den anbefalte versjonen for Odoo er
0.12.5
, som ikke er tilgjengelig i standard Ubuntu 18.04-depotene.
Last ned pakken ved hjelp av følgende wget-kommando:
wget
Når nedlastingen er fullført, installerer du pakken ved å skrive:
sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb
Installere og konfigurere Odoo 13
Som nevnt tidligere, vil vi installere Odoo fra kilden i et isolert virtuelt Python-miljø.
Bytt først til bruker “odoo13”:
sudo su - odoo13
Klon Odoo 13-kildekoden fra GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
Når nedlastingen er fullført, oppretter du et nytt virtuelt Python-miljø for Odoo:
cd /opt/odoo13
python3 -m venv odoo-venv
Aktiver miljøet med følgende kommando:
source odoo-venv/bin/activate
Installer alle nødvendige Python-moduler med pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Hvis du får en kompilasjonsfeil under installasjonen, må du forsikre deg om at alle nødvendige avhengigheter som er oppført i delen
Installing Prerequisites
er installert.
Når du er ferdig, kan du deaktivere miljøet ved å skrive:
deactivate
Vi oppretter en ny katalog som inneholder tredjeparts tillegg.
mkdir /opt/odoo13/odoo-custom-addons
Senere legger vi til denne katalogen til parameteren
addons_path
. Denne parameteren definerer en liste over kataloger der Odoo søker etter moduler.
Bytt tilbake til sudo-brukeren din:
exit
Lag en konfigurasjonsfil med følgende innhold:
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
Ikke glem å endre
my_admin_passwd
til noe sikrere.
Opprette en Systemd Unit-fil
Åpne teksteditoren din, og opprett en serviceenhetsfil som heter
odoo13.service
med følgende innhold:
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
Varsle systemd om at det eksisterer en ny enhetsfil:
sudo systemctl daemon-reload
Start Odoo-tjenesten og la den starte på oppstart ved å kjøre:
sudo systemctl enable --now odoo13
Bekreft tjenestestatusen:
sudo systemctl status odoo13
Produksjonen skal se ut som nedenfor, noe som indikerer at Odoo-tjenesten er aktiv og kjører.
● 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
Hvis du vil se meldingene som er logget av Odoo-tjenesten, bruker du kommandoen nedenfor:
Testing av installasjonen
Åpne nettleseren din og skriv:
http://:8069
http://:8069
Forutsatt at installasjonen er vellykket, vises en skjerm som ligner på følgende:
Konfigurere Nginx som SSL-termineringsproxy
Standard Odoo-webserveren betjener trafikk via HTTP. For å gjøre Odoo-distribusjonen sikrere vil vi konfigurere Nginx som en SSL-avslutningsproxy som vil betjene trafikken over
SSL termination proxy er en proxy-server som håndterer SSL-kryptering / dekryptering. Dette betyr at termineringsproxy (Nginx) vil behandle og dekryptere innkommende TLS-tilkoblinger (HTTPS), og videreformidle de ukrypterte forespørslene til den interne tjenesten (Odoo). Trafikken mellom Nginx og Odoo blir ikke kryptert (HTTP).
Å bruke en omvendt proxy gir deg mange fordeler som belastningsbalansering, SSL-terminering, hurtigbufring, komprimering, servering av statisk innhold og mer.
Forsikre deg om at du har oppfylt følgende forutsetninger før du fortsetter med denne delen:
- Domenenavn som peker til din offentlige server-IP. Vi bruker
example.com
Nginx installert.SSL-sertifikat for domenet ditt. Du kan installere et gratis Let's Encrypt SSL-sertifikat.
Åpne tekstredigereren din og opprett / rediger domeneserverblokken:
sudo nano /etc/nginx/sites-enabled/example.com
Følgende konfigurasjon setter opp SSL-terminering, HTTP til HTTPS-viderekobling, WWW til ikke-WWW-viderekobling, buffer de statiske filene og aktiverer GZip-komprimering.
/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; }
Ikke glem å erstatte eksempel.com med Odoo-domenet ditt og angi riktig sti til SSL-sertifikatfilene. Utdragene som brukes i denne konfigurasjonen, opprettes i denne guiden.
Når du er ferdig, start Nginx-tjenesten på nytt:
sudo systemctl restart nginx
Deretter må vi fortelle Odoo om å bruke proxy. Å gjøre det, åpne konfigurasjonsfilen og legg til følgende linje:
/etc/odoo13.conf
proxy_mode = True
Start Odoo-tjenesten på nytt for at endringene skal tre i kraft:
sudo systemctl restart odoo13
På dette tidspunktet er omvendt proxy konfigurert, og du kan få tilgang til Odoo-forekomsten din på:
https://example.com
Endre bindende grensesnitt
Dette trinnet er valgfritt, men det er en god sikkerhetspraksis.
Som standard lytter Odoo-serveren til port
8069
på alle grensesnitt. For å deaktivere direkte tilgang til Odoo-forekomsten, kan du enten blokkere port
8069
for alle offentlige grensesnitt eller tvinge Odoo til kun å lytte på det lokale grensesnittet.
Vi konfigurerer Odoo til bare å lytte på
127.0.0.1
. Åpne konfigurasjonen, legg til følgende to linjer på slutten av filen:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Lagre konfigurasjonsfilen og start Odoo-serveren på nytt for at endringene skal tre i kraft:
Aktiverer multiprosessering
Som standard jobber Odoo i multithreading-modus. For produksjonsdistribusjoner anbefales det å bytte til multiprosesseringsserveren da den øker stabiliteten og utnytter systemressursene bedre.
For å aktivere multiprosessering må du redigere Odoo-konfigurasjonen og angi et antall ikke-null arbeidstakerprosesser. Antall arbeidere beregnes basert på antall CPU-kjerner i systemet og tilgjengelig RAM-minne.
I henhold til den offisielle Odoo-dokumentasjonen for å beregne arbeidernes antall og ønsket RAM-minnestørrelse, kan du bruke følgende formler og forutsetninger:
Beregning av antall ansatte
- Teoretisk maksimalt antall arbeidere = (system_cpus * 2) + 11 arbeidere kan tjene ~ = 6 samtidige brukereKronarbeidere krever også CPU
RAM-minne størrelse beregning
- Vi vil vurdere at 20% av alle forespørsler er tunge forespørsler, og 80% er lettere. Tunge forespørsler bruker rundt 1 GB RAM mens de lettere bruker rundt 150 MB RAMNødvendig RAM =
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
La oss si at du har et system med 4 CPU-kjerner, 8 GB RAM-minne og 30 samtidige Odoo-brukere.
-
30 users / 6 = **5**
(5 er teoretisk antall arbeidere som trengs)(4 * 2) + 1 = **9**
(9 er det teoretiske maksimale antall arbeidere)
Basert på beregningen over, kan du bruke 5 arbeidere + 1 arbeider for cron-arbeideren som til sammen er 6 arbeidere.
Beregn RAM-minneforbruket basert på antall arbeidere:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Beregningen viser at Odoo-installasjonen vil trenge rundt 2 GB RAM.
For å bytte til multiprosesseringsmodus, åpne konfigurasjonsfilen og legge til de beregnede verdiene:
/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
Start Odoo-tjenesten på nytt for at endringene skal tre i kraft:
sudo systemctl restart odoo13
Resten av systemressursene vil bli brukt av andre tjenester som kjører på dette systemet. I denne guiden installerte vi Odoo sammen med PostgreSQL og Nginx på samme server. Avhengig av konfigurasjonen din, kan det hende at du har andre tjenester som kjører på serveren din.
Konklusjon
Denne opplæringen ledet deg gjennom installasjonen av Odoo 13 på Ubuntu 18.04 i et virtuelt Python-miljø med Nginx som en omvendt proxy. Vi har også vist deg hvordan du kan aktivere multiprosessering og optimalisere Odoo for et produksjonsmiljø.
Det kan også være lurt å sjekke veiledningen vår om hvordan du oppretter automatisk daglig sikkerhetskopi av Odoo-databaser.
ubuntu odoo postgresql python pip nginx proxy sslHvordan distribuere odoo 11 på ubuntu 18.04

Denne guiden dekker trinnene som er nødvendige for å installere og konfigurere Odoo for produksjon ved bruk av Git source og Python virtuelle miljø på et Ubuntu 18.04-system.
Hvordan distribuere odoo 12 på ubuntu 18.04

Denne opplæringen dekker trinnene som kreves for å installere og konfigurere Odoo 12 for produksjon ved bruk av Git source og Python virtuelle miljø på et Ubuntu 18.04-system.
Hvordan installere odoo 11 på ubuntu 16.04

Odoo er en av de mest populære forretningsprogramvarene i verden. Denne guiden dekker trinnene som er nødvendige for å installere og konfigurere Odoo ved hjelp av Git source og virtuelle Python-miljø på Ubuntu 16.04