Nastavitev OpenERP (Odoo) 9 z Nginxom na RHEL/CentOS in Debian/Ubuntu


Odoo, prej znan kot OpenERP, je odprtokodna spletna poslovna programska oprema za načrtovanje virov za podjetja (ERP), napisana v Pythonu, ki vsebuje komplet spletnih aplikacij, zasnovanih za vsa podjetja, kot so graditelji spletnih strani, moduli za e-poslovanje, obračun in računovodstvo, človeški viri, Prodajno mesto, upravljanje odnosov s strankami, modul zaloge, klepet v živo in številne druge aplikacije in funkcije.

Ta vadnica vas bo vodila, kako namestiti najnovejšo stabilno različico Odoo (različica 9) na sisteme, ki temeljijo na RHEL/CentOS/Fedora ali Debian/Ubuntu s strežnikom Nginx, da deluje kot obratni proxy v frontendu za dostop do spleta. vmesnik hitreje, varno in iz standardnih vrat za brskanje po spletu, ne da bi morali uporabnike obremenjevati z uporabo vrat za preusmeritev brskalnika.

1. korak: Namestite in zavarujte bazo podatkov PostgreSQL

1. Preden začnete z namestitvijo Odoo, najprej zagotovite, da je vaš sistem dobavljen s paketi, ki jih ponujajo repoloviji Epel, da namestite zaledno bazo podatkov PostgreSQL.

Prepričajte se tudi, da je strežnik posodobljen z najnovejšimi varnostnimi paketi in popravki, tako da izdate spodnje ukaze:

----------- 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. Nato nadaljujte in namestite strežnik baz podatkov PostgreSQL, ki je privzeta baza podatkov, ki jo Odoo uporablja za shranjevanje informacij.

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

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

Inicializirajte bazo podatkov PostgreSQL.

# postgresql-setup initdb	

Zdaj končno zaženite bazo podatkov PostgreSQL z izdajo spodnjega ukaza:

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

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

Kot dodaten korak za zaščito privzetega uporabnika PostgreSQL, ki ima prazno geslo, izdajte spodnji ukaz s korenskimi pravicami, da spremenite geslo:

sudo -u postgres psql
postgres=# \password postgres

2. korak: Namestite Odoo 9 - OpenERP

3. Če želite namestiti Odoo 9 iz uradnega repozitorija, najprej ustvarite novo datoteko yum repozitorija za Odoo z naslednjo vsebino:

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

V datoteko odoo.repo dodajte naslednji odlomek.

