Sette opp OpenERP (Odoo) 9 med Nginx på RHEL/CentOS og Debian/Ubuntu


Odoo, tidligere kjent som OpenERP, er en åpen kildekode Enterprise Resource Planning ERP nettbasert forretningsprogramvare skrevet i Python som kommer med en pakke med nettapper designet for enhver bedrift, for eksempel nettstedbyggere, e-handelsmoduler, fakturering og regnskap, menneskelige ressurser, Salgssted, Customer Relationship Management, Inventory Module, Live Chat og mange andre apper og funksjoner.

Denne opplæringen vil veilede deg om hvordan du installerer den siste stabile versjonen av Odoo (versjon 9) på et RHEL/CentOS/Fedora eller Debian/Ubuntu-baserte systemer med Nginx-server for å fungere som en omvendt proxy i frontend for å få tilgang til nettet grensesnitt raskere, sikkert og fra standard nettlesingsporter, uten å måtte belaste brukerne for å bruke nettleseromdirigeringsporter.

Trinn 1: Installer og sikre PostgreSQL-databasen

1. Før du begynner å fortsette med Odoo-installasjonen, må du først forsikre deg om at systemet ditt leveres med pakker levert av Epel-repositories for å installere backend-postgreSQL-databasen.

Sørg også for at serveren er oppdatert med de nyeste sikkerhetspakkene og oppdateringene ved å utstede kommandoene nedenfor:

----------- 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. Deretter fortsett og installer PostgreSQL-databaseserveren, som er standarddatabasen som brukes av Odoo til å lagre informasjon.

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

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

Initialiser PostgreSQL-databasen.

# postgresql-setup initdb	

Start nå endelig PostgreSQL-databasen ved å gi kommandoen nedenfor:

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

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

Som et ekstra trinn for å sikre PostgreSQL standardbruker, som har et tomt passord, utsted kommandoen nedenfor med root-privilegier for å endre passordet:

sudo -u postgres psql
postgres=# \password postgres

Trinn 2: Installer Odoo 9 – OpenERP

3. For å installere Odoo 9 fra det offisielle depotet, må du først opprette en ny yum-depotfil for Odoo med følgende innhold:

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

Legg til følgende utdrag til filen 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

Utfør følgende kommando på Debian/Ubuntu for å legge til Odoo-lagrene:

# 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. Installer deretter Odoo 9-programvaren fra binærfiler.

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

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

Deretter starter du den og kontrollerer demonstatus ved å utstede kommandoene nedenfor:

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

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

Som et ekstra trinn kan du bekrefte Odoo-tjenestens lytteport ved å kjøre kommandoen ss eller netstat:

# ss -tulpn
OR
# netstat -tulpn

Som standard lytter Odoo etter nettverkstilkoblinger på port 8069/TCP.

Trinn 3: Konfigurer Odoo fra webgrensesnitt

5. For å konfigurere Odoo kan du starte en nettleser og få tilgang til Odoo-nettgrensesnittet på følgende URI:

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

6. Deretter vil du bli bedt om å opprette en ny database for Odoo og angi et sterkt passord for admin-kontoen.

7. Når databasen er opprettet, vil du bli omdirigert til administrasjonswebpanelet hvor du kan installere applikasjoner og konfigurere ERP-en din. For øyeblikket la applikasjonen være standard og logg ut.

8. Når du kommer tilbake til påloggingsskjermen, klikker du på koblingen Administrer databaser og setter et hovedpassord for å sikre Odoo-databasebehandlingen.

9. Når du har sikret Odoo-databasebehandlingen, kan du logge på applikasjonen din og begynne å konfigurere den videre med de nødvendige appene og innstillingene.

Trinn 4: Få tilgang til Odoo fra Nginx Frontend

Du kan konfigurere systemet slik at brukere kan få tilgang til Odoo-nettpanelet via Nginx omvendt proxy. Dette kan gjøre det lettere for brukere å navigere i Odoo-nettgrensesnittet raskere, på grunn av noe Nginx-grensesnittbufring, på standard HTTP-porter uten å måtte legge inn http-port 8069 manuelt på nettleserne deres.

For å konfigurere denne innstillingen må du først installere og konfigurere Nginx på systemet ditt ved å utstede følgende trinn.

10. Installer først Nginx webserver med følgende kommando:

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

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

11. Deretter åpner du Nginx hovedkonfigurasjonsfil med et tekstredigeringsprogram og setter inn følgende blokk etter linjen som spesifiserer Nginx-dokumentets rotplassering.

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

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

Legg til følgende konfigurasjonsutdrag til filen 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;

Kommenter også Nginx location-setning ved å plassere et # foran de følgende linjene. Bruk skjermbildet nedenfor som en veiledning.

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

12. Etter at du har gjort alle endringene ovenfor, start Nginx daemon på nytt, men ikke før du kjører kommandoen getenforce for å sjekke om Selinux er aktivert på maskinen din.

Hvis policyen er satt til Enforced, deaktiver den ved å utstede kommandoene nedenfor:

# setenforce 0
# getenforce

For å deaktivere Selinux fullstendig, åpne /etc/selinux/config-filen med et tekstredigeringsprogram og sett linjen SELINUX til deaktivert.

Hvis du ikke vil deaktivere Seliux-policyen fullstendig og bare vil lempe på reglene for å gi Nginx-proxy med permissive tilgang til nettverkskontakten, kjør følgende kommando:

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

Start deretter Nginx daemon på nytt for å gjenspeile endringene som er gjort ovenfor:

# systemctl restart nginx
OR
# service nginx restart

13. Dette neste trinnet er en valgfri sikkerhetsfunksjon og innebærer endring av nettverkskontakten som Odoo-applikasjonen lytter til, og endrer bindingsadressen fra alle grensesnitt (eller adresse) til kun lokalvert.

Denne endringen må bare gjøres i forbindelse med Nginx omvendt proxy på grunn av det faktum at binding av applikasjonen på localhost bare innebærer at Odoo ikke vil være tilgjengelig fra brukere innenfor LAN eller andre nettverk.

For å aktivere denne endringen, åpne /etc/odoo/openerp-server.conf-filen og rediger xmlrpc_interface-linjen for å binde på localhost bare som foreslått på skjermbildet nedenfor.

xmlrpc_interface = 127.0.0.1

For å reflektere endringer start Odoo-tjenesten på nytt ved å kjøre kommandoen nedenfor:

# systemctl restart odoo.service
OR
# service odoo restart

14. I tilfelle maskinen din har en nettverksforsvarslinje levert av brannmuren, utfør følgende kommandoer for å åpne brannmurporter til omverdenen for 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. Det er det! Nå kan du få tilgang til ERP Odoo-applikasjonen din ved å besøke serverens IP-adresse eller domenenavn.

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

16. For å kjøre tjenestene automatisk etter en omstart av systemet, utfør følgende kommando for å aktivere alle demonene i hele systemet med ett skudd.

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

MERK: For PDF-rapporter må du manuelt laste ned og installere wkhtmltopdf binære pakker for din egen distribusjon ved å besøke følgende lenke Installer wkhtmltopdf for å konvertere HTML-side til PDF.