Postavljanje OpenERP (Odoo) 9 sa Nginxom na RHEL/CentOS i Debian/Ubuntu


Odoo, ranije poznat kao OpenERP, je Open Source Enterprise Resource Planning ERP web baziran poslovni softver napisan na Python-u koji dolazi s paketom weba aplikacije dizajnirane za svako poslovanje, kao što su graditelji web stranica, moduli e-trgovine, naplata i računovodstvo, ljudski resursi, prodajno mjesto, upravljanje odnosima s kupcima, modul zaliha, chat uživo i mnoge druge aplikacije i funkcije.

Ovaj vodič će vas uputiti kako da instalirate najnoviju stabilnu verziju Odoo (verzija 9) na RHEL/CentOS/Fedora ili < jaki>Debian/Ubuntu sistemi sa Nginx serverom koji će djelovati kao obrnuti proxy u frontendu kako bi se brže, bezbednije i sa standardnih portova za pretraživanje weba pristupilo web sučelju, bez potrebe za opterećuju korisnike da koriste portove za preusmjeravanje pretraživača.

Korak 1: Instalirajte i osigurajte PostgreSQL bazu podataka

1. Prije nego što počnete s Odoo instalacijom, prvo se uvjerite da vaš sistem isporučuje pakete koje obezbjeđuje Epel repozitorijuma kako biste instalirali pozadinsku PostgreSQL bazu podataka .

Također provjerite je li server ažuriran sa najnovijim sigurnosnim paketima i zakrpama tako što ćete izdati sljedeće naredbe:

----------- 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. Zatim nastavite i instalirajte PostgreSQL server baze podataka, koji je zadana baza podataka koju Odoo koristi za pohranjivanje informacija.

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

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

Inicijalizirajte PostgreSQL bazu podataka.

postgresql-setup initdb	

Sada konačno pokrenite PostgreSQL bazu podataka izdavanjem donje naredbe:

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

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

Kao dodatni korak za osiguranje PostgreSQL zadanog korisnika, koji ima praznu lozinku, izdajte donju naredbu s root privilegijama kako biste promijenili lozinku:

sudo -u postgres psql
postgres=# \password postgres

Korak 2: Instalirajte Odoo 9 – OpenERP

3. Da biste instalirali Odoo 9 iz zvaničnog spremišta, prvo kreirajte novi fajl yum spremišta za Odoo sa sljedećim sadržajem:

Na CentOS/RHEL sistemima

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

Dodajte sljedeći izvod u datoteku 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 sistemima

Na Debian/Ubuntu izdajte sljedeću naredbu za dodavanje Odoo spremišta:

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. Sljedeće instalirajte softver Odoo 9 iz binarnih datoteka.

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

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

Zatim ga pokrenite i provjerite status demona izdavanjem sljedećih naredbi:

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

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

Kao dodatni korak možete provjeriti port za slušanje usluge Odoo pokretanjem naredbe ss ili netstat:

ss -tulpn
OR
netstat -tulpn

Podrazumevano, Odoo osluškuje mrežne veze na portu 8069/TCP.

Korak 3: Konfigurirajte Odoo iz web sučelja

5. Da biste konfigurirali Odoo dalje, pokrenite preglednik i pristupite Odoo web sučelju na sljedećem URI-ju:

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

6. Zatim će se od vas tražiti da kreirate novu bazu podataka za Odoo i postavite jaku lozinku za administratorski račun.

7. Nakon što je baza podataka kreirana, bit ćete preusmjereni na administrativni web panel gdje možete dalje instalirati aplikacije i konfigurirati svoj ERP. Za sada ostavite aplikaciju kao zadanu i odjavite se.

8. Kada se vratite na ekran za prijavu, kliknite na link Upravljanje bazama podataka i Postavite glavnu lozinku kako biste osigurali Odoo upravitelja baze podataka.

9. Nakon što ste osigurali Odoo menadžer baze podataka, možete se prijaviti na svoju aplikaciju i početi je dalje konfigurirati sa vašim potrebnim aplikacijama i postavkama.

