Android

Kuinka asentaa odoo 12 ubuntuun 18.04

Odoo suomalainen laskupohja (Odoo versio 10)

Odoo suomalainen laskupohja (Odoo versio 10)

Sisällysluettelo:

Anonim

Odoo on suosituin all-in-one-liiketoimintaohjelmisto maailmassa. Se tarjoaa laajan valikoiman yrityssovelluksia, mukaan lukien CRM, verkkosivusto, verkkokauppa, laskutus, kirjanpito, valmistus, varasto, projektinhallinta, varastot ja paljon muuta, kaikki saumattomasti integroitu.

Odoo voidaan asentaa monella eri tavalla. Helpoin ja nopein tapa asentaa Odoo on käyttää heidän virallisia APT-arkistojaan.

Tämä opetusohjelma kattaa vaiheet, jotka tarvitaan Odoo 12: n asentamiseen ja määrittämiseen tuotantoon Git source- ja Python-virtuaaliympäristössä Ubuntu 18.04 -järjestelmässä.

Ennen kuin aloitat

Kirjaudu sisään Ubuntu-koneeseen sudo-käyttäjänä ja päivitä järjestelmä uusimpiin paketteihin:

sudo apt update && sudo apt upgrade

Asenna Git, Pip, Node.js ja Odoo-riippuvuuksien luomiseen tarvittavat työkalut:

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

Luo Odoo-käyttäjä

Luo uusi järjestelmäkäyttäjä Odoo-nimelle odoo12 kotihakemistolla /opt/odoo12 seuraavan komennon avulla:

sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12 Voit käyttää mitä tahansa nimeä Odoo-käyttäjällesi, kunhan luot PostgreSQL-käyttäjän samalla nimellä.

Asenna ja määritä PostgreSQL

Asenna PostgreSQL-paketti Ubuntun oletusvarastoista:

sudo apt install postgresql

Kun asennus on valmis, luo PostgreSQL-käyttäjä, jolla on sama nimi kuin aiemmin luodulla järjestelmäkäyttäjällä, tässä tapauksessa odoo12 :

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

Asenna Wkhtmltopdf

wkhtmltox paketti tarjoaa joukon avoimen lähdekoodin komentorivityökaluja, jotka voivat muokata HTML-tiedostoja PDF-tiedostoiksi ja eri kuvaformaateiksi. Tulostaaksesi PDF-raportteja tarvitset wkhtmltopdf työkalun. 0.12.1 suositeltu versio on 0.12.1 jota ei ole saatavana virallisissa Ubuntu 18.04 -varastoissa.

Lataa paketti seuraavalla wget-komennolla:

wget

Kun lataus on valmis, asenna paketti kirjoittamalla:

sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb

Asenna ja määritä Odoo

Asennamme Odoo GitHub-arkistosta eristetyssä Python-virtuaaliympäristössä.

Ennen kuin aloitat asennuksen, vaihda käyttäjäksi “odoo12”:

sudo su - odoo12

Aloita kloonaamalla Odoo 12 -lähdekoodi GitHub-arkistosta:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo

Kun lähdekoodi on ladattu, luo uusi Python-virtuaalinen ympäristö Odoo 12 -asennusta varten:

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

Aktivoi seuraavaksi ympäristö seuraavalla komennolla:

source odoo-venv/bin/activate

Asenna kaikki vaadittavat Python-moduulit pip3: lla:

pip3 install wheel pip3 install -r odoo/requirements.txt Jos asennuksen aikana ilmenee käännösvirheitä, varmista, että olet asentanut kaikki Before you begin -osiossa luetellut vaadittavat riippuvuudet.

Poista ympäristö käytöstä seuraavalla komennolla:

deactivate

Luo uusi hakemisto mukautetuille lisäosille:

mkdir /opt/odoo12/odoo-custom-addons

Vaihda takaisin sudo-käyttäjääsi:

exit

Luo seuraavaksi kokoonpanotiedosto kopioimalla mukana toimitettu konfiguraatiotiedosto:

sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf

