Android

Sådan installeres odoo 13 på ubuntu 18.04

How to Setup Google Analytics & Install on Website

How to Setup Google Analytics & Install on Website

Indholdsfortegnelse:

Anonim

Odoo er en populær open source-pakke med forretningsapps. Det tilbyder en række applikationer, herunder CRM, e-handel, webstedsbygger, fakturering, regnskab, produktion, lager, projektstyring, inventar og meget mere, alt sammen integreret.

Odoo kan installeres på flere måder afhængigt af brugskassen og tilgængelige teknologier. Den nemmeste og hurtigste måde at installere Odoo er ved at bruge de officielle Odoo APT-lagre.

Ved at installere Odoo i et virtuelt miljø eller implementere som en Docker-container kan du få mere kontrol over systemets opsætning og køre flere Odoo-versioner på det samme system.

I denne guide vil vi lede dig gennem installation og implementering af Odoo 13 i et virtuelt Python-miljø på Ubuntu 18.04. Vi henter Odoo fra deres Github-lager og bruger Nginx som en reverse proxy.

Installation af forudsætninger

Log ind på din Ubuntu som sudo-bruger og opdater Apt-cachen:

sudo apt update

Installer Git, Pip, Node.js og de nødvendige værktøjer til at opbygge Odoo-afhængigheder:

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

Oprettelse af en systembruger

Opret en systembruger, der kører Odoo, navngivet odoo13 med hjemmekatalog /opt/odoo13 :

sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13

Du kan indstille brugerens navn til hvad du vil have, så længe du opretter en PostgreSQL-bruger med samme navn.

Installation og konfiguration af PostgreSQL

Odoo bruger PostgreSQL som database back-end. For at installere PostgreSQL skal du køre følgende kommando:

sudo apt install postgresql

Når installationen er afsluttet, skal du oprette en PostgreSQL-bruger med samme navn som den tidligere oprettede systembruger, i vores tilfælde det er odoo13 :

sudo su - postgres -c "createuser -s odoo13"

Installation af Wkhtmltopdf

wkhtmltox pakken indeholder et sæt open-source kommandolinjeværktøjer, der kan gengive HTML til PDF og forskellige billedformater. For at kunne udskrive PDF-rapporter skal du installere wkhtmltopdf værktøjet. Den anbefalede version til Odoo er 0.12.5 , som ikke er tilgængelig i standard Ubuntu 18.04-oplagrene.

Download pakken ved hjælp af følgende wget-kommando:

wget

Når download er afsluttet, skal du installere pakken ved at skrive:

sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb

Installation og konfiguration af Odoo 13

Som nævnt før vil vi installere Odoo fra kilden i et isoleret virtuelt Python-miljø.

Skift først til bruger “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 downloadet er afsluttet, skal du oprette et nyt virtuelt Python-miljø til Odoo:

cd /opt/odoo13 python3 -m venv odoo-venv

Aktivér 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 støder på en kompilationsfejl under installationen, skal du sørge for, at alle de nødvendige afhængigheder, der er anført i afsnittet Installing Prerequisites , er installeret.

Når det er gjort, skal du deaktivere miljøet ved at skrive:

deactivate

Vi opretter et nyt bibliotek, der indeholder addon til tredjepart.

mkdir /opt/odoo13/odoo-custom-addons

Senere tilføjer vi dette bibliotek til addons_path parameteren. Denne parameter definerer en liste over mapper, hvor Odoo søger efter moduler.

Skift tilbage til din sudo-bruger:

exit

Opret en konfigurationsfil med følgende indhold:

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 Glem ikke at ændre my_admin_passwd til noget mere sikkert.

Oprettelse af en Systemd-enhedsfil

Åbn din teksteditor, og opret en serviceenhedsfil kaldet odoo13.service med følgende indhold:

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

Underret systemd om, at der findes en ny enhedsfil:

sudo systemctl daemon-reload

Start Odoo-tjenesten og aktiveret den til at starte med boot ved at køre:

sudo systemctl enable --now odoo13

Bekræft servicestatus:

sudo systemctl status odoo13

Outputet skal se sådan ud som nedenfor, hvilket indikerer, at Odoo-tjenesten er aktiv og kø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

For at se de meddelelser, der er logget af Odoo-tjenesten, skal du bruge kommandoen herunder:

sudo journalctl -u odoo13

Test af installationen

Åbn din browser, og skriv: http://:8069 http://:8069

Forudsat at installationen er vellykket, vises en skærm, der ligner følgende:

Konfiguration af Nginx som SSL-termineringsproxy

Standard Odoo-webserveren betjener trafik via HTTP. For at gøre Odoo-installationen mere sikker konfigurerer vi Nginx som en SSL-termineringsproxy, der tjener trafikken via

SSL-termineringsproxy er en proxyserver, der håndterer SSL-kryptering / dekryptering. Dette betyder, at termineringsproxy (Nginx) vil behandle og dekryptere indgående TLS-forbindelser (HTTPS) og videresende de ikke-krypterede anmodninger til den interne tjeneste (Odoo). Trafikken mellem Nginx og Odoo bliver ikke krypteret (HTTP).

