Twaqqif ta' OpenERP (Odoo) 9 b'Nginx fuq RHEL/CentOS u Debian/Ubuntu


Odoo, li qabel kien magħruf bħala OpenERP, huwa softwer tan-negozju tal-ERP tal-Ippjanar tar-Riżorsi tal-Intrapriżi ta' Sors Miftuħ miktub f'Python li jiġi ma' sett ta' apps tal-web iddisinjati għal kull negozju, bħal Bennejja tal-Websajt, moduli tal-Kummerċ elettroniku, Billing and Accounting, Riżorsi Umani, Punt tal-Bejgħ, Ġestjoni tar-Relazzjonijiet mal-Klijent, modulu tal-Inventarju, Live Chat u ħafna apps u karatteristiċi oħra.

Dan it-tutorja jiggwidak dwar kif tinstalla l-aħħar verżjoni stabbli ta 'Odoo (verżjoni 9) fuq sistemi bbażati fuq RHEL/CentOS/Fedora jew Debian/Ubuntu b'server Nginx biex taġixxi bħala reverse proxy fil-frontend sabiex taċċessa l-web interface aktar malajr, b'mod sigur u minn portijiet standard tal-ibbrawżjar tal-web, mingħajr il-ħtieġa li l-utenti jiġu mgħobbija biex jużaw portijiet mill-ġdid tal-browser.

Pass 1: Installa u Sikura PostgreSQL Database

1. Qabel ma tibda tipproċedi bl-installazzjoni ta 'Odoo l-ewwel aċċerta li s-sistema tiegħek tintbagħat b'pakketti pprovduti minn repożitorji Epel sabiex tinstalla d-database PostgreSQL backend.

Kun żgur ukoll li s-server huwa aġġornat bl-aħħar pakketti ta' sigurtà u garżi billi toħroġ il-kmandi ta' hawn taħt:

----------- 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. Sussegwentement, aqbad u installa s-server tad-database PostgreSQL, li hija d-database default użata minn Odoo biex taħżen l-informazzjoni.

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

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

Inizjalizza database PostgreSQL.

# postgresql-setup initdb	

Issa fl-aħħar ibda d-database PostgreSQL billi toħroġ il-kmand hawn taħt:

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

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

Bħala pass addizzjonali biex jiġi żgurat l-utent default ta’ PostgreSQL, li għandu password vojta, ħarġet il-kmand ta’ hawn taħt bi privileġġi tal-għeruq sabiex tibdel il-password:

sudo -u postgres psql
postgres=# \password postgres

Pass 2: Installa Odoo 9 – OpenERP

3. Sabiex tinstalla Odoo 9 minn repożitorju uffiċjali, l-ewwel oħloq fajl ġdid ta 'repożitorju yum għal Odoo bil-kontenut li ġej:

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

Żid is-silta li ġejja fil-fajl 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

Fuq Debian/Ubuntu agħti l-kmand li ġej biex iżżid ir-repożitorji 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. Sussegwentement tinstalla s-softwer Odoo 9 minn binarji.

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

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

Sussegwentement, ibdaha u ċċekkja l-istatus tad-daemon billi toħroġ il-kmandi hawn taħt:

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

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

Bħala pass addizzjonali tista' tivverifika l-port tas-smigħ tas-servizz Odoo billi tħaddem il-kmand ss jew netstat:

# ss -tulpn
OR
# netstat -tulpn

B'mod awtomatiku, Odoo jisma' għall-konnessjonijiet tan-netwerk fuq il-port 8069/TCP.

Pass 3: Ikkonfigura Odoo mill-Interface tal-Web

5. Sabiex jiġi kkonfigurat Odoo aktar qabbad browser u aċċess għall-interface tal-web ta' Odoo fl-URI li ġej:

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

6. Sussegwentement tkun imħeġġeġ biex toħloq database ġdida għal Odoo u tistabbilixxi password b'saħħitha għall-kont tal-amministratur.

7. Ladarba d-database tkun inħoloq, tkun ridirett lejn il-pannell tal-web tal-amministrazzjoni fejn tista' tkompli tinstalla l-applikazzjonijiet u tikkonfigura l-ERP tiegħek. Għalissa ħalli l-applikazzjoni bħala default u illoggja.

8. Ladarba rritornat fl-iskrin tal-login, agħfas il-link Manage Databases u Issettja password prinċipali sabiex tiżgura l-maniġer tad-database Odoo.

9. Ladarba tkun assigurat il-maniġer tad-database ta 'Odoo tista' tidħol fuq l-applikazzjoni tiegħek u tibda tikkonfiguraha aktar bl-apps u s-settings meħtieġa tiegħek.

