Android

Paano mag-deploy ng odoo 11 sa ubuntu 18.04

How to install Odoo 11 on Ubuntu 18.04

How to install Odoo 11 on Ubuntu 18.04

Talaan ng mga Nilalaman:

Anonim

Ang Odoo ay ang pinakasikat na all-in-one na software ng negosyo sa buong mundo. Nag-aalok ito ng isang hanay ng mga aplikasyon ng negosyo kabilang ang CRM, website, e-Commerce, pagsingil, accounting, manufacturing, bodega, pamamahala ng proyekto, imbentaryo at marami pa, lahat ng walang putol na isinama.

Mayroong maraming mga paraan upang mai-install ang Odoo depende sa kinakailangang kaso ng paggamit. Ang pinakamadali at pinakamabilis na paraan upang mai-install ang Odoo ay sa pamamagitan ng paggamit ng kanilang opisyal na mga repositibong APT.

Sakop ng gabay na ito ang mga hakbang na kinakailangan para sa pag-install at pag-configure ng Odoo para sa paggawa gamit ang Git mapagkukunan at Python virtual na kapaligiran sa isang Ubuntu 18.04 system.

Bago ka magsimula

Mag-log in sa iyo ang Ubuntu machine bilang isang gumagamit ng sudo at i-update ang system sa pinakabagong mga pakete:

sudo apt update && sudo apt upgrade

I-install ang Git, Pip, Node.js at ang mga tool na kinakailangan upang bumuo ng mga dependencies ng Odoo:

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

Lumikha ng gumagamit ng Odoo

Lumikha ng isang bagong gumagamit ng system at pangkat na may direktoryo sa bahay /opt/odoo na tatakbo sa serbisyo ng Odoo.

sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo Maaari mong pangalanan ang gumagamit kahit anong gusto mo, tiyaking gumawa ka ng isang postgres user na may parehong pangalan.

I-install at i-configure ang PostgreSQL

I-install ang pakete ng PostgreSQL mula sa default na mga repositori ng Ubuntu:

sudo apt install postgresql

Kapag nakumpleto ang pag-install lumikha ng isang gumagamit ng PostgreSQL na may parehong pangalan tulad ng dati nang nilikha na system ng system, sa aming kaso odoo :

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

I-install ang Wkhtmltopdf

Ang wkhtmltox package ay nagbibigay ng isang hanay ng mga bukas na tool ng linya ng mapagkukunan na maaaring magbigay ng HTML sa PDF at iba't ibang mga format ng imahe. Upang mai-print ang mga ulat sa PDF, kakailanganin mo ang tool na wkhtmltopdf . Ang inirekumendang bersyon para sa Odoo ay 0.12.1 na hindi magagamit sa opisyal na mga repositori ng Ubuntu 18.04.

I-download ang package gamit ang sumusunod na utos ng wget:

wget

Kapag nakumpleto na ang pag-download i-install ang package sa pamamagitan ng pag-type:

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

I-install at I-configure ang Odoo

I-install namin ang Odoo mula sa imbakan ng GitHub sa loob ng isang nakahiwalay na virtual na Python virtual upang maaari kaming magkaroon ng higit na kontrol sa mga bersyon at pag-update.

Bago magsimula sa proseso ng pag-install, tiyaking lumipat ka sa gumagamit ng odoo .

sudo su - odoo

Upang kumpirmahin na naka-log in ka bilang gumagamit ng odoo maaari mong gamitin ang sumusunod na utos:

whoami

Ngayon ay maaari kaming magsimula sa proseso ng pag-install. Una na i-clone ang odoo mula sa imbakan ng GitHub:

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

  • Kung nais mong mag-install ng ibang bersyon ng Odoo baguhin lamang ang numero ng bersyon pagkatapos ng --branch switch.Maaari mong pangalanan ang direktoryo na gusto mo, halimbawa sa halip odoo11 maaari mong gamitin ang pangalan ng iyong domain.

Upang lumikha ng isang bagong virtual na kapaligiran para sa halimbawa ng Odoo 11:

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

buhayin ang kapaligiran sa mga sumusunod na utos:

source odoo11-venv/bin/activate

at i-install ang lahat ng kinakailangang mga module ng Python na may pip3:

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

pip3 ay isang tool para sa pag-install at pamamahala ng mga pakete ng Python.

