Melite OpenERP (Odoo) 9 na Nginx na RHEL/CentOS na Debian/Ubuntu


Odoo, nke a na-akpọbu OpenERP, bụ Open Source Enterprise Resource Planning ERP web software azụmahịa nke edere na Python nke na-abịa na ngwa weebụ emebere maka azụmahịa ọ bụla, dị ka ndị na-ewu weebụsaịtị, modul eCommerce, Ịgba Ụgwọ na Akaụntụ, Ọrụ Ndị Ọrụ, Ebe ire ere, njikwa mmekọrịta ndị ahịa, modul ngwa ahịa, nkata ndụ na ọtụtụ ngwa na njirimara ndị ọzọ.

Nkuzi a ga - eduzi gị otu esi etinye ụdị Odoo kwụsiri ike (ụdị 9) na sistemụ RHEL/CentOS/Fedora ma ọ bụ Debian/Ubuntu nwere sava Nginx ka ọ rụọ ọrụ dị ka onye nnọchi anya n'ihu iji nweta webụ. ngwa ngwa, n'enweghị nchebe yana site na ọdụ ụgbọ mmiri nchọgharị ọkọlọtọ, na-enweghị mkpa ibu arọ ndị ọrụ iji iji ọdụ ụgbọ mmiri redirect ihe nchọgharị.

Kwụpụ 1: Wụnye ma chekwaa nchekwa data PostgreSQL

1. Tupu ịmalite ịga n'ihu na nrụnye Odoo buru ụzọ mee ka obi sie gị ike na ụgbọ mmiri sistemụ gị nwere ngwugwu nke Epel repositories nyere iji wụnye nchekwa data PostgreSQL azụ.

Gbaa mbọ hụ na ihe nkesa ahụ na-enwe ngwungwu nchekwa na patches kachasị ọhụrụ site na ịnye iwu ndị a:

----------- On RedHat/CentOS based systems ----------- 
# yum update
# yum install -y epel-release

----------- On Debian/Ubuntu based systems ----------- 
# apt-get update && sudo apt-get upgrade # On Debian 

2. Ọzọ, gaa n'ihu ma wụnye ihe nkesa nchekwa data PostgreSQL, nke bụ nchekwa data ndabara nke Odoo na-eji echekwa ozi.

----------- On RedHat/CentOS based systems -----------
# yum install postgresql-server

----------- On Debian/Ubuntu based systems -----------
# apt-get install postgresql postgresql-client

Bido nchekwa data PostgreSQL.

# postgresql-setup initdb	

Ugbu a n'ikpeazụ malite nchekwa data PostgreSQL site n'inye iwu dị n'okpuru:

----------- On SystemD systems -----------
# systemctl start postgresql

----------- On SysVinit systems -----------
# service postgresql start

Dị ka nzọụkwụ ọzọ iji chekwaa onye ọrụ ndabara PostgreSQL, nke nwere paswọọdụ efu, nye iwu dị n'okpuru na ikike mgbọrọgwụ iji gbanwee paswọọdụ:

sudo -u postgres psql
postgres=# \password postgres

Kwụpụ 2: Wụnye Odoo 9 - OpenERP

3. Iji tinye Odoo 9 site na ebe nchekwa gọọmentị, buru ụzọ mepụta faịlụ nchekwa yum ọhụrụ maka Odoo yana ọdịnaya ndị a:

# vi /etc/yum.repos.d/odoo.repo

Tinye akụkụ na-esonụ na faịlụ odoo.repo.

[odoo-nightly]
name=Odoo Nightly repository
baseurl=http://nightly.odoo.com/9.0/nightly/rpm/
enabled=1
gpgcheck=1
gpgkey=https://nightly.odoo.com/odoo.key

Na Debian/Ubuntu na-enye iwu a ka ịgbakwunye ebe nchekwa Odoo:

# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
# echo "deb http://nightly.odoo.com/9.0/nightly/deb/ ./" >> /etc/apt/sources.list

4. Ọzọ tinye Odoo 9 software site na ọnụọgụ abụọ.

----------- On RedHat/CentOS based systems -----------
# yum install odoo

----------- On Debian/Ubuntu based systems -----------
# apt-get update && sudo apt-get install odoo

Ọzọ, bido ya wee lelee ọkwa daemon site n'inye iwu ndị a:

----------- On SystemD systems -----------
# systemctl start odoo
# systemctl status odoo

----------- On SysVinit systems -----------
# service odoo start
# service odoo status

Dịka nzọụkwụ ọzọ ị nwere ike nyochaa ọdụ ụgbọ mmiri na-ege ntị Odoo site na iji ss ma ọ bụ netstat iwu:

# ss -tulpn
OR
# netstat -tulpn

Na ndabara, Odoo na-ege ntị maka njikọ netwọk na ọdụ ụgbọ mmiri 8069/TCP.

Kwụpụ 3: Hazie Odoo site na Interface Webụ

5. Iji hazie Odoo n'ihu ọkụ na-eme nchọgharị wee nweta interface webụ Odoo na URI ndị a:

http://host-or-IP-address:8069/

6. Ọzọ, a ga-akpali gị ịmepụta nchekwa data ọhụrụ maka Odoo wee tọọ paswọọdụ siri ike maka akaụntụ nchịkwa.

7. Ozugbo e mepụtara nchekwa data ahụ, a ga-ebuga gị gaa na ebe nrụọrụ weebụ nchịkwa ebe ị nwere ike tinyekwuo ngwa ma hazie ERP gị. Maka oge a hapụ ngwa ahụ ka ọ bụrụ nke ndabara wee pụọ.

8. Ozugbo laghachiri na ihuenyo nbanye, see na Jikwaa Databases njikọ na Tọọ a nna ukwu paswọọdụ iji chekwaa Odoo nchekwa data njikwa.

