How To Install Odoo 12 on Ubuntu 18.04
Innehållsförteckning:
- Innan du börjar
- Skapa Odoo-användare
- Installera och konfigurera PostgreSQL
- Installera Wkhtmltopdf
- Installera och konfigurera Odoo
- Skapa en Systemd-enhetsfil
- Testa installationen
- Konfigurera Nginx som SSL Termination Proxy
- Ändra bindningsgränssnittet
- Aktivera multiprocessering
- Slutsats
Odoo är den mest populära allt-i-ett-affärsprogramvaran i världen. Det erbjuder en rad affärsapplikationer inklusive CRM, webbplats, e-handel, fakturering, redovisning, tillverkning, lager, projektledning, lager och mycket mer, allt sömlöst integrerat.
Odoo kan installeras på flera olika sätt. Det enklaste och snabbaste sättet att installera Odoo är att använda sina officiella APT-förvar.
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.
Innan du börjar
Logga in på din Ubuntu-maskin som sudo-användare och uppdatera systemet till de senaste paketen:
sudo apt update && sudo apt upgrade
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 Odoo-användare
Skapa en ny systemanvändare för Odoo med namnet
odoo12
med hemkatalogen
/opt/odoo12
med följande kommando:
sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12
Du kan använda valfritt namn för din Odoo-användare så länge du skapar en PostgreSQL-användare med samma namn.
Installera och konfigurera PostgreSQL
Installera PostgreSQL-paketet från Ubuntu: s standardförvar:
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
odoo12
:
sudo su - postgres -c "createuser -s odoo12"
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 behöver du
wkhtmltopdf
verktyget. Den rekommenderade versionen för Odoo är
0.12.1
som inte är tillgänglig i de officiella Ubuntu 18.04-lagringarna.
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.1.3-1~bionic_amd64.deb
Installera och konfigurera Odoo
Vi kommer att installera Odoo från GitHub-lagret i en isolerad virtuell Python-miljö.
Innan du börjar med installationsprocessen, ändra till användaren "odoo12":
sudo su - odoo12
Börja med att klona Odoo 12-källkoden från GitHub-förvaret:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
När källkoden har laddats ner, skapar du en ny virtuell Python-miljö för Odoo 12-installationen:
cd /opt/odoo12
python3 -m venv odoo-venv
Aktivera sedan 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å kompilationsfel under installationen, se till att du installerade alla nödvändiga beroenden som listas i avsnittet
Before you begin
.
Deaktivera miljön med följande kommando:
deactivate
Skapa en ny katalog för anpassade tillägg:
mkdir /opt/odoo12/odoo-custom-addons
Byt tillbaka till din sudo-användare:
exit
Skapa sedan en konfigurationsfil genom att kopiera den medföljande provkonfigurationsfilen:
sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf
Öppna filen och redigera den på följande sätt:
sudo nano /etc/odoo12.conf
/etc/odoo12.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo12 db_password = False addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
Glöm inte att ändra
my_admin_passwd
till något säkrare.
Skapa en Systemd-enhetsfil
För att köra Odoo som en tjänst måste vi skapa en serviceenhetsfil i
/etc/systemd/system/
katalogen.
Öppna din textredigerare och klistra in följande konfiguration:
sudo nano /etc/systemd/system/odoo12.service
/etc/systemd/system/odoo12.service
Description=Odoo12 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo12 PermissionsStartOnly=true User=odoo12 Group=odoo12 ExecStart=/opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf StandardOutput=journal+console WantedBy=multi-user.target
Meddela systemdokumentet att en ny enhetsfil finns och starta Odoo-tjänsten genom att köra:
sudo systemctl daemon-reload
sudo systemctl start odoo12
Kontrollera servicestatusen med följande kommando:
sudo systemctl status odoo12
Utgången ska se ut som nedan för att indikera att Odoo-tjänsten är aktiv och kör.
* odoo12.service - Odoo12 Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2018-10-09 14:15:30 PDT; 3s ago Main PID: 24334 (python3) Tasks: 4 (limit: 2319) CGroup: /system.slice/odoo12.service `-24334 /opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Aktivera att Odoo-tjänsten ska startas automatiskt vid starttid:
sudo systemctl enable odoo12
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
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. I denna handledning kommer vi att använda exempel.com.Nginx installerat.SSL-certifikat för din domän. Du kan installera ett gratis Let's Encrypt SSL-certifikat.
Standard Odoo-webbservern visar trafik via HTTP. För att göra vår Odoo-distribution säkrare kommer vi att konfigurera Nginx som en SSL-termineringsproxy som kommer att betjäna trafiken över
SSL termination proxy är en proxyserver som hanterar SSL-kryptering / dekryptering. Detta innebär att vår termineringsproxy (Nginx) kommer att hantera och dekryptera inkommande TLS-anslutningar (HTTPS), och den kommer att vidarebefordra de okrypterade förfrågningarna till vår interna tjänst (Odoo) så att trafiken mellan Nginx och Odoo inte kommer 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.
I det här exemplet kommer vi att konfigurera SSL Termination, HTTP till HTTPS omdirigering, WWW till icke-WWW omdirigering, cache de statiska filerna och aktivera GZip-komprimering.
Öppna din textredigerare och skapa följande fil:
sudo nano /etc/nginx/sites-enabled/example.com
/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, starta om Nginx-tjänsten med:
sudo systemctl restart nginx
Därefter måste vi berätta för Odoo att vi kommer att använda proxy. För att göra det, öppna konfigurationsfilen och lägg till följande rad:
/etc/odoo12.conf
proxy_mode = True
Starta om Odoo-tjänsten så att ändringarna träder i kraft:
sudo systemctl restart odoo12
Just nu är din server 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. Om du vill inaktivera direkt åtkomst till din Odoo-instans kan du antingen blockera port
8069
för alla offentliga gränssnitt eller tvinga Odoo att lyssna endast på det lokala gränssnittet.
I den här guiden konfigurerar vi 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:
Aktivera multiprocessering
Som standard arbetar Odoo i multithreading-läge. För produktionsinstallationer rekommenderas att byta till multiprosessionsservern eftersom det ökar stabiliteten och utnyttjar systemresurserna bättre. För att möjliggöra multiprocessering måste vi 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 kommer vi att 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, medan 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 vi 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 vi använda 5 arbetare + 1 arbetare för cronarbetaren, som totalt är 6 arbetare.
Beräkna RAM-förbrukningen baserat på antalet arbetare:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Beräkningen ovan visar oss att vår Odoo-installation kommer att behöva cirka 2 GB RAM.
Om du vill växla till multiprocesseringsläge öppnar du konfigurationsfilen och lägger till följande rader:
/etc/odoo12.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 odoo12
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 och beroende på din installation kan du också ha andra tjänster som körs på din server.
Slutsats
Denna handledning ledde dig genom installationen av Odoo 12 på Ubuntu 18.04 i en Python-virtuell miljö med Nginx som en omvänd proxy. Du lärde dig också hur du möjliggör multiprocessering och optimerar Odoo för produktionsmiljö.
Du kanske också vill kolla vår handledning om hur du skapar automatisk dagliga säkerhetskopior av dina 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 13 på ubuntu 18.04
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.
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