How to Install Odoo 13 on Ubuntu 18.04
Talaan ng mga Nilalaman:
- Pag-install ng Mga kinakailangan
- Paglikha ng isang Gumagamit ng System
- Pag-install at Pag-configure ng PostgreSQL
- Pag-install ng Wkhtmltopdf
- Pag-install at Pag-configure ng Odoo 13
- Paglikha ng isang Filed Unit File
- Pagsubok sa Pag-install
- Pag-configure ng Nginx bilang SSL Pagwawakas ng Proxy
- Pagbabago ng Binding Interface
- Paganahin ang Multiprocessing
- Konklusyon
Ang Odoo ay isang tanyag na open-source suite ng mga app ng negosyo. Nag-aalok ito ng isang hanay ng mga aplikasyon, kabilang ang CRM, e-Commerce, tagabuo ng website, pagsingil, accounting, manufacturing, bodega, pamamahala ng proyekto, imbentaryo, at marami pa, lahat ng walang putol na isinama.
Maaaring mai-install ang Odoo sa maraming paraan depende sa kaso ng paggamit at magagamit na mga teknolohiya. Ang pinakamadali at pinakamabilis na paraan upang mai-install ang Odoo ay sa pamamagitan ng paggamit ng opisyal na mga repositories ng Odoo APT.
Ang pag-install ng Odoo sa isang virtual na kapaligiran, o pag-deploy bilang isang lalagyan ng Docker, ay nagbibigay-daan sa iyo na magkaroon ng higit na kontrol sa pag-set up ng system, at magpatakbo ng maraming mga bersyon ng Odoo sa parehong system.
Sa gabay na ito, ilalakad ka namin sa pamamagitan ng pag-install at pag-deploy ng Odoo 13 sa loob ng isang virtual na Python virtual sa Ubuntu 18.04. I-download namin ang Odoo mula sa kanilang imbakan ng Github at gagamitin ang Nginx bilang isang reverse proxy.
Pag-install ng Mga kinakailangan
Mag-login sa iyong Ubuntu bilang isang gumagamit ng sudo at i-update ang Apt cache:
sudo apt update
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
Paglikha ng isang Gumagamit ng System
Lumikha ng isang system user na tatakbo sa Odoo, na pinangalanan
odoo13
may direktoryo sa bahay
/opt/odoo13
:
sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13
Maaari mong itakda ang pangalan ng gumagamit sa anumang nais mo, hangga't lumikha ka ng isang gumagamit ng PostgreSQL na may parehong pangalan.
Pag-install at Pag-configure ng PostgreSQL
Ginagamit ni Odoo ang PostgreSQL bilang back-end ng database. Upang mai-install ang PostgreSQL patakbuhin ang sumusunod na utos:
sudo apt install postgresql
Kapag nakumpleto ang pag-install, lumikha ng isang gumagamit ng PostgreSQL na may parehong pangalan tulad ng dating nilikha ng system system, sa aming kaso na
odoo13
:
sudo su - postgres -c "createuser -s odoo13"
Pag-install ng Wkhtmltopdf
Ang
wkhtmltox
package ay nagbibigay ng isang hanay ng mga bukas na mapagkukunan ng command-line na tool na maaaring magbigay ng HTML sa PDF at iba't ibang mga format ng imahe. Upang mag-print ng mga ulat sa PDF, kakailanganin mong i-install ang tool na
wkhtmltopdf
. Ang inirekumendang bersyon para sa Odoo ay
0.12.5
, na hindi magagamit sa default na mga repositories ng Ubuntu 18.04.
I-download ang package gamit ang sumusunod na utos ng wget:
wget
Kapag kumpleto na ang pag-download, i-install ang package sa pamamagitan ng pag-type:
sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb
Pag-install at Pag-configure ng Odoo 13
Tulad ng nabanggit dati, mag-install kami ng Odoo mula sa mapagkukunan sa loob ng isang nakahiwalay na virtual na Python virtual.
Una, baguhin ang gumagamit ng "odoo13":
sudo su - odoo13
I-clone ang Odoo 13 source code mula sa GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
Kapag kumpleto na ang pag-download, lumikha ng isang bagong kapaligiran sa Python para sa Odoo:
cd /opt/odoo13
python3 -m venv odoo-venv
Isaaktibo ang kapaligiran sa mga 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 error sa compilation sa panahon ng pag-install, tiyaking naka-install ang lahat ng kinakailangang mga dependencies na nakalista sa seksyon ng Pag-
Installing Prerequisites
.
Kapag tapos na, i-deactivate ang kapaligiran sa pamamagitan ng pag-type:
deactivate
Gagawa kami ng isang bagong direktoryo na hahawak sa mga 3 addon ng partido.
mkdir /opt/odoo13/odoo-custom-addons
Mamaya, idagdag namin ang direktoryo na ito sa parameter ng
addons_path
. Tinukoy ng parameter na ito ang isang listahan ng mga direktoryo kung saan naghahanap si Odoo para sa mga module.
Bumalik sa iyong gumagamit ng sudo:
exit
Lumikha ng isang file ng pagsasaayos gamit ang sumusunod na nilalaman:
sudo nano /etc/odoo13.conf
/etc/odoo13.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo13 db_password = False addons_path = /opt/odoo13/odoo/addons, /opt/odoo13/odoo-custom-addons
Huwag kalimutan na baguhin ang
my_admin_passwd
sa isang mas ligtas.
Paglikha ng isang Filed Unit File
Buksan ang iyong text editor at lumikha ng isang file ng unit ng serbisyo na tinatawag na
odoo13.service
sa mga sumusunod na nilalaman:
sudo nano /etc/systemd/system/odoo13.service
/etc/systemd/system/odoo13.service
Description=Odoo13 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo13 PermissionsStartOnly=true User=odoo13 Group=odoo13 ExecStart=/opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf StandardOutput=journal+console WantedBy=multi-user.target
Ipaalam sa systemd na mayroong isang bagong unit file:
sudo systemctl daemon-reload
Simulan ang serbisyo ng Odoo at pinagana itong magsimula sa boot sa pamamagitan ng pagpapatakbo:
sudo systemctl enable --now odoo13
Patunayan ang katayuan ng serbisyo:
sudo systemctl status odoo13
Ang output ay dapat magmukhang isang bagay sa ibaba, na nagpapahiwatig na ang serbisyo ng Odoo ay aktibo at tumatakbo.
● odoo13.service Loaded: loaded (/etc/systemd/system/odoo13.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-10-19 20:06:23 UTC; 3s ago Main PID: 1860 (python3) Tasks: 4 (limit: 2362) CGroup: /system.slice/odoo13.service └─1860 /opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
Upang makita ang mga mensahe na naka-log sa serbisyo ng Odoo, gamitin ang utos sa ibaba:
Pagsubok sa 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:

Pag-configure ng Nginx bilang SSL Pagwawakas ng Proxy
Ang default na web server ng Odoo ay naghahatid ng trapiko sa paglipas ng HTTP. Upang maging mas ligtas ang paglawak ng Odoo ay 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 pagwawakas ng proxy (Nginx) ay iproseso at i-decrypt ang mga papasok na koneksyon sa TLS (HTTPS), at ipasa ang mga hindi hiniling na mga kahilingan sa panloob na serbisyo (Odoo). 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 Pagbabalanse ng Load, Pagwawakas ng SSL, Pag-cache, Compression, Paglilingkod sa Static na Nilalaman, at marami pa.
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. 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.
Buksan ang iyong text editor at lumikha / i-edit ang bloke ng server ng domain:
sudo nano /etc/nginx/sites-enabled/example.com
Ang sumusunod na pagsasaayos ay nagtatakda ng Pagwawakas ng SSL, pag-redirect ng HTTP sa 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:
sudo systemctl restart nginx
Susunod, kailangan nating sabihin kay Odoo na gamitin ang proxy. Upang gawin ito, buksan ang file ng pagsasaayos at idagdag ang sumusunod na linya:
/etc/odoo13.conf
proxy_mode = True
I-restart ang serbisyo ng Odoo para magkakabisa:
sudo systemctl restart odoo13
Sa puntong ito, ang reverse proxy ay na-configure, at maaari mong ma-access ang iyong Odoo halimbawa sa:
https://example.com
Pagbabago ng Binding 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. Upang hindi paganahin ang direktang pag-access sa halimbawa ng Odoo, 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.
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:
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:
Paganahin ang Multiprocessing
Bilang default, ang Odoo ay gumagana sa multithreading mode. Para sa mga paglawak ng produksyon, inirerekumenda na baguhin sa multiprocessing server dahil pinatataas nito ang katatagan, at mas mahusay na paggamit ng mga mapagkukunan ng system.
Upang paganahin ang multiprocessing kailangan mong i-edit ang pagsasaayos ng Odoo at magtakda ng isang hindi 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 numero ng mga manggagawa at kinakailangang laki ng memorya ng RAM, maaari mong gamitin ang mga sumusunod na pormula at pagpapalagay:
Pagkalkula ng numero ng manggagawa
- Ang teoretikal na pinakamataas na bilang ng manggagawa = (system_cpus * 2) + 11 manggagawa ay maaaring maglingkod ~ = 6 na 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, at 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 kang isang system 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 mong gamitin ang 5 manggagawa + 1 manggagawa para sa manggagawa ng cron na isang 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 ay nagpapakita na ang pag-install ng Odoo ay kakailanganin sa paligid ng 2GB ng RAM.
Upang lumipat sa multiprocessing mode, buksan ang file ng pagsasaayos at idagdag ang kinakalkula na mga halaga:
/etc/odoo13.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 odoo13
Ang natitirang mga mapagkukunan ng system ay gagamitin ng iba pang mga serbisyo na tumatakbo sa sistemang ito. Sa gabay na ito, na-install namin ang Odoo kasama ang PostgreSQL at Nginx sa parehong server. Depende sa iyong pag-set up maaari ka ring magkaroon ng iba pang mga serbisyo na tumatakbo sa iyong server.
Konklusyon
Ang tutorial na ito ay lumakad sa iyo sa pag-install ng Odoo 13 sa Ubuntu 18.04 sa isang Python virtual na kapaligiran gamit ang Nginx bilang isang reverse proxy. Ipinakita namin sa iyo kung paano paganahin ang multiprocessing at pag-optimize ng Odoo para sa isang kapaligiran sa paggawa.
Maaari mo ring suriin ang aming tutorial tungkol sa kung paano lumikha ng awtomatikong pang-araw-araw na mga backup ng mga database ng Odoo.
ubuntu odoo postgresql python pip nginx proxy sslBaguhin ang laki, i-edit, mag-upload, sa iyong menu ng konteksto ng right click na maaaring makatulong sa iyo na madaling i-preview, palitan ang laki, i-edit, mag-upload sa ImageShack, mag-edit ng metadata ng IPC, mag-convert ng mga larawan.
XnView Shell Extension ay isang extension para sa mga bintana ng explorer na nagbibigay-daan sa iyo i-edit ang mga larawan mula mismo sa explorer click ang konteksto mismo sa menu ng konteksto.
Paano mag-deploy ng odoo 11 sa ubuntu 18.04
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.
Paano mag-deploy ng odoo 12 sa ubuntu 18.04
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.