Avaa tiedosto ja muokkaa sitä seuraavasti:

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 Muista vaihtaa my_admin_passwd jotain turvallisempaa.

Luo järjestelmällinen yksikkötiedosto

Jotta Odoo toimitettaisiin palveluna, meidän on luotava palveluyksikötiedosto hakemistoon /etc/systemd/system/ .

Avaa tekstieditori ja liitä seuraava kokoonpano:

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

Ilmoita järjestelmälle, että uutta yksikötiedostoa on olemassa, ja käynnistä Odoo-palvelu suorittamalla:

sudo systemctl daemon-reload sudo systemctl start odoo12

Tarkista palvelun tila seuraavalla komennolla:

sudo systemctl status odoo12

Lähtön tulisi näyttää jonkinlaiselta kuin alla osoittaen, että Odoo-palvelu on aktiivinen ja käynnissä.

* 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

Ota Odoo-palvelu käyttöön automaattisesti käynnistyksen yhteydessä:

sudo systemctl enable odoo12

sudo journalctl -u odoo12

Testaa asennus

Avaa selain ja kirjoita: http://:8069 http://:8069

Jos asennus onnistuu, seuraavanlainen näyttö tulee näkyviin:

Määritä Nginx SSL-lopetuspalvelimeksi

Varmista, että olet täyttänyt seuraavat ehdot, ennen kuin jatkat tässä osiossa:

  • Verkkotunnus, joka osoittaa julkisen palvelimen IP-osoitteeseen. Tässä opetusohjelmassa käytämme example.com .Nginx install.SSL -varmennetta. Voit asentaa ilmaisen Let's Encrypt SSL -sertifikaatin.

Odoo-oletusverkkopalvelin palvelee liikennettä HTTP: n kautta. Jotta Odoo-käyttöönotto olisi turvallisempaa, määritämme Nginxin SSL-päätevälityspalvelimeksi, joka palvelee liikennettä HTTPS: n kautta.

SSL-päätevälityspalvelin on välityspalvelin, joka käsittelee SSL-salausta / salauksen purkamista. Tämä tarkoittaa, että päätevälityspalvelimemme (Nginx) käsittelee ja purkaa saapuvat TLS-yhteydet (HTTPS), ja se välittää salaamattomat pyynnöt sisäiselle palvelumme (Odoo), joten Nginxin ja Odoo: n välistä liikennettä ei salata (HTTP).

Käänteisen välityspalvelimen käyttö antaa sinulle paljon etuja, kuten kuormituksen tasapainotus, SSL-lopettaminen, välimuisti, pakkaus, staattisen sisällön palveleminen ja paljon muuta.

Tässä esimerkissä määritämme SSL-lopetuksen, HTTP-HTTPS-uudelleenohjauksen, WWW-muun kuin WWW-uudelleenohjauksen, välimuistista staattiset tiedostot ja sallimme GZip-pakkauksen.

Avaa tekstieditori ja luo seuraava tiedosto:

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; } Muista korvata esimerkki.com Odoo-verkkotunnuksellasi ja määrittää oikea polku SSL-varmennetiedostoihin. Tässä kokoonpanossa käytetyt katkelmat luodaan tässä oppaassa.

Kun olet valmis, käynnistä Nginx-palvelu uudelleen:

sudo systemctl restart nginx

Seuraavaksi meidän on kerrottava Odoolle, että käytämme välityspalvelinta. Avaa niin määritystiedosto ja lisää seuraava rivi:

/etc/odoo12.conf

proxy_mode = True

Käynnistä Odoo-palvelu uudelleen, jotta muutokset tulevat voimaan:

sudo systemctl restart odoo12

Tässä vaiheessa palvelimesi on määritetty ja voit käyttää Odoo-ilmentymääsi osoitteessa: https://example.com

Vaihda sidontarajapinta

Tämä vaihe on valinnainen, mutta se on hyvä tietoturvakäytäntö.