Pass 4: Aċċessa Odoo minn Nginx Frontend

Tista 'tikkonfigura s-sistema sabiex l-utenti jkunu jistgħu jaċċessaw il-pannell tal-web ta' Odoo permezz ta 'nginx reverse proxy. Dan jista' jiffaċilita lill-utenti biex jinnavigaw l-interface tal-web Odoo aktar malajr, minħabba xi Nginx frontend caching, fuq portijiet HTTP standard mingħajr il-ħtieġa li jidħlu manwalment il-port http 8069 fuq il-browsers tagħhom.

Sabiex tikkonfigura dan l-issettjar l-ewwel trid tinstalla u tikkonfigura Nginx fis-sistema tiegħek billi toħroġ il-passi li ġejjin.

10. L-ewwel installa Nginx web server bil-kmand li ġej:

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

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

11. Sussegwentement, iftaħ il-fajl tal-konfigurazzjoni prinċipali Nginx b'editur tat-test u daħħal il-blokka li ġejja wara l-linja li tispeċifika l-lok tal-għerq tad-dokument Nginx.

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

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

Żid is-silta tal-konfigurazzjoni li ġejja fil-fajl 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;

Ukoll, ikkummenta dikjarazzjoni Nginx location billi tpoġġi # quddiem il-linji li ġejjin. Uża l-screenshot hawn taħt bħala gwida.

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

12. Wara li tkun għamilt il-bidliet kollha ta 'hawn fuq, ibda mill-ġdid Nginx daemon iżda mhux qabel ma tħaddem il-kmand getenforce biex tivverifika jekk Selinux hux attivat fuq il-magna tiegħek.

F'każ li l-politika tkun issettjata għal Infurzata iddiżattivaha billi toħroġ il-kmandi hawn taħt:

# setenforce 0
# getenforce

Biex tiddiżattiva kompletament Selinux, iftaħ il-fajl /etc/selinux/config b'editur tat-test u waqqaf il-linja SELINUX għal diżattivat.

Jekk ma tridx tiddiżattiva kompletament il-politika ta 'Seliux u trid sempliċement tirrilassa r-regoli sabiex tagħti proxy Nginx b'aċċess permissiv għas-socket tan-netwerk mexxi l-kmand li ġej:

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

Imbagħad, ibda mill-ġdid Nginx daemon biex tirrifletti l-bidliet li saru hawn fuq:

# systemctl restart nginx
OR
# service nginx restart

13. Dan il-pass li jmiss huwa karatteristika fakultattiva tas-sigurtà u jimplika l-bidla tas-socket tan-netwerk li l-applikazzjoni Odoo qed tisma ', li tbiddel l-indirizz vinkolanti mill-interfaces kollha (jew indirizz) għal localhost biss.

Din il-bidla trid issir biss flimkien ma 'nginx reverse proxy minħabba l-fatt li l-irbit tal-applikazzjoni fuq localhost jimplika biss li Odoo mhux se jkun aċċessibbli mill-utenti ġewwa l-LAN jew netwerks oħra.

Sabiex tattiva din il-bidla, iftaħ il-fajl /etc/odoo/openerp-server.conf u editja l-linja xmlrpc_interface biex torbot fuq localhost biss kif issuġġerit fuq il-screenshot hawn taħt.

xmlrpc_interface = 127.0.0.1

Sabiex tirrifletti l-bidliet, ibda mill-ġdid is-servizz Odoo billi tħaddem il-kmand hawn taħt:

# systemctl restart odoo.service
OR
# service odoo restart

14. Fil-każ li l-magna tiegħek ikollha linja ta 'difiża tan-netwerk ipprovduta mill-firewall, agħti l-kmandi li ġejjin sabiex tiftaħ portijiet tal-firewall għad-dinja ta' barra għall-prokura Nginx:

----------- 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. Dak hu! Issa tista 'taċċessa b'suċċess l-applikazzjoni ERP Odoo tiegħek billi żżur l-Indirizz IP tas-server tiegħek jew l-isem tad-dominju.

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

16. Sabiex tħaddem awtomatikament is-servizzi wara reboot tas-sistema ħarġet il-kmand li ġej biex tippermetti d-daemons kollha fis-sistema kollha b'one-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

NOTA: Għar-rapporti PDF, trid tniżżel u tinstalla manwalment pakketti binarji wkhtmltopdf għad-distribuzzjoni tiegħek stess billi żżur il-link li ġej Installa wkhtmltopdf biex Ikkonverti l-paġna HTML f'PDF.