How to Setup Google Analytics & Install on Website
Indholdsfortegnelse:
- Installation af forudsætninger
- Oprettelse af en systembruger
- Installation og konfiguration af PostgreSQL
- Installation af Wkhtmltopdf
- Installation og konfiguration af Odoo 13
- Oprettelse af en Systemd-enhedsfil
- Test af installationen
- Konfiguration af Nginx som SSL-termineringsproxy
- Ændring af bindingsgrænsefladen
- Aktiverer multiprocessering
- Konklusion
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:
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:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Gem konfigurationsfilen, og genstart Odoo-serveren, så ændringerne træder i kraft:
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 sslSådan implementeres odoo 11 på ubuntu 18.04

Denne vejledning dækker de nødvendige trin til installation og konfiguration af Odoo til produktion ved hjælp af Git source og Python virtuelle miljø på et Ubuntu 18.04-system.
Sådan implementeres odoo 12 på ubuntu 18.04

Denne tutorial dækker de trin, der kræves til installation og konfiguration af Odoo 12 til produktion ved hjælp af Git source og Python virtuelle miljø på et Ubuntu 18.04-system.
Sådan installeres odoo 11 på ubuntu 16.04

Odoo er en af de mest populære forretningssoftware i verden. Denne vejledning dækker de trin, der er nødvendige for at installere og konfigurere Odoo ved hjælp af Git source og det virtuelle Python-miljø på Ubuntu 16.04