„Linux“

„Centoo 8“ įdiekite „Odoo 14“

„Centoo 8“ įdiekite „Odoo 14“

„Odoo“ yra populiariausia „viskas viename“ verslo programinė įranga pasaulyje. Jis siūlo daugybę verslo programų, įskaitant CRM, svetainę, el. Prekybą, atsiskaitymus, apskaitą, gamybą, sandėlį, projektų valdymą, atsargas ir daug daugiau, visa tai sklandžiai integruota.

„Odoo“ galima įdiegti įvairiais būdais, atsižvelgiant į naudojimo atvejį ir turimas technologijas. Lengviausias ir greičiausias būdas įdiegti „Odoo“ yra naudoti oficialias „Odoo APT“ saugyklas.

Įdiegus „Odoo“ virtualioje aplinkoje arba diegiant kaip „Docker“ konteinerį, galite geriau valdyti programą ir leisti paleisti kelis „Odoo“ egzempliorius toje pačioje sistemoje.

Šiame straipsnyje paaiškinama, kaip „CentOS 8“ įdiegti ir įdiegti „Odoo 14“ virtualioje „Python“ aplinkoje. Atsisiųsime „Odoo“ iš oficialios „GitHub“ saugyklos ir naudosime „Nginx“ kaip atvirkštinį tarpinį serverį.

Būtinų sąlygų diegimas #

„Odoo“ parašyta „Python“. Pirmasis žingsnis yra įdiegti „Python 3“, „Git“, „pip“ ir visas bibliotekas bei įrankius, reikalingus „Odoo“ sukurti iš šaltinio:

sudo dnf įdiekite python3 python3-devel git gcc sassc redhat-rpm-config libxslt-devel \ bzip2-devel openldap-devel libjpeg-devel freetype-devel

Sistemos vartotojo kūrimas #

Neleidžiama paleisti „Odoo“ pagal root vartotoją, nes tai kelia pavojų saugumui. Sukurkite naują sistemos vartotoją ir grupę naudodami namų katalogą / opt / odoo kuri veiks „Odoo“ paslaugą:

sudo useradd -m -U -r -d / opt / odoo14 -s / bin / bash odoo14

Galite pavadinti vartotoją kuo tik norite; tiesiog įsitikinkite, kad sukūrėte „PostgreSQL“ vartotoją tuo pačiu pavadinimu.

„PostgreSQL“ diegimas ir konfigūravimas #

„Odoo“ naudoja „PostgreSQL“ kaip duomenų bazės paketą. „PostgreSQL 12“ įdiegsime iš standartinių „CentOS 8“ saugyklų:

sudo dnf install @postgresql: 12

Baigę diegti, sukurkite naują „PostgreSQL“ duomenų bazių sankaupą:

sudo postgresql-setup initdb

Įjunkite ir paleiskite „PostgreSQL“ paslaugą:

sudo systemctl įgalinti - dabar postgresql

Sukurkite „PostgreSQL“ vartotoją tokiu pačiu pavadinimu kaip ir anksčiau sukurtas sistemos vartotojas. Šiame pavyzdyje tai yra odoo14:

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

Diegimas Wkhtmltopdf #

wkhtmltopdf yra atviro kodo komandinės eilutės įrankių rinkinys, skirtas HTML puslapiams perteikti į PDF ir įvairius vaizdo formatus. Norėdami atsispausdinti PDF ataskaitas „Odoo“, turite įdiegti wkhtmltox pakuotė. Rekomenduojama „Odoo“ versija yra versija 0.12.5, kurį galima atsisiųsti ir įdiegti iš „Github“:

sudo dnf įdiekite https: // github.com / wkhtmltopdf / wkhtmltopdf / releases / download / 0.12.5 / wkhtmltox-0.12.5-1.centai8.x86_64.aps./min

„Odoo 14“ diegimas ir konfigūravimas #

Mes įdiegsime „Odoo“ iš šaltinio izoliuotoje „Python“ virtualioje aplinkoje.

Pirmiausia pakeiskite naudotoją „odoo14“:

sudo su - odoo14

Klonuokite „Odoo 14“ šaltinio kodą iš „Odoo GitHub“ saugyklos:

gito klonas https: // www.github.com / odoo / odoo - 1 gylis - 14 skyrius.0 / opt / odoo14 / odoo

Eikite į / opt / odoo14 katalogą ir sukurkite naują „Python“ virtualią aplinką „Odoo“ diegimui:

cd / opt / odoo14python3 -m venv venv

Suaktyvinkite aplinką naudodami šaltinis komanda:

šaltinis venv / bin / aktyvuoti

Įdiekite reikiamus „Python“ modulius:

pip3 install -r odoo / reikalavimai.txt
Jei diegimo metu susiduriate su kompiliavimo klaida, įsitikinkite, kad visos reikalingos priklausomybės nurodytos Būtinų sąlygų diegimas skyriuje.

Atlikę veiksmus, deaktyvinkite aplinką įvesdami:

išjungti

Sukurkite naują katalogą pasirinktiniams priedams:

mkdir / opt / odoo14 / odoo-custom-addons

Pridėsime šį katalogą addons_path parametras. Šis parametras apibrėžia katalogų, kuriuose „Odoo“ ieško modulių, sąrašą.

Grįžkite atgal į savo „sudo“ naudotoją:

išėjimas

Sukurkite konfigūracijos failą su tokiu turiniu:

sudo nano / etc / odoo14.konf
/ etc / odoo14.konf
[parinktys] admin_passwd = superadmin_passwd db_host = Klaidingas db_port = Klaidingas db_user = odoo14 db_password = Klaidingas addons_path = / opt / odoo14 / odoo / addons, / opt / odoo14 / odoo-custom-addons 

Išsaugokite ir uždarykite failą.

Nepamirškite pakeisti superadmin_passwd prie kažko saugesnio.

„Systemd“ vieneto failo kūrimas #

Atidarykite teksto rengyklę ir sukurkite vadinamą paslaugų rinkinio failą odoo14.paslaugą turinį:

sudo nano / etc / systemd / system / odoo14.paslaugą

Įklijuokite šį turinį:

/ etc / systemd / system / odoo14.paslaugą
[Vienetas] Aprašas = Odoo14 Reikalingas = postgresql.paslauga po = tinklas.taikinys postgresql.paslauga [tarnyba] Tipas = paprastas SyslogIdentifier = odoo14 PermissionsStartOnly = true Vartotojas = odoo14 grupė = odoo14 ExecStart = / opt / odoo14 / venv / bin / python3 / opt / odoo14 / odoo / odoo-bin -c / etc / odoo14.conf „StandardOutput“ = žurnalas + konsolė [Diegti] WantedBy = kelių vartotojų vartotojas.taikinys 

Pranešti sistemai, kad egzistuoja naujas rinkinio failas:

sudo systemctl daemon-reload

Paleiskite ir įjunkite „Odoo“ paslaugą:

sudo systemctl įgalinti - dabar odoo14

Patikrinkite, ar „Odoo“ veikia su šia komanda:

sudo systemctl būsena odoo14

Išvestis turėtų atrodyti panašiai kaip žemiau, parodant, kad „Odoo“ paslauga yra aktyvi ir veikia:

● odoo14.paslauga - „Odoo14“ įkeltas: pakrautas (/ etc / systemd / system / odoo14.aptarnavimas; įjungtas; išankstinis pardavėjo nustatymas: išjungtas) Aktyvus: aktyvus (veikia) nuo 2020-11-02 pirm. Prieš 3 s .. 

Norėdami pamatyti „Odoo“ paslaugos užregistruotus pranešimus, naudokite šią komandą:

sudo journalctl -u odoo14

Išbandykite diegimo #

Atidarykite savo naršyklę ir įveskite: http: //: 8069

Darant prielaidą, kad diegimas yra sėkmingas, pasirodys panašus į šį ekraną:

Jei negalite pasiekti puslapio, patikrinkite prievadą 8069 m yra atidaryta jūsų užkardoje:

sudo ugniasienė-cmd --permanent --zone = public --add-port = 8069 / tcpsudo ugniasienė-cmd - perkrauti

„Nginx“ konfigūravimas kaip SSL nutraukimo tarpinis serveris #

