How to install Odoo 11 on Ubuntu 18.04
Innholdsfortegnelse:
- Før du begynner
- Opprett Odoo-bruker
- Installer og konfigurer PostgreSQL
- Installer Wkhtmltopdf
- Installer og konfigurer Odoo
- Lag en systemd enhetsfil
- Test installasjonen
- Konfigurer Nginx som en SSL-termineringsproxy
- Endre bindingsgrensesnittet
- Aktiver multiprosessering
- Konklusjon
Odoo er den mest populære alt-i-ett-forretningsprogramvaren i verden. Det tilbyr en rekke forretningsapplikasjoner, inkludert CRM, nettsted, e-handel, fakturering, regnskap, produksjon, lager, prosjektstyring, lager og mye mer, alt sømløst integrert.
Det er flere måter å installere Odoo på, avhengig av ønsket brukstilfelle. Den enkleste og raskeste måten å installere Odoo er ved å bruke de offisielle APT-lagringene.
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.
Før du begynner
Logg på Ubuntu-maskinen din som sudo-bruker og oppdater systemet til de nyeste pakkene:
sudo apt update && sudo apt upgrade
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
Opprett Odoo-bruker
Opprett en ny systembruker og gruppe med hjemmekatalog
/opt/odoo
som kjører Odoo-tjenesten.
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
Du kan navngi brukeren hva du vil, bare sørg for at du oppretter en postgres-bruker med samme navn.
Installer og konfigurer PostgreSQL
Installer PostgreSQL-pakken fra Ubuntu sine standardlager:
sudo apt install postgresql
Når installasjonen er fullført, opprett en PostgreSQL-bruker med samme navn som den tidligere opprettede systembrukeren, i vårt tilfelle
odoo
:
sudo su - postgres -c "createuser -s odoo"
Installer Wkhtmltopdf
wkhtmltox
pakken inneholder et sett med åpen kildekode kommandolinjeverktøy som kan gjengi HTML til PDF og forskjellige bildeformater. For å skrive ut PDF-rapporter, trenger du
wkhtmltopdf
verktøyet. Den anbefalte versjonen for Odoo er
0.12.1
som ikke er tilgjengelig i de offisielle 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.1.3-1~bionic_amd64.deb
Installer og konfigurer Odoo
Vi vil installere Odoo fra GitHub-depotet i et isolert virtuelt Python-miljø, slik at vi kan ha mer kontroll over versjoner og oppdateringer.
Før du begynner med installasjonsprosessen, må du sørge for å bytte til
odoo
bruker.
sudo su - odoo
For å bekrefte at du er logget inn som
odoo
bruker, kan du bruke følgende kommando:
whoami
Nå kan vi starte med installasjonsprosessen. Klon først odoo fra GitHub-depot:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11
- Hvis du vil installere en annen Odoo-versjon, kan du bare endre versjonsnummeret etter
--branch
bryteren. Du kan navngi katalogen som du vil, for eksempel i stedet forodoo11
kan du bruke navnet på domenet ditt.
Slik lager du et nytt virtuelt miljø for forekomst av Odoo 11:
cd /opt/odoo
python3 -m venv odoo11-venv
aktiver miljøet med følgende kommando:
source odoo11-venv/bin/activate
og installer alle nødvendige Python-moduler med pip3:
pip3 install wheel
pip3 install -r odoo11/requirements.txt
pip3
er et verktøy for å installere og administrere Python-pakker.
Når installasjonen er fullført, deaktiverer du miljøet og bytter tilbake til sudo-brukeren din ved hjelp av følgende kommandoer:
deactivate
exit
sudo mkdir /opt/odoo/odoo11-custom-addons
sudo chown odoo: /opt/odoo/odoo11-custom-addons
Deretter må vi opprette en konfigurasjonsfil, vi kan enten opprette en ny fra bunnen av eller kopiere den medfølgende konfigurasjonsfilen:
sudo cp /opt/odoo/odoo11/debian/odoo.conf /etc/odoo11.conf
Åpne filen og rediger den slik:
/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
Ikke glem å endre
my_admin_passwd
til noe sikrere og juster
addons_path
hvis du bruker tilpassede moduler.
Lag en systemd enhetsfil
For å kjøre odoo som en tjeneste vil vi opprette en
odoo11.service
i
/etc/systemd/system/
katalogen med følgende innhold:
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
Gi beskjed til systemd om at vi opprettet en ny enhetsfil og starter Odoo-tjenesten ved å utføre:
sudo systemctl daemon-reload
sudo systemctl start odoo11
Du kan sjekke servicestatusen med følgende kommando:
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
og hvis det ikke er noen feil, kan du aktivere Odoo-tjenesten automatisk ved oppstart:
sudo systemctl enable odoo11
Test installasjonen
Åpne nettleseren din og skriv:
http://:8069
http://:8069
Forutsatt at installasjonen er vellykket, vises en skjerm som ligner på følgende:
Konfigurer Nginx som en SSL-termineringsproxy
- Du har et domenenavn som peker til din offentlige server-IP. I denne opplæringen vil vi bruke
example.com
Du har Nginx installert ved å følge disse instruksjonene. Du har et SSL-sertifikat installert for domenet ditt. Du kan installere et gratis Let's Encrypt SSL-sertifikat ved å følge disse instruksjonene.
Standard Odoo-webserveren betjener trafikk via HTTP. For å gjøre Odoo-distribusjonen mer sikker 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 vår termineringsproxy (Nginx) vil håndtere og dekryptere innkommende TLS-tilkoblinger (HTTPS), og den vil overføre de ukrypterte forespørslene til vår interne tjeneste (Odoo) slik at trafikken mellom Nginx og Odoo ikke blir kryptert (HTTP).
Vi må fortelle Odoo at vi vil bruke en proxy, åpne konfigurasjonsfilen og legge til følgende linje:
/etc/odoo11.conf
proxy_mode = True
Start Odoo-tjenesten på nytt for at endringene skal tre i kraft:
sudo systemctl restart odoo11
Å bruke Nginx som proxy gir oss flere fordeler. I dette eksemplet vil vi konfigurere SSL Termination, HTTP til HTTPS omdirigering, WWW til non WWW omdirigering, cache de statiske filene og aktivere 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 med:
Endre bindingsgrensesnittet
Dette trinnet er valgfritt, men det er en god sikkerhetspraksis. Som standard lytter Odoo-serveren til port 8069 på alle grensesnitt, så hvis du vil deaktivere direkte tilgang til Odoo-forekomsten din, kan du enten blokkere port 8069 for alle offentlige grensesnitt eller tvinge Odoo til kun å lytte på det lokale grensesnittet.
I denne guiden vil vi tvinge Odoo til kun å lytte på
127.0.0.1
, åpne Odoo-konfigurasjonen og 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:
Aktiver multiprosessering
Som standard jobber Odoo i multithreading-modus. For produksjonsinstallasjoner anbefales det å bytte til multiprosesseringsserveren da den øker stabiliteten og utnytter systemressursene bedre. For å muliggjøre multiprosessering må vi redigere Odoo-konfigurasjonen og sette 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 vil vi bruke følgende formler og forutsetninger:
Beregning av antall ansatte
- teoretisk maksimalt antall arbeidere = (system_cpus * 2) + 11 arbeider 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, mens 80% er lettere. Tunge forespørsler bruker rundt 1 GB RAM mens de lettere bruker rundt 150 MB RAMNødvendig RAM = antall_av_arbeidere * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
La oss si at vi 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 vi bruke 5 arbeidere + 1 arbeider for cron-arbeideren, som totalt er 6 arbeidere.
Beregn RAM-minneforbruket basert på antall arbeidere:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Beregningen over viser oss at vår Odoo-installasjon vil trenge rundt 2 GB RAM.
Hvis du vil bytte til multiprosesseringsmodus, åpner du konfigurasjonsfilen og legger ved følgende linjer:
/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
Start Odoo-tjenesten på nytt for at endringene skal tre i kraft:
sudo systemctl restart odoo11
Resten av systemressursene vil bli brukt av andre tjenester som kjører på vår maskin. I denne guiden installerte vi Odoo sammen med PostgreSQL og Nginx på en samme server, og avhengig av ditt oppsett kan det hende at du også har andre tjenester som kjører på serveren din.
Konklusjon
Det er det! Denne opplæringen ledet deg gjennom installasjonen av Odoo 11 på Ubuntu 18.04 i et virtuelt Python-miljø med Nginx som en omvendt proxy. Du lærte også hvordan du aktiverer multiprosessering og optimaliserer Odoo for produksjonsmiljø. Det kan også være lurt å sjekke opplæringen vår om hvordan du oppretter automatisk daglig sikkerhetskopi av Odoo-databasene dine.
ubuntu odoo postgresql python pip nginx proxy sslHvordan 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 distribuere rocket.chat på ubuntu 18.04
Rocket.Chat er en åpen kildekode kommunikasjonsplattform, et selvhusholdent Slack-alternativ. Rocket.Chat er en perfekt løsning for selskaper og lokalsamfunn som ønsker å være vert for sitt eget chatsystem.
Hvordan distribuere det aller viktigste på ubuntu 18.04
Mattermost bringer all teamkommunikasjonen din ett sted og gir forskjellige funksjoner, inkludert fildeling, en-til-en og gruppemeldinger, tilpassede emojis, videosamtaler og mer.