How to Install Odoo 13 on Ubuntu 18.04
Innehållsförteckning:
- Installera förutsättningar
- Skapa en systemanvändare
- Installera och konfigurera PostgreSQL
- Installera Wkhtmltopdf
- Installera och konfigurera Odoo 13
- Skapa en Systemd-enhetsfil
- Testa installationen
- Konfigurera Nginx som SSL Termination Proxy
- Ändra bindningsgränssnittet
- Aktiverar multiprocessering
- Slutsats
Odoo är en populär öppen källkod med affärsappar. Det erbjuder en rad applikationer, inklusive CRM, e-handel, webbplatsbyggare, fakturering, redovisning, tillverkning, lager, projektledning, lager och mycket mer, allt sömlöst integrerat.
Odoo kan installeras på flera sätt beroende på användningsfall och tillgängliga tekniker. Det enklaste och snabbaste sättet att installera Odoo är att använda de officiella Odoo APT-lagringarna.
Genom att installera Odoo i en virtuell miljö eller distribuera som en Docker-behållare kan du ha mer kontroll över systemets uppsättning och köra flera Odoo-versioner på samma system.
I den här guiden kommer vi att leda dig genom att installera och distribuera Odoo 13 i en virtuell Python-miljö på Ubuntu 18.04. Vi laddar ner Odoo från deras Github-arkiv och använder Nginx som en omvänd proxy.
Installera förutsättningar
Logga in på din Ubuntu som sudo-användare och uppdatera Apt-cache:
sudo apt update
Installera Git, Pip, Node.js och de verktyg som krävs för att bygga Odoo-beroenden:
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
Skapa en systemanvändare
Skapa en systemanvändare som kommer att köra Odoo, med namnet
odoo13
med hemkatalogen
/opt/odoo13
:
sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13
Du kan ställa in användarens namn på vad du vill, så länge du skapar en PostgreSQL-användare med samma namn.
Installera och konfigurera PostgreSQL
Odoo använder PostgreSQL som databas back-end. För att installera PostgreSQL kör följande kommando:
sudo apt install postgresql
När installationen är klar skapar du en PostgreSQL-användare med samma namn som den tidigare skapade systemanvändaren, i vårt fall som är
odoo13
:
sudo su - postgres -c "createuser -s odoo13"
Installera Wkhtmltopdf
wkhtmltox
paketet innehåller en uppsättning kommandoradsverktyg med öppen källkod som kan återge HTML till PDF och olika bildformat. För att kunna skriva ut PDF-rapporter måste du installera
wkhtmltopdf
verktyget. Den rekommenderade versionen för Odoo är
0.12.5
, vilket inte är tillgängligt i Ubuntu 18.04 standardförvar.
Ladda ner paketet med följande wget-kommando:
wget
När nedladdningen är klar installerar du paketet genom att skriva:
sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb
Installera och konfigurera Odoo 13
Som nämnts tidigare installerar vi Odoo från källan i en isolerad virtuell Python-miljö.
Byt först till användaren “odoo13”:
sudo su - odoo13
Klona Odoo 13-källkoden från GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
När nedladdningen är klar skapar du en ny virtuell Python-miljö för Odoo:
cd /opt/odoo13
python3 -m venv odoo-venv
Aktivera miljön med följande kommando:
source odoo-venv/bin/activate
Installera alla nödvändiga Python-moduler med pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Om du stöter på något kompileringsfel under installationen, se till att alla nödvändiga beroenden som anges i avsnittet
Installing Prerequisites
är installerade.
När du är klar ska du inaktivera miljön genom att skriva:
deactivate
Vi skapar en ny katalog som kommer att innehålla tillägg för tredje part.
mkdir /opt/odoo13/odoo-custom-addons
Senare lägger vi till den här katalogen till
addons_path
parametern. Denna parameter definierar en lista över kataloger där Odoo söker efter moduler.
Byt tillbaka till din sudo-användare:
exit
Skapa en konfigurationsfil med följande innehåll:
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
Glöm inte att ändra
my_admin_passwd
till något säkrare.
Skapa en Systemd-enhetsfil
Öppna din textredigerare och skapa en serviceenhetsfil som heter
odoo13.service
med följande innehåll:
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
Meddela systemdokumentet att en ny enhetsfil finns:
sudo systemctl daemon-reload
Starta Odoo-tjänsten och aktiverade den att starta med start genom att köra:
sudo systemctl enable --now odoo13
Verifiera servicestatusen:
sudo systemctl status odoo13
Utgången ska se ut som nedan, vilket indikerar att Odoo-tjänsten är aktiv och kör.
● 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
För att se meddelanden som loggats av Odoo-tjänsten använder du kommandot nedan:
Testa installationen
Öppna din webbläsare och skriv:
http://:8069
http://:8069
Förutsatt att installationen är framgångsrik visas en skärm som liknar följande:
Konfigurera Nginx som SSL Termination Proxy
Standard Odoo-webbservern visar trafik via HTTP. För att göra Odoo-distributionen säkrare kommer vi att konfigurera Nginx som en SSL-avslutande proxy som tjänar trafiken över
SSL termination proxy är en proxyserver som hanterar SSL-kryptering / dekryptering. Detta innebär att termineringsproxy (Nginx) kommer att behandla och dekryptera inkommande TLS-anslutningar (HTTPS) och vidarebefordra de okrypterade förfrågningarna till den interna tjänsten (Odoo). Trafiken mellan Nginx och Odoo kommer inte att krypteras (HTTP).
Att använda en omvänd proxy ger dig många fördelar som belastningsbalansering, SSL-avslutning, caching, komprimering, servering av statisk innehåll och mer.
Se till att du har uppfyllt följande förutsättningar innan du fortsätter med detta avsnitt:
- Domännamn som pekar på din offentliga server-IP. Vi använder exempel.com. Nginx installerat.SSL-certifikat för din domän. Du kan installera ett gratis Let's Encrypt SSL-certifikat.
Öppna din textredigerare och skapa / redigera domänserverblocket:
sudo nano /etc/nginx/sites-enabled/example.com
Följande konfiguration ställer in SSL Termination, HTTP till HTTPS omdirigering, WWW till icke-WWW omdirigering, cache de statiska filerna och aktivera 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; }
Glöm inte att ersätta exempel.com med din Odoo-domän och ange rätt sökväg till SSL-certifikatfilerna. De utdrag som används i den här konfigurationen skapas i den här guiden.
När du är klar startar du om Nginx-tjänsten:
sudo systemctl restart nginx
Därefter måste vi säga Odoo att använda proxy. För att göra det, öppna konfigurationsfilen och lägg till följande rad:
/etc/odoo13.conf
proxy_mode = True
Starta om Odoo-tjänsten så att ändringarna träder i kraft:
sudo systemctl restart odoo13
Vid denna tidpunkt är den omvända proxy konfigurerad, och du kan komma åt din Odoo-instans på:
https://example.com
Ändra bindningsgränssnittet
Detta steg är valfritt, men det är en bra säkerhetspraxis.
Som standard lyssnar Odoo-servern på port
8069
på alla gränssnitt. För att inaktivera direkt åtkomst till Odoo-instansen kan du antingen blockera port
8069
för alla offentliga gränssnitt eller tvinga Odoo att lyssna endast på det lokala gränssnittet.
Vi konfigurerar Odoo att lyssna endast på
127.0.0.1
. Öppna konfigurationen lägg till följande två rader i slutet av filen:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Spara konfigurationsfilen och starta om Odoo-servern så att ändringarna träder i kraft:
Aktiverar multiprocessering
Som standard arbetar Odoo i multithreading-läge. För produktionsinstallationer rekommenderas det att byta till multiprosessionsservern eftersom det ökar stabiliteten och utnyttjar systemresurserna bättre.
För att möjliggöra multiprocessering måste du redigera Odoo-konfigurationen och ställa in ett antal arbetarprocesser som inte är noll. Antalet arbetare beräknas baserat på antalet CPU-kärnor i systemet och det tillgängliga RAM-minnet.
Enligt den officiella Odoo-dokumentationen för att beräkna arbetarnas antal och RAM-minnesstorlek, kan du använda följande formler och antaganden:
Beräkning av arbetarantal
- Teoretiskt maximalt antal arbetare = (system_cpus * 2) + 11 arbetare kan tjäna ~ = 6 samtidiga användareCronarbetare kräver också CPU
RAM-minnesstorleksberäkning
- Vi anser att 20% av alla förfrågningar är tunga förfrågningar och 80% är lättare. Tunga förfrågningar använder cirka 1 GB RAM medan de lättare använder cirka 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
Låt oss säga att du har ett system med 4 CPU-kärnor, 8 GB RAM-minne och 30 samtidiga Odoo-användare.
-
30 users / 6 = **5**
(5 är det teoretiska antalet arbetare som behövs)(4 * 2) + 1 = **9**
(9 är det teoretiska högsta antalet arbetare)
Baserat på beräkningen ovan kan du använda 5 arbetare + 1 arbetare för cronarbetaren som totalt är 6 arbetare.
Beräkna RAM-minnesförbrukningen baserat på antalet arbetare:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Beräkningen visar att Odoo-installationen kommer att behöva cirka 2 GB RAM.
För att växla till multiprocesseringsläge, öppna konfigurationsfilen och lägg till de beräknade värdena:
/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
Starta om Odoo-tjänsten så att ändringarna träder i kraft:
sudo systemctl restart odoo13
Resten av systemresurserna kommer att användas av andra tjänster som körs på detta system. I den här guiden installerade vi Odoo tillsammans med PostgreSQL och Nginx på samma server. Beroende på din inställning kan du också ha andra tjänster som körs på din server.
Slutsats
Denna handledning ledde dig genom installationen av Odoo 13 på Ubuntu 18.04 i en Python-virtuell miljö med Nginx som en omvänd proxy. Vi har också visat dig hur du aktiverar multiprocessering och optimerar Odoo för en produktionsmiljö.
Du kanske också vill kontrollera vår handledning om hur du skapar automatisk dagliga säkerhetskopior av Odoo-databaser.
ubuntu odoo postgresql python pip nginx proxy sslLedamöter av Europaparlamentet kommer att avgöra om en rad frågor, bland annat hur man reglerar telekomföretag i EU, hur man straffar företag som snedvrider konkurrensen, hur man delar radiofrekvenser som släpps av TV: s migrering till digital sändning och hur man skyddar medborgarnas data i den digitala tiden.
Men de är delade om huruvida IP-adresser ska ses som personuppgifter. "Vi kommer att be kommissionen att formellt lägga fram en rapport om detta", säger Malcolm Harbour, en brittisk konservativ parlamentsledamot som spelar en central roll för att hylla den så kallade telekomrevisionen genom parlamentet.
Hur man installerar odoo 12 på ubuntu 18.04
Denna handledning täcker stegen som krävs för att installera och konfigurera Odoo 12 för produktion med Git-källa och Python virtuella miljö i ett Ubuntu 18.04-system.
Hur man installerar odoo 11 på ubuntu 16.04
Odoo är en av de mest populära affärsmjukvarorna i världen. Den här guiden behandlar stegen som krävs för att installera och konfigurera Odoo med Git source och Python virtual reality på Ubuntu 16.04