Kapag nakumpleto ang pag-install i-deactivate ang kapaligiran at bumalik sa iyong gumagamit ng sudo gamit ang mga sumusunod na utos:

deactivate

exit

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

Susunod, kailangan nating lumikha ng isang file ng pagsasaayos, maaari tayong lumikha ng bago mula sa simula o kopyahin ang kasama na file ng pagsasaayos:

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

Buksan ang file at i-edit ito tulad ng sumusunod:

/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 Huwag kalimutan na baguhin ang my_admin_passwd sa isang bagay na mas ligtas at ayusin ang mga addons_path kung gumagamit ka ng mga pasadyang module.

Lumikha ng isang systemd unit file

Upang magpatakbo ng odoo bilang isang serbisyo ay gagawa kami ng isang odoo11.service unit file sa /etc/systemd/system/ direktoryo kasama ang mga sumusunod na nilalaman:

/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

Ipaalam sa systemd na lumikha kami ng isang bagong file ng yunit at simulan ang serbisyo ng Odoo sa pamamagitan ng pagpapatupad:

sudo systemctl daemon-reload sudo systemctl start odoo11

Maaari mong suriin ang katayuan ng serbisyo kasama ang sumusunod na utos:

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

at kung walang mga pagkakamali maaari mong paganahin ang serbisyo ng Odoo na awtomatikong magsimula sa oras ng boot:

sudo systemctl enable odoo11

sudo journalctl -u odoo11

Subukan ang Pag-install

Buksan ang iyong browser at uri: http://:8069 http://:8069

Sa pag-aakalang matagumpay ang pag-install, lilitaw ang isang screen na katulad ng sumusunod:

I-configure ang Nginx bilang isang proxy na pagtatapos ng SSL

  • Mayroon kang isang domain name na tumuturo sa iyong public server IP. Sa tutorial na ito ay gagamitin namin ang example.com .May na-install ka ng Nginx sa pamamagitan ng pagsunod sa mga tagubiling ito.May isang naka-install na SSL certificate para sa iyong domain. Maaari kang mag-install ng isang libreng Let’s Encrypt SSL certificate sa pamamagitan ng pagsunod sa mga tagubiling ito.

Ang default na web server ng Odoo ay naghahatid ng trapiko sa paglipas ng HTTP. Upang maging mas ligtas ang aming paglawak ng Odoo, mai-configure namin ang Nginx bilang isang proxy na pagtatapos ng SSL na magsisilbi sa trapiko sa paglipas ng

Ang SSL termination proxy ay isang proxy server na humahawak sa SSL encryption / decryption. Nangangahulugan ito na ang aming pagwawakas ng proxy (Nginx) ay hahawak at i-decrypt ang mga papasok na koneksyon sa TLS (HTTPS), at ipapasa ito sa mga hindi hiniling na mga kahilingan sa aming panloob na serbisyo (Odoo) upang ang trapiko sa pagitan ng Nginx at Odoo ay hindi mai-encrypt (HTTP).

Kailangan naming sabihin kay Odoo na gagamitin namin ang isang proxy, buksan ang file ng pagsasaayos at idagdag ang sumusunod na linya:

/etc/odoo11.conf

proxy_mode = True

I-restart ang serbisyo ng Odoo para magkakabisa:

sudo systemctl restart odoo11

Ang paggamit ng Nginx bilang isang proxy ay nagbibigay sa amin ng maraming benepisyo. Sa halimbawang ito ay i-configure namin ang Pagwawakas ng SSL, ang HTTP sa pag-redirect ng HTTPS, WWW sa non-WWW redirection, cache ang mga static file at paganahin ang compression ng GZip.

/etc/nginx/site-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; } Huwag kalimutang palitan ang halimbawa.com sa iyong domain ng Odoo at itakda ang tamang landas sa mga file ng sertipiko ng SSL. Ang mga snippet na ginamit sa pagsasaayos na ito ay nilikha sa gabay na ito.

Kapag tapos ka na, i-restart ang serbisyo ng Nginx sa:

sudo systemctl restart nginx

Baguhin ang nagbubuklod na interface

Ang hakbang na ito ay opsyonal, ngunit ito ay isang mahusay na kasanayan sa seguridad. Bilang default, nakikinig ang server ng Odoo sa port 8069 sa lahat ng mga interface, kaya kung nais mong huwag paganahin ang direktang pag-access sa iyong Odoo halimbawa maaari mong mai-block ang port 8069 para sa lahat ng mga pampublikong interface o pilitin ang Odoo na makinig lamang sa lokal na interface.