[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

V Debianu/Ubuntuju izdajte naslednji ukaz za dodajanje skladišč 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. Nato namestite programsko opremo Odoo 9 iz binarnih datotek.

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

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

Nato ga zaženite in preverite stanje demona z izdajo spodnjih ukazov:

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

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

Kot dodaten korak lahko preverite vrata za poslušanje storitve Odoo, tako da zaženete ukaz ss ali netstat:

# ss -tulpn
OR
# netstat -tulpn

Odoo privzeto posluša omrežne povezave na vratih 8069/TCP.

3. korak: Konfigurirajte Odoo iz spletnega vmesnika

5. Če želite konfigurirati Odoo, še naprej zaženite brskalnik in dostopite do spletnega vmesnika Odoo na naslednjem URI:

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

6. Nato boste pozvani, da ustvarite novo bazo podatkov za Odoo in nastavite močno geslo za skrbniški račun.

7. Ko je baza podatkov ustvarjena, boste preusmerjeni na skrbniško spletno ploščo, kjer boste lahko še naprej namestili aplikacije in konfigurirali svoj ERP. Trenutno pustite aplikacijo privzeto in se odjavite.

8. Ko se vrnete na prijavni zaslon, pritisnite povezavo Upravljanje zbirk podatkov in nastavite glavno geslo, da zaščitite upravitelja zbirke podatkov Odoo.

9. Ko ste zaščitili upravitelja zbirke podatkov Odoo, se lahko prijavite v svojo aplikacijo in jo začnete dodatno konfigurirati z zahtevanimi aplikacijami in nastavitvami.

4. korak: Dostop do Odooja iz Nginx Frontenda

Sistem lahko konfigurirate tako, da lahko uporabniki dostopajo do spletne plošče Odoo prek povratnega proxyja Nginx. To lahko uporabnikom olajša hitrejše krmarjenje po spletnem vmesniku Odoo zaradi nekaterih predpomnilnikov vmesnika Nginx na standardnih vratih HTTP, ne da bi morali ročno vnesti http vrata 8069 v svojih brskalnikih.

Če želite najprej nastaviti to nastavitev, morate v sistem namestiti in konfigurirati Nginx, tako da izdate naslednje korake.

10. Najprej namestite spletni strežnik Nginx z naslednjim ukazom:

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

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

11. Nato odprite glavno konfiguracijsko datoteko Nginx z urejevalnikom besedila in vstavite naslednji blok za vrstico, ki določa korensko lokacijo dokumenta Nginx.

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

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

V datoteko nginx.conf dodajte naslednji izvleček konfiguracije:

 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;

Komentirajte tudi izjavo Nginx location , tako da postavite # pred naslednje vrstice. Kot vodilo uporabite spodnji posnetek zaslona.

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

12. Ko ste izvedli vse zgornje spremembe, znova zaženite demon Nginx, vendar ne preden zaženete ukaz getenforce , da preverite, ali je na vašem računalniku omogočen Selinux in.

Če je pravilnik nastavljen na Enforced , ga onemogočite z izdajo spodnjih ukazov:

# setenforce 0
# getenforce

Če želite popolnoma onemogočiti Selinux, z urejevalnikom besedila odprite datoteko /etc/selinux/config in vrstico SELINUX nastavite na onemogočeno.

Če ne želite popolnoma onemogočiti pravilnika Seliux in želite samo sprostiti pravila, da Nginxu omogočite proxy s permisivnim dostopom do omrežne vtičnice, zaženite naslednji ukaz:

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

Nato znova zaženite demon Nginx, da odraža zgoraj narejene spremembe:

# systemctl restart nginx
OR
# service nginx restart

13. Ta naslednji korak je varnostna neobvezna funkcija in pomeni spremembo omrežne vtičnice, ki jo posluša aplikacija Odoo, in spreminjanje vezavnega naslova iz vseh vmesnikov (ali naslova) na localhost.

To spremembo je treba izvesti le v povezavi z obratnim strežnikom Nginx, ker vezava aplikacije na localhost pomeni le, da Odoo ne bo dostopen uporabnikom znotraj LAN-a ali drugih omrežij.

Če želite aktivirati to spremembo, odprite datoteko /etc/odoo/openerp-server.conf in uredite vrstico xmlrpc_interface , da se povežete na localhost samo, kot je predlagano na spodnjem posnetku zaslona.

xmlrpc_interface = 127.0.0.1

Če želite upoštevati spremembe, znova zaženite storitev Odoo z zagonom spodnjega ukaza:

# systemctl restart odoo.service
OR
# service odoo restart

14. Če ima vaša naprava omrežno obrambno črto, ki jo zagotavlja požarni zid, izdajte naslednje ukaze, da odprete vrata požarnega zidu zunanjemu svetu za proxy 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. To je to! Zdaj lahko uspešno dostopate do svoje aplikacije ERP Odoo, tako da obiščete naslov IP strežnika ali ime domene.

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

16. Če želite samodejno zagnati storitve po ponovnem zagonu sistema, izdajte naslednji ukaz, da omogočite vse demone po celotnem sistemu z enim samim strelom.

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

OPOMBA: Za poročila PDF morate ročno prenesti in namestiti binarne pakete wkhtmltopdf za lastno distribucijo, tako da obiščete naslednjo povezavo Namesti wkhtmltopdf za pretvorbo strani HTML v PDF.