Android

Kuinka asentaa odoo 11 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 tapaa riippuen vaaditusta käyttötapauksesta. Helpoin ja nopein tapa asentaa Odoo on käyttää heidän virallisia APT-arkistojaan.

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

Ennen kuin aloitat

Kirjaudu sisään Ubuntu-koneesi 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än käyttäjä ja ryhmä kotihakemistolla /opt/odoo , joka suorittaa Odoo-palvelun.

sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo Voit nimetä käyttäjän mistä haluat, varmista vain, että luot postgres-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än käyttäjällä, tässä tapauksessa odoo :

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

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ä, jotta voimme hallita enemmän versioita ja päivityksiä.

Ennen kuin aloitat asennuksen, muista vaihtaa odoo käyttäjä.

sudo su - odoo

Voit vahvistaa, että olet kirjautunut sisään odoo käyttäjäksi, käyttämällä seuraavaa komentoa:

whoami

Nyt voimme aloittaa asennusprosessilla. Ensimmäinen klooni odoo GitHub-arkistosta:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11

  • Jos haluat asentaa toisen Odoo-version, muuta vain versionumero --branch jälkeen.Voit nimetä hakemiston haluamallasi tavalla, esimerkiksi odoo11 sijaan voit käyttää verkkotunnuksesi nimeä.

Uuden virtuaaliympäristön luominen Odoo 11 -esimerkille:

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

aktivoi ympäristö seuraavalla komennolla:

source odoo11-venv/bin/activate

ja asenna kaikki vaadittavat Python-moduulit pip3: lla:

pip3 install wheel pip3 install -r odoo11/requirements.txt

pip3 on työkalu Python-pakettien asentamiseen ja hallintaan.

Kun asennus on valmis, poista ympäristö käytöstä ja siirry takaisin sudo-käyttäjääsi seuraavien komentojen avulla:

deactivate

exit

sudo mkdir /opt/odoo/odoo11-custom-addons sudo chown odoo: /opt/odoo/odoo11-custom-addons

Seuraavaksi meidän on luotava asetustiedosto, voimme joko luoda uuden tyhjästä tai kopioida mukana toimitetun asetustiedoston:

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

Avaa tiedosto ja muokkaa sitä seuraavasti:

/etc/odoo11.conf

; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo db_password = False addons_path = /opt/odoo/odoo11/addons; If you are using custom modules; addons_path = /opt/odoo/odoo11/addons, /opt/odoo/odoo11-custom-addons Muista muuttaa my_admin_passwd jotain turvallisempaa ja säätää addons_path jos käytät mukautettuja moduuleja.

Luo järjestelmäyksikkö tiedosto

Suorittaaksesi odoo -palvelun luomme odoo11.service hakemistoon /etc/systemd/system/ hakemisto, jolla on seuraava sisältö:

/etc/systemd/system/odoo11.service

Description=Odoo11 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo11 PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf StandardOutput=journal+console WantedBy=multi-user.target

Ilmoita järjestelmälle, että olemme luoneet uuden yksikkötiedoston ja käynnistä Odoo-palvelu suorittamalla:

sudo systemctl daemon-reload sudo systemctl start odoo11

Voit tarkistaa palvelun tilan seuraavalla komennolla:

sudo systemctl status odoo11

● odoo11.service - Odoo11 Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-03 21:23:08 UTC; 3s ago Main PID: 18351 (python3) Tasks: 4 (limit: 507) CGroup: /system.slice/odoo11.service └─18351 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf

ja jos virheitä ei ole, voit antaa Odoo-palvelun käynnistyä automaattisesti käynnistyksen aikana:

sudo systemctl enable odoo11

sudo journalctl -u odoo11

Testaa asennus

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

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

Määritä Nginx SSL-päätevälityspalvelimeksi

  • Sinulla on verkkotunnus, joka osoittaa julkisen palvelimen IP-osoitteeseen. Tässä opetusohjelmassa käytämme example.com . Sinulla on Nginx asennettuna noudattamalla näitä ohjeita. Sinulla on SSL-varmenne asennettuna verkkotunnuksellesi. Voit asentaa ilmaisen Let's Encrypt SSL -sertifikaatin noudattamalla näitä ohjeita.

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).

Meidän on kerrottava Odoolle, että käytämme välityspalvelinta, avaa asetustiedosto ja lisää seuraava rivi:

/etc/odoo11.conf

proxy_mode = True

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

sudo systemctl restart odoo11

Nginxin käyttäminen välityspalvelimena antaa meille useita etuja. Tässä esimerkissä määritämme SSL-lopetuksen, HTTP-HTTPS-uudelleenohjauksen, WWW-muun kuin WWW-uudelleenohjauksen, välimuistista staattiset tiedostot ja sallimme GZip-pakkauksen.

/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

Vaihda sidontarajapinta

Tämä vaihe on valinnainen, mutta se on hyvä tietoturvakäytäntö. Oletuksena Odoo-palvelin kuuntelee porttia 8069 kaikilla rajapinnoilla, joten 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 pakotamme Odon kuuntelemaan vain 127.0.0.1 , avaa Odoo-kokoonpano ja lisää seuraavat kaksi riviä tiedoston loppuun:

/etc/odoo11.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 odoo

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ä * ((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/odoo11.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 odoo11

Loput järjestelmäresursseista käyttävät muut koneellamme 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

Se siitä! Tämä opas opasi Odoo 11: 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