Oletuksena Odoo-palvelin kuuntelee porttia 8069 kaikilla rajapinnoilla. Jos haluat estää suoran pääsyn Odoo-ilmentymään, voit joko estää kaikkien julkisten rajapintojen portin 8069 tai pakottaa Odoo kuuntelemaan vain paikallisella käyttöliittymällä.

Tässä oppaassa määritetään Odoo kuuntelemaan vain 127.0.0.1 . Avaa kokoonpano ja lisää seuraavat kaksi riviä tiedoston loppuun:

/etc/odoo12.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

Tallenna määritystiedosto ja käynnistä Odoo-palvelin uudelleen, jotta muutokset tulevat voimaan:

sudo systemctl restart odoo12

Ota käyttöön moniprosessointi

Oletuksena Odoo toimii monisäikeisessä tilassa. Tuotannon käyttöönotossa on suositeltavaa siirtyä moniprosessointipalvelimeen, koska se lisää vakautta ja hyödyntää paremmin järjestelmäresursseja. Moniprosessoinnin mahdollistamiseksi meidän on muokattava Odoo-kokoonpanoa ja asetettava nolla luku työntekijäprosesseja.

Työntekijöiden lukumäärä lasketaan perustuen järjestelmän CPU-ytimien määrään ja käytettävissä olevaan RAM-muistiin.

Odoo-virallisen asiakirjan mukaan työntekijöiden lukumäärän ja tarvittavan RAM-muistin koon laskemiseksi käytämme seuraavia kaavoja ja oletuksia:

Työntekijän määrän laskeminen

  • teoreettinen suurin työntekijän lukumäärä = (system_cpus * 2) + 11 työntekijää voi palvella ~ = 6 samanaikaista käyttäjääCron työntekijät vaativat myös prosessoria

RAM-muistin koon laskeminen

  • Katsomme, että 20% kaikista pyynnöistä on raskaita, 80% on kevyempiä. Raskaat pyynnöt käyttävät noin 1 Gt RAM-muistia, kun taas kevyemmät käyttävät noin 150 Mt RAMNeeded RAM-muistia = työntekijöiden lukumäärä number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))

grep -c ^processor /proc/cpuinfo

Oletetaan, että meillä on järjestelmä, jossa on 4 suorittimen ydintä, 8 Gt RAM-muistia ja 30 samanaikaista Odoo-käyttäjää.

  • 30 users / 6 = **5** (5 on teoreettinen tarvittavien työntekijöiden lukumäärä) (4 * 2) + 1 = **9** (9 on teoreettinen suurin työntekijöiden lukumäärä)

Yllä olevan laskelman perusteella voimme käyttää 5 työntekijää + 1 työntekijää cron-työntekijälle, mikä on yhteensä 6 työntekijää.

Laske RAM-muistin kulutus työntekijöiden lukumäärän perusteella:

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

Yllä oleva laskelma osoittaa meille, että Odoo-asennuksemme tarvitsee noin 2 Gt RAM-muistia.

Voit siirtyä monikäsittelytilaan avaamalla asetustiedoston ja lisäämällä seuraavat rivit:

/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

Käynnistä Odoo-palvelu uudelleen, jotta muutokset tulevat voimaan:

sudo systemctl restart odoo12

Loput järjestelmäresursseista käyttävät muut tällä järjestelmällä toimivat palvelut. Tässä oppaassa asensimme Odoo yhdessä PostgreSQL: n ja Nginxin kanssa samaan palvelimeen. Asennuksesta riippuen saatat palvelimellasi olla käynnissä myös muita palveluita.

johtopäätös

Tämä opas opasi Odoo 12: n asennuksen Ubuntu 18.04: een Python-virtuaaliympäristöön käyttämällä Nginxiä käänteisenä välityspalvelimena. Opit myös kuinka moniprosessointi voidaan ottaa käyttöön ja Odoo optimoida tuotantoympäristöä varten.

Voit myös tarkistaa opetusohjelmasi siitä, kuinka luoda automaattisia päivittäisiä varmuuskopioita Odoo-tietokannoistasi.

ubuntu odoo postgresql python pip nginx välityspalvelin ssl