Sa gabay na ito ay pipilitin namin si Odoo na makinig lamang sa 127.0.0.1 , buksan ang pagsasaayos ng Odoo na idagdag ang sumusunod na dalawang linya sa pagtatapos ng file:

/etc/odoo11.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

I-save ang file ng pagsasaayos at i-restart ang Odoo server para sa mga pagbabago na magkakabisa:

sudo systemctl restart odoo

Paganahin ang multiprocessing

Bilang default, ang Odoo ay gumagana sa multithreading mode. Para sa mga paglawak ng produksyon, inirerekumenda na lumipat sa multiprocessing server dahil pinatataas nito ang katatagan, at mas mahusay na paggamit ng mga mapagkukunan ng system. Upang paganahin ang multiprocessing kailangan nating i-edit ang pagsasaayos ng Odoo at itakda ang isang non-zero na bilang ng mga proseso ng manggagawa.

Ang bilang ng mga manggagawa ay kinakalkula batay sa bilang ng mga CPU cores sa system at ang magagamit na memorya ng RAM.

Ayon sa opisyal na dokumentasyon ng Odoo upang makalkula ang bilang ng mga manggagawa at kinakailangang laki ng memorya ng RAM gagamitin namin ang mga sumusunod na pormula at pagpapalagay:

Pagkalkula ng numero ng manggagawa

  • teoretikal na pinakamataas na bilang ng manggagawa = (system_cpus * 2) + 11 manggagawa ay maaaring maglingkod ~ = 6 kasabay na mga gumagamit Ang mga manggagawa saron ay nangangailangan din ng CPU

Pagkalkula ng laki ng memorya ng RAM

  • Isasaalang-alang namin na 20% ng lahat ng mga kahilingan ay mabibigat na mga kahilingan, habang ang 80% ay mas magaan. Ang mga mabibigat na kahilingan ay gumagamit ng halos 1 GB ng RAM habang ang mas magaan ay gumagamit ng halos 150 MB ng RAMNeeded RAM = number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))

grep -c ^processor /proc/cpuinfo

Sabihin nating mayroon kaming isang sistema na may 4 na mga core ng CPU, 8 GB ng memorya ng RAM at 30 kasabay na mga gumagamit ng Odoo.

  • 30 users / 6 = **5** (5 ang teoretikal na bilang ng mga manggagawa na kinakailangan) (4 * 2) + 1 = **9** (9 ang teoretikal na maximum na bilang ng mga manggagawa)

Batay sa pagkalkula sa itaas maaari nating gamitin ang 5 manggagawa + 1 manggagawa para sa manggagawa ng cron na kabuuang 6 na manggagawa.

Kalkulahin ang pagkonsumo ng memorya ng RAM batay sa bilang ng mga manggagawa:

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

Ang pagkalkula sa itaas ay nagpapakita sa amin na ang aming pag-install ng Odoo ay kakailanganin sa paligid ng 2GB ng RAM.

Upang lumipat sa multiprocessing mode, buksan ang configuration file at idagdag ang mga sumusunod na linya:

/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

I-restart ang serbisyo ng Odoo para magkakabisa:

sudo systemctl restart odoo11

Ang natitirang mga mapagkukunan ng system ay gagamitin ng iba pang mga serbisyo na tumatakbo sa aming makina. Sa gabay na ito na na-install namin ang Odoo kasama ang PostgreSQL at Nginx sa parehong server at depende sa iyong pag-setup maaari ka ring magkaroon ng iba pang mga serbisyo na tumatakbo sa iyong server.

Konklusyon

Ayan yun! Naglakad ka ng tutorial na ito sa pag-install ng Odoo 11 sa Ubuntu 18.04 sa isang virtual na Python gamit ang Nginx bilang isang reverse proxy. Nalaman mo rin kung paano paganahin ang multiprocessing at pag-optimize ng Odoo para sa kapaligiran ng produksyon. Maaari mo ring suriin ang aming tutorial tungkol sa kung paano lumikha ng awtomatikong pang-araw-araw na mga backup ng iyong mga database ng Odoo.

ubuntu odoo postgresql python pip nginx proxy ssl