Korak 4: Pristupite Odoo-u sa Nginx Frontenda

Možete konfigurirati sistem tako da korisnici mogu pristupiti Odoo web panelu putem Nginx obrnutog proxyja. Ovo može olakšati korisnicima bržu navigaciju kroz Odoo web sučelje, zbog određenog Nginx frontend keširanja, na standardnim HTTP portovima bez potrebe da ručno unose http port 8069 na svojim pretraživačima .

Da biste prvo konfigurirali ovu postavku, morate instalirati i konfigurirati Nginx na svom sistemu tako što ćete izvršiti sljedeće korake.

10. Prvo instalirajte Nginx web server sa sljedećom naredbom:

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

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

11. Zatim otvorite Nginx glavnu konfiguracijsku datoteku pomoću uređivača teksta i umetnite sljedeći blok iza reda koji specificira korijensku lokaciju Nginx dokumenta.

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

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

Dodajte sljedeći izvod konfiguracije u datoteku 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;

Također, komentarišite Nginx location izjavu tako što ćete staviti # ispred sljedećih redova. Koristite snimak ekrana ispod kao vodič.

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

12. Nakon što izvršite sve gore navedene promjene, ponovo pokrenite Nginx demon, ali ne prije nego što pokrenete naredbu getenforce da provjerite da li je Selinux uključen na vašu mašinu.

Na CentOS/RHEL sistemima

U slučaju da je pravilo postavljeno na Enforced onemogućite ga izdavanjem sljedećih naredbi:

setenforce 0
getenforce

Da biste potpuno onemogućili Selinux, otvorite datoteku /etc/selinux/config u uređivaču teksta i postavite red SELINUX na onemogućeno.

Ako ne želite potpuno onemogućiti Seliux politiku i samo želite ublažiti pravila kako biste Nginx proxyju odobrili dopušteni pristup mrežnoj utičnici, pokrenite sljedeću naredbu:

setsebool httpd_can_network_connect on -P
getsebool -a | grep httpd 

Zatim ponovo pokrenite Nginx demon da odražava gore napravljene promjene:

systemctl restart nginx
OR
service nginx restart

13. Ovaj sljedeći korak je sigurnosna opciona funkcija i podrazumijeva promjenu mrežne utičnice koju Odoo aplikacija sluša, mijenjajući vezujuće adresu sa svih interfejsa (ili adrese) u samo lokalni host.

Ova promjena mora biti učinjena samo u kombinaciji s Nginx reverse proxyjem zbog činjenice da vezivanje aplikacije na localhost samo implicira da Odoo neće biti dostupan korisnicima unutar LAN-a ili drugih mreža.

Da biste aktivirali ovu promjenu, otvorite datoteku /etc/odoo/openerp-server.conf i uredite liniju xmlrpc_interface da se veže samo na lokalnom hostu kao što je predloženo na snimku ekrana ispod.

xmlrpc_interface = 127.0.0.1

Da biste odrazili promjene, ponovo pokrenite Odoo servis pokretanjem donje naredbe:

systemctl restart odoo.service
OR
service odoo restart

14. U slučaju da vaša mašina ima liniju za odbranu mreže koju obezbjeđuje zaštitni zid, izdajte sljedeće komande kako biste otvorili portove zaštitnog zida prema vanjskom svijetu za 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. To je to! Sada možete uspješno pristupiti vašoj ERP Odoo aplikaciji posjetom IP adrese vašeg servera ili imena domene.

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

16. Da biste automatski pokrenuli usluge nakon ponovnog pokretanja sistema, izdajte sljedeću naredbu da omogućite sve demone u cijelom sistemu jednim udarcem.

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

NAPOMENA: Za PDF izvještaje, morate ručno preuzeti i instalirati wkhtmltopdf binarne pakete za vlastitu distribuciju tako što ćete posjetiti sljedeću vezu Instalirajte wkhtmltopdf da biste pretvorili HTML stranicu u PDF.