Brug af en omvendt proxy giver dig en masse fordele såsom belastningsbalancering, SSL-terminering, cache, komprimering, servering af statisk indhold og mere.

Sørg for, at du har opfyldt følgende forudsætninger, før du fortsætter med dette afsnit:

  • Domænenavn, der peger på din offentlige server-IP. Vi bruger example.com Nginx installeret.SSL-certifikat til dit domæne. Du kan installere et gratis Let's Encrypt SSL-certifikat.

Åbn din teksteditor, og opret / rediger domæneserverblokken:

sudo nano /etc/nginx/sites-enabled/example.com

Følgende konfiguration indstiller SSL-terminering, HTTP til HTTPS-omdirigering, WWW til ikke-WWW-omdirigering, cache de statiske filer 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; } Glem ikke at erstatte eksempel.com med dit Odoo-domæne og indstille den rigtige sti til SSL-certifikatfiler. De kodestykker, der bruges i denne konfiguration, oprettes i denne vejledning.

Når du er færdig, skal du genstarte Nginx-tjenesten:

sudo systemctl restart nginx

Dernæst skal vi bede Odoo om at bruge proxy. For at gøre dette skal du åbne konfigurationsfilen og tilføje følgende linje:

/etc/odoo13.conf

proxy_mode = True

Genstart Odoo-tjenesten for at ændringerne får virkning:

sudo systemctl restart odoo13

På dette tidspunkt er den omvendte proxy konfigureret, og du kan få adgang til din Odoo-forekomst på: https://example.com

Ændring af bindingsgrænsefladen

Dette trin er valgfrit, men det er en god sikkerhedspraksis.

Som standard lytter Odoo-serveren til port 8069 på alle grænseflader. For at deaktivere direkte adgang til Odoo-forekomsten kan du enten blokere port 8069 for alle offentlige grænseflader eller tvinge Odoo til kun at lytte på den lokale grænseflade.

Vi konfigurerer Odoo til kun at lytte på 127.0.0.1 . Åbn konfigurationen, tilføj følgende to linjer i slutningen af ​​filen:

/etc/odoo13.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

Gem konfigurationsfilen, og genstart Odoo-serveren, så ændringerne træder i kraft:

sudo systemctl restart odoo13

Aktiverer multiprocessering

Som standard fungerer Odoo i multithreading-tilstand. Ved produktionsinstallationer anbefales det at skifte til multiprosessionsserveren, da det øger stabiliteten og udnytter systemressourcerne bedre.

For at aktivere multiprocessering skal du redigere Odoo-konfigurationen og indstille et antal ikke-nul medarbejderprocesser. Antallet af arbejdere beregnes ud fra antallet af CPU-kerner i systemet og den tilgængelige RAM-hukommelse.

I henhold til den officielle Odoo-dokumentation til beregning af arbejdernes antal og den krævede RAM-hukommelsesstørrelse, kan du bruge følgende formler og antagelser:

Beregning af arbejdstagerantal

  • Teoretisk maksimalt antal arbejdstagere = (system_cpus * 2) + 11 arbejdstager kan tjene ~ = 6 samtidige brugereCronarbejdere kræver også CPU

RAM-hukommelsesstørrelsesberegning

  • Vi vil overveje, at 20% af alle anmodninger er tunge anmodninger, og 80% er lettere. Tunge anmodninger bruger ca. 1 GB RAM, mens de lettere bruger omkring 150 MB RAMNeeded RAM = number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))

grep -c ^processor /proc/cpuinfo

Lad os sige, at du har et system med 4 CPU-kerner, 8 GB RAM-hukommelse og 30 samtidige Odoo-brugere.

  • 30 users / 6 = **5** (5 er det teoretiske antal arbejdstagere, der er nødvendigt) (4 * 2) + 1 = **9** (9 er det teoretiske maksimale antal arbejdstagere)

Baseret på ovennævnte beregning kan du bruge 5 arbejdstagere + 1 arbejdstager til cron-arbejderen, der er i alt 6 arbejdstagere.

Beregn RAM-hukommelsesforbruget baseret på antallet af ansatte:

  • RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM

Beregningen viser, at Odoo-installationen har brug for omkring 2 GB RAM.

For at skifte til multiprocesseringstilstand skal du åbne konfigurationsfilen og tilføje de beregnede værdier:

/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

Genstart Odoo-tjenesten for at ændringerne får virkning:

sudo systemctl restart odoo13

Resten af ​​systemressourcerne bruges af andre tjenester, der kører på dette system. I denne guide installerede vi Odoo sammen med PostgreSQL og Nginx på den samme server. Afhængig af din opsætning kan du muligvis også have andre tjenester, der kører på din server.

Konklusion

Denne tutorial ledte dig gennem installationen af ​​Odoo 13 på Ubuntu 18.04 i et Python-virtuelt miljø ved hjælp af Nginx som en omvendt proxy. Vi har også vist dig, hvordan du aktiverer multiprocessering og optimerer Odoo til et produktionsmiljø.

Du kan også tjekke vores tutorial om, hvordan du opretter automatisk daglige sikkerhedskopier af Odoo-databaser.

ubuntu odoo postgresql python pip nginx proxy ssl