Numatytasis „Odoo“ tinklo serveris teikia srautą per HTTP. Kad „Odoo“ egzempliorius būtų saugesnis, sukonfigūruosime „Nginx“ kaip SSL nutraukimo tarpinį serverį, kuris aptarnaus srautą per HTTPS.

SSL nutraukimo tarpinis serveris yra tarpinis serveris, tvarkantis SSL šifravimą / iššifravimą. Tai reiškia, kad nutraukimo tarpinis serveris („Nginx“) apdoros ir iššifruos gaunamus TLS ryšius (HTTPS) ir perduos nešifruotas užklausas vidinei tarnybai („Odoo“). Srautas tarp „Nginx“ ir „Odoo“ nebus šifruotas (HTTP).

Naudojant atvirkštinį tarpinį serverį, suteikiama daugybė pranašumų, tokių kaip apkrovos balansavimas, SSL nutraukimas, talpykla, glaudinimas, statinio turinio aptarnavimas ir kt.

Prieš tęsdami šį skyrių, įsitikinkite, kad įvykdėte šias būtinas sąlygas:

Atidarykite teksto rengyklę ir sukurkite / redaguokite domeno serverio bloką:

sudo nano / etc / nginx / conf.d / pavyzdys.com

Ši konfigūracija nustato SSL nutraukimą, HTTP į HTTPS peradresavimą, WWW į ne WWW peradresavimą, talpina statinius failus ir įgalina GZip glaudinimą.

/ etc / nginx / conf.d / pavyzdys.com
# Odoo serveriai prieš odoo serverį 127.0.0.1: 8069;  ankstesnis odoochat serveris 127.0.0.1: 8072;  # HTTP -> HTTPS serveris klausyti 80; serverio vardas www.pavyzdys.com pavyzdys.com; įtraukti fragmentus / letencrypt.konf. grąžinkite 301 https: // pavyzdį.com $ request_uri;  # WWW -> NON WWW serveris klausyti 443 ssl http2; serverio vardas www.pavyzdys.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 / grandinė.pem; įtraukti fragmentus / ssl.konf. grąžinkite 301 https: // pavyzdį.com $ request_uri;  serveris klausyti 443 ssl http2; serverio_vardas pavyzdys.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Tarpinio serverio antraštės proxy_set_header X-Forwarded-Host $ host; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; „proxy_set_header“ X-Forwarded-Proto $ schema; proxy_set_header X-Real-IP $ remote_addr; # SSL parametrai 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 / grandinė.pem; įtraukti fragmentus / ssl.konf. įtraukti fragmentus / letencrypt.konf. # žurnalo failai access_log / var / log / nginx / odoo.prieiga.žurnalas; error_log / var / log / nginx / odoo.klaida.žurnalas; # Tvarkykite „longpoll“ užklausas „location / longpolling“ proxy_pass http: // odoochat;  # Tvarkyti / prašyti vietos / proxy_redirect off; proxy_pass http: // odoo;  # Statinės talpyklos failų vieta ~ * / web / static / proxy_cache_valid 200 90m; proxy_buffering on; baigia galioti 864000; proxy_pass http: // odoo;  # Gzip gzip_types text / css text / less text / plain text / xml application / xml application / json application / javascript; gzip įjungtas;  
Nepamirškite pakeisti pavyzdžio.com su savo „Odoo“ domenu ir nustatykite teisingą kelią į SSL sertifikato failus. Šioje konfigūracijoje naudojami fragmentai yra sukurti šiame vadove .

Baigę iš naujo paleiskite „Nginx“ paslaugą:

sudo systemctl paleiskite iš naujo „nginx“

Toliau turime pasakyti „Odoo“ naudoti tarpinį serverį. Norėdami tai padaryti, atidarykite konfigūracijos failą ir pridėkite šią eilutę:

/ etc / odoo14.konf
proxy_mode = Tiesa 

Iš naujo paleiskite „Odoo“ paslaugą, kad pakeitimai įsigaliotų:

sudo systemctl paleiskite odoo14 iš naujo

Šiuo metu yra sukonfigūruotas atvirkštinis tarpinis serveris, prie kurio galite prisijungti prie savo „Odoo“ egzemplioriaus https: // pavyzdys.com.

Įrišimo sąsajos keitimas #

