Android

Paano mag-deploy ng odoo 12 sa ubuntu 18.04

How To Install Odoo 12 on Ubuntu 18.04

How To Install Odoo 12 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.

Maaaring mai-install ang Odoo sa maraming iba't ibang mga paraan. 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 tutorial na ito ang mga hakbang na kinakailangan para sa pag-install at pag-configure ng Odoo 12 para sa paggawa gamit ang Git source at Python virtual na kapaligiran sa isang Ubuntu 18.04 system.

Bago ka magsimula

Mag-login sa iyo 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 para sa Odoo na nagngangalang odoo12 may direktoryo sa bahay /opt/odoo12 gamit ang sumusunod na utos:

sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12 Maaari kang gumamit ng anumang pangalan para sa iyong gumagamit ng Odoo hangga't lumikha ka ng isang gumagamit ng PostgreSQL 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 na odoo12 :

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

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.

Bago magsimula sa proseso ng pag-install, magbago sa gumagamit ng "odoo12":

sudo su - odoo12

Magsimula sa pamamagitan ng pag-clone sa Odoo 12 source code mula sa GitHub repositoryo:

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

Kapag nai-download ang source code, lumikha ng isang bagong virtual na Python para sa pag-install ng Odoo 12:

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

Susunod, buhayin ang kapaligiran gamit ang sumusunod na utos:

source odoo-venv/bin/activate

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

pip3 install wheel pip3 install -r odoo/requirements.txt Kung nakatagpo ka ng anumang mga pagkakamali sa pag-install, siguraduhing na-install mo ang lahat ng kinakailangang mga dependencies na nakalista sa seksyon ng Before you begin .

Isaaktibo ang kapaligiran gamit ang sumusunod na utos:

deactivate

Lumikha ng isang bagong direktoryo para sa pasadyang mga addon:

mkdir /opt/odoo12/odoo-custom-addons

Bumalik sa iyong gumagamit ng sudo:

exit

Susunod, lumikha ng isang file ng pagsasaayos, sa pamamagitan ng pagkopya ng kasama na sample file ng pagsasaayos:

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

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

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 Huwag kalimutan na baguhin ang my_admin_passwd sa isang mas ligtas.

Lumikha ng isang Filed Unit File

Upang patakbuhin ang Odoo bilang isang serbisyo kailangan naming lumikha ng isang file ng yunit ng serbisyo sa /etc/systemd/system/ direktoryo.

Buksan ang iyong text editor at i-paste ang sumusunod na pagsasaayos:

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

Ipaalam sa systemd na mayroong isang bagong unit file at magsisimula sa serbisyo ng Odoo sa pamamagitan ng pagpapatakbo:

sudo systemctl daemon-reload sudo systemctl start odoo12

Suriin ang katayuan ng serbisyo gamit ang sumusunod na utos:

sudo systemctl status odoo12

Ang output ay dapat magmukhang isang bagay tulad ng sa ibaba na nagpapahiwatig na ang serbisyo ng Odoo ay aktibo at tumatakbo.

* 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

Paganahin ang serbisyo ng Odoo na awtomatikong magsimula sa oras ng boot:

sudo systemctl enable odoo12

sudo journalctl -u odoo12

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 SSL Pagwawakas ng Proxy

Tiyakin na nakamit mo ang sumusunod na mga kinakailangan bago magpatuloy sa seksyon na ito:

  • Ang pangalan ng domain na tumuturo sa iyong public server IP. Sa tutorial na ito gagamitin namin ang example.com .Nginx na naka-install.SSL sertipiko para sa iyong domain. Maaari kang mag-install ng isang libreng sertipiko ng I-encrypt ang SSL.

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

Ang paggamit ng isang reverse proxy ay nagbibigay sa iyo ng maraming mga benepisyo tulad ng Load Balancing, Pagwawakas ng SSL, Pag-cache, Compression, Paglilingkod sa Static na Nilalaman at marami pa.

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.

Buksan ang iyong text editor at lumikha ng sumusunod na file:

sudo nano /etc/nginx/sites-enabled/example.com /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

Susunod, kailangan nating sabihin sa Odoo na gagamitin namin ang proxy. Upang gawin ito, buksan ang file ng pagsasaayos at idagdag ang sumusunod na linya:

/etc/odoo12.conf

proxy_mode = True

I-restart ang serbisyo ng Odoo para magkakabisa:

sudo systemctl restart odoo12

Sa puntong ito, ang iyong server ay na-configure at maaari mong ma-access ang iyong Odoo halimbawa sa: https://example.com

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. Kung nais mong huwag paganahin ang direktang pag-access sa iyong Odoo halimbawa maaari mong i-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 i-configure namin ang Odoo upang makinig lamang sa 127.0.0.1 . Buksan ang pagsasaayos idagdag ang sumusunod na dalawang linya sa dulo ng file:

/etc/odoo12.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 odoo12

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/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

I-restart ang serbisyo ng Odoo para magkakabisa:

sudo systemctl restart odoo12

Ang natitirang mga mapagkukunan ng system ay gagamitin ng iba pang mga serbisyo na tumatakbo sa sistemang ito. 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

Naglakad ka ng tutorial na ito sa pag-install ng Odoo 12 sa Ubuntu 18.04 sa isang Python virtual na kapaligiran 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