9. Ozugbo ị nwetara njikwa nchekwa data Odoo ị nwere ike ịbanye na ngwa gị wee malite ịhazi ya n'ihu na ngwa na ntọala gị chọrọ.

Kwụpụ 4: Nweta Odoo site na Nginx Frontend

Ị nwere ike hazie usoro ahụ ka ndị ọrụ nwee ike ịnweta panel webụ Odoo site na Nginx reverse proxy. Nke a nwere ike ime ka ndị ọrụ nwee ike ịnyagharị Odoo web interface ngwa ngwa, n'ihi ụfọdụ Nginx frontend caching, na ọkọlọtọ HTTP ọdụ ụgbọ mmiri na-enweghị mkpa iji aka tinye http 8069 ọdụ ụgbọ mmiri na ha nchọgharị.

Iji hazie ntọala a, ịkwesịrị ịwụnye na hazie Nginx na sistemụ gị site na ịnye usoro ndị a.

10. Buru ụzọ tinye sava weebụ Nginx site na iji iwu a:

----------- On RedHat/CentOS based systems -----------
# yum install nginx

----------- On Debian/Ubuntu based systems -----------
# apt-get install nginx

11. Na-esote, mepee Nginx isi nhazi faịlụ na onye editọ ederede wee tinye ngọngọ na-esote mgbe akara nke na-akọwa ọnọdụ mgbọrọgwụ Nginx.

----------- On RedHat/CentOS based systems -----------
# vi /etc/nginx/nginx.conf 

----------- On Debian/Ubuntu based systems -----------
# nano /etc/nginx/sites-enabled/default

Tinye ntinye nhazi na faịlụ nginx.conf:

 location / {
        proxy_pass http://127.0.0.1:8069;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

Ọzọkwa, kwuo nkwupụta Nginx ebe site n'itinye # n'ihu ahịrị ndị a. Jiri nseta ihuenyo dị n'okpuru dịka ntuziaka.

#location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
        #       try_files $uri $uri/ =404;
        #}

12. Mgbe ịmechara mgbanwe niile dị n'elu, malitegharịa Nginx daemon ma ọ bụghị tupu ị na-agba ọsọ getenforce iwu iji lelee ma ọ bụrụ na enyere Selinux na igwe gị.

Ọ bụrụ na edobere iwu a ka ọ bụrụ Enweenye gbanyụọ ya site n'inye iwu ndị a:

# setenforce 0
# getenforce

Iji gbanyụọ Selinux kpamkpam, mepee /etc/selinux/config faịlụ na onye editọ ederede wee tọọ ahịrị SELINUX ka ọ bụrụ nkwarụ.

Ọ bụrụ na ịchọghị iwepu iwu Seliux kpamkpam ma chọọ naanị izu ike iwu iji nye Nginx proxy ohere ịnweta oghere netwọkụ na-eme iwu a:

# setsebool httpd_can_network_connect on -P
# getsebool -a | grep httpd 

Mgbe ahụ, malitegharịa Nginx daemon iji gosipụta mgbanwe ndị emere n'elu:

# systemctl restart nginx
OR
# service nginx restart

13. Nzọụkwụ ọzọ bụ njirimara nhọrọ nchekwa ma na-egosi mgbanwe nke oghere netwọk nke ngwa Odoo na-ege ntị, na-agbanwe adreesị njikọ site na interfaces niile (ma ọ bụ adreesị) gaa na localhost naanị.

A ghaghị ime mgbanwe a naanị yana njikọ Nginx reverse proxy n'ihi eziokwu na ijikọ ngwa na localhost naanị na-egosi na Odoo agaghị enweta ya n'aka ndị ọrụ n'ime LAN ma ọ bụ netwọk ndị ọzọ.

Iji mee mgbanwe a, mepee /etc/odoo/openerp-server.conf faịlụ wee dezie ahịrị xmlrpc_interface ka ijikọ na localhost naanị dị ka atụ aro na nseta ihuenyo dị n'okpuru.

xmlrpc_interface = 127.0.0.1

Iji gosipụta mgbanwe malitegharịa ọrụ Odoo site na ịme iwu dị n'okpuru:

# systemctl restart odoo.service
OR
# service odoo restart

14. Ọ bụrụ na igwe gị nwere eriri nchekwa netwọkụ nyere site na firewall, nye iwu ndị a iji mepee ọdụ ụgbọ mmiri na mpụga ụwa maka Nginx proxy:

----------- On FirewallD based systems -----------
# firewall-cmd --add-service=http --permanent
# firewall-cmd --reload
----------- On IPTables based systems -----------
# iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
# iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
# /etc/init.d/iptables save
----------- On UFW Firewall systems -----------
# ufw allow http

15. Ọ bụ ya! Ugbu a ị nwere ike nweta ngwa ERP Odoo gị nke ọma site na ịga na adreesị IP nke ihe nkesa gị ma ọ bụ aha ngalaba.

http://192.168.1.40
http://domain.tld

16. Iji na-akpaghị aka na-agba ọsọ ọrụ mgbe a usoro reboot na-enye ndị na-esonụ iwu ka niile daemons usoro-obosara na otu-shot.

------------ On SystemD Systems ------------  
# systemctl enable postgresql.service 
# systemctl enable odoo.service
# systemctl enable nginx.service
------------ On SysVinit Systems ------------ 

# chkconfig postgresql on
# chkconfig odoo on
# chkconfig nginx on

IHE: Maka akụkọ PDF, ị ga-eji aka budata ma wụnye ngwugwu ọnụọgụ abụọ wkhtmltopdf maka nkesa gị site na ịga na njikọ na-esonụ Wụnye wkhtmltopdf ka ị gbanwee ibe HTML ka ọ bụrụ PDF.