Postavljanje OpenERP-a (Odoo) 9 s Nginxom na RHEL/CentOS i Debian/Ubuntu


Odoo, ranije poznat kao OpenERP, je ERP poslovni softver otvorenog koda za planiranje resursa poduzeća na webu napisan u Pythonu koji dolazi s paketom web aplikacije dizajnirane za svaku tvrtku, kao što su alati za izradu web stranica, moduli e-trgovine, naplata i računovodstvo, ljudski resursi, prodajno mjesto, upravljanje odnosima s kupcima, modul inventara, chat uživo i mnoge druge aplikacije i značajke.

Ovaj vodič će vas uputiti kako instalirati najnoviju stabilnu verziju Odoo (verzija 9) na RHEL/CentOS/Fedora ili < jaki>Debian/Ubuntu sustavi s Nginx poslužiteljem koji djeluje kao obrnuti proxy u sučelju kako bi se pristupilo web sučelju brže, sigurnije i sa standardnih portova za pregledavanje weba, bez potrebe za opterećuju korisnike da koriste portove za preusmjeravanje preglednika.

Korak 1: Instalirajte i osigurajte PostgreSQL bazu podataka

1. Prije nego što počnete s instalacijom Odoo prvo provjerite je li vaš sustav isporučen s paketima koje pružaju Epel repozitoriji kako biste instalirali pozadinsku bazu podataka PostgreSQL .

Također provjerite je li poslužitelj ažuriran s najnovijim sigurnosnim paketima i zakrpama izdavanjem naredbi u nastavku:

----------- 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, samo naprijed i instalirajte PostgreSQL poslužitelj baze podataka, koji je zadana baza podataka koju koristi Odoo 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 naredbu ispod s root privilegijama kako biste promijenili lozinku:

sudo -u postgres psql
postgres=# \password postgres

Korak 2: Instalirajte Odoo 9 – OpenERP

3. Kako biste instalirali Odoo 9 iz službenog repozitorija, prvo kreirajte novu datoteku yum repozitorija za Odoo sa sljedećim sadržajem:

Na CentOS/RHEL sustavima

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

Dodajte sljedeći izvadak 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 sustavima

Na Debian/Ubuntu izdajte sljedeću naredbu za dodavanje Odoo repozitorija:

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. Zatim 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 naredbi u nastavku:

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

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

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

ss -tulpn
OR
netstat -tulpn

Prema zadanim postavkama, Odoo osluškuje mrežne veze na portu 8069/TCP.

Korak 3: Konfigurirajte Odoo iz web sučelja

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

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

6. Zatim ćete biti upitani da napravite novu bazu podataka za Odoo i postavite snažnu lozinku za administratorski račun.

7. Nakon što je baza podataka kreirana bit ćete preusmjereni na administrativnu web ploču 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, pritisnite vezu Upravljanje bazama podataka i postavite glavnu lozinku kako biste osigurali Odoo upravitelj baze podataka.

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

Korak 4: Pristupite Odoou s Nginx sučelja

Sustav možete konfigurirati tako da korisnici mogu pristupiti Odoo web panelu putem Nginx obrnutog proxyja. Ovo može olakšati korisnicima bržu navigaciju Odoo web sučeljem, zbog predmemoriranja sučelja Nginxa, na standardnim HTTP priključcima bez potrebe za ručnim unosom http priključnice 8069 na njihovim preglednicima .

Kako biste konfigurirali ovu postavku prvo trebate instalirati i konfigurirati Nginx na vašem sustavu slijedeći sljedeće korake.

10. Prvo instalirajte web poslužitelj Nginx 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 s uređivačem teksta i umetnite sljedeći blok nakon retka koji navodi 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 konfiguracijski izvadak 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, komentirajte izjavu Nginx location postavljanjem # ispred sljedećih redaka. Koristite donju snimku zaslona 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 napravite sve gore navedene promjene, ponovno pokrenite Nginx demon, ali ne prije nego što pokrenete naredbu getenforce da provjerite je li Selinux omogućen na vaš stroj.

Na CentOS/RHEL sustavima

U slučaju da je pravilo postavljeno na Nametnuto, onemogućite ga izdavanjem naredbi u nastavku:

setenforce 0
getenforce

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

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

setsebool httpd_can_network_connect on -P
getsebool -a | grep httpd 

Zatim ponovno pokrenite Nginx demon kako bi odražavao gore učinjene promjene:

systemctl restart nginx
OR
service nginx restart

13. Ovaj sljedeći korak je sigurnosna izborna značajka i podrazumijeva promjenu mrežne utičnice koju aplikacija Odoo sluša, mijenjajući adresu povezivanja sa svih sučelja (ili adrese) na samo lokalni host.

Ova se promjena mora izvršiti samo u kombinaciji s Nginx obrnutim proxyjem zbog činjenice da vezanje aplikacije na localhost samo implicira da Odoo neće biti dostupan korisnicima unutar LAN-a ili drugih mreža.

Kako biste aktivirali ovu promjenu, otvorite datoteku /etc/odoo/openerp-server.conf i uredite redak xmlrpc_interface za vezanje samo na lokalnom hostu kao što je predloženo na slici ispod.

xmlrpc_interface = 127.0.0.1

Kako biste odrazili promjene, ponovno pokrenite uslugu Odoo pokretanjem donje naredbe:

systemctl restart odoo.service
OR
service odoo restart

14. U slučaju da vaše računalo ima liniju obrane mreže koju pruža vatrozid, izdajte sljedeće naredbe kako biste otvorili portove vatrozida 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 svojoj ERP Odoo aplikaciji posjetom IP adrese ili naziva domene vašeg poslužitelja.

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

16. Kako biste automatski pokrenuli usluge nakon ponovnog pokretanja sustava, izdajte sljedeću naredbu da omogućite sve demone u cijelom sustavu 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šća morate ručno preuzeti i instalirati wkhtmltopdf binarne pakete za vlastitu distribuciju tako da posjetite sljedeću vezu Instalirajte wkhtmltopdf za pretvaranje HTML stranice u PDF.