Šis žingsnis yra neprivalomas, tačiau tai yra gera saugumo praktika.

Pagal numatytuosius nustatymus „Odoo“ serveris klausosi uosto 8069 m visose sąsajose. Norėdami išjungti tiesioginę prieigą prie „Odoo“ egzemplioriaus, galite blokuoti prievadą 8069 m visoms viešosioms sąsajoms arba priversti „Odoo“ klausytis tik vietinės sąsajos.

Konfigūruosime „Odoo“ tik klausytis 127.0.0.1. Atidarykite konfigūraciją, failo pabaigoje pridėkite šias dvi eilutes:

/ etc / odoo14.konf
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1 

Išsaugokite konfigūracijos failą ir iš naujo paleiskite „Odoo“ serverį, kad pakeitimai įsigaliotų:

sudo systemctl paleiskite odoo14 iš naujo

Įgalinti daugiaprocesorinį procesą #

Pagal numatytuosius nustatymus „Odoo“ veikia daugialypio sriegimo režimu. Diegiant diegimą, rekomenduojama pakeisti daugiaprocesinį serverį, nes tai padidina stabilumą ir geriau išnaudoja sistemos išteklius.

Norėdami įgalinti daugiaprocesorinį apdorojimą, turite redaguoti „Odoo“ konfigūraciją ir nustatyti nenulinį darbuotojų procesų skaičių. Darbuotojų skaičius apskaičiuojamas pagal procesoriaus branduolių skaičių ir turimą RAM.

Remiantis oficialia „Odoo“ dokumentacija, norėdami apskaičiuoti darbuotojų skaičių ir reikiamą RAM atminties dydį, galite naudoti šias formules ir prielaidas:

Darbuotojo skaičiaus apskaičiavimas

RAM atminties dydžio skaičiavimas

Jei nežinote, kiek procesorių turite savo sistemoje, naudokite šiuos veiksmus grep komanda:

grep -c ^ procesorius / proc / cpuinfo

Tarkime, kad turite sistemą su 4 procesoriaus branduoliais, 8 GB RAM atmintimi ir 30 vienu metu naudojamų „Odoo“ vartotojų.

Remiantis aukščiau pateiktais skaičiavimais, Cron darbuotojui galite naudoti 5 darbuotojus + 1 darbuotoją, iš viso 6 darbuotojus.

Apskaičiuokite RAM suvartojimą pagal darbuotojų skaičių:

Apskaičiavimai rodo, kad „Odoo“ diegimui reikės maždaug 2 GB RAM.

Norėdami perjungti į daugiaprocesinį režimą, atidarykite konfigūracijos failą ir pridėkite apskaičiuotas vertes:

/ etc / odoo14.konf
limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 darbuotojas = 5 

Iš naujo paleiskite „Odoo“ paslaugą, kad pakeitimai įsigaliotų:

sudo systemctl paleiskite odoo14 iš naujo

Likusius sistemos išteklius naudos kitos šioje sistemoje veikiančios tarnybos. Šiame vadove tame pačiame serveryje įdiegėme „Odoo“ kartu su „PostgreSQL“ ir „Nginx“. Priklausomai nuo jūsų nustatymų, jūsų serveryje taip pat gali veikti kitos paslaugos.

Išvada Nr

Šis straipsnis apžvelgė „Odoo 14“ diegimą „CentOS 8“ virtualioje „Python“ aplinkoje naudojant „Nginx“ kaip atvirkštinį tarpinį serverį. Mes taip pat parodėme, kaip įgalinti daugiaprocesorinį apdorojimą ir optimizuoti „Odoo“ gamybos aplinkai.

Taip pat galite patikrinti mūsų pamoką apie tai, kaip sukurti automatines kasdienines „Odoo“ duomenų bazių atsargines kopijas .

Jei turite klausimų, nedvejodami palikite komentarą žemiau.

Geriausi žaidimai, kuriuos reikia žaisti naudojant rankos stebėjimą
„Oculus Quest“ neseniai pristatė puikią rankos stebėjimo be valdiklių idėją. „Oculus Quest“ rankų sekimo žaidimai iki šiol buvo ribojami, kai žaidimų ...
Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...
5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...