Opsætning af OpenERP (Odoo) 9 med Nginx på RHEL/CentOS og Debian/Ubuntu


Odoo, tidligere kendt som OpenERP, er en open source Enterprise Resource Planning ERP-webbaseret forretningssoftware skrevet i Python, der leveres med en række webapps designet til enhver virksomhed, såsom webstedsbyggere, e-handelsmoduler, fakturering og regnskab, menneskelige ressourcer, Salgssted, Customer Relationship Management, Lagermodul, Live Chat og mange andre apps og funktioner.

Denne vejledning guider dig om, hvordan du installerer den nyeste stabile version af Odoo (version 9) på en RHEL/CentOS/Fedora eller Debian/Ubuntu-baserede systemer med Nginx-server til at fungere som en omvendt proxy i frontend for at få adgang til internettet grænseflade hurtigere, sikkert og fra standard-browsing-porte uden behov for at belaste brugerne til at bruge browseromdirigeringsporte.

Trin 1: Installer og sikr PostgreSQL-database

1. Før du begynder med Odoo-installationen, skal du først sikre dig, at dit system leveres med pakker leveret af Epel-arkiver for at installere backend PostgreSQL-databasen.

Sørg også for, at serveren er opdateret med de nyeste sikkerhedspakker og programrettelser ved at udstede nedenstående kommandoer:

----------- 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. Dernæst skal du installere PostgreSQL-databaseserver, som er standarddatabasen, der bruges af Odoo til at gemme information.

----------- 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 endelig PostgreSQL-databasen ved at udstede nedenstående kommando:

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

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

Som et yderligere trin for at sikre PostgreSQL-standardbruger, som har en tom adgangskode, skal du udstede nedenstående kommando med rodrettigheder for at ændre adgangskoden:

sudo -u postgres psql
postgres=# \password postgres

Trin 2: Installer Odoo 9 - OpenERP

3. For at installere Odoo 9 fra det officielle arkiv skal du først oprette en ny yum-arkivfil til Odoo med følgende indhold:

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

Føj følgende uddrag 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

På Debian/Ubuntu udsted følgende kommando for at tilføje Odoo-arkiverne:

# 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 derefter Odoo 9-softwaren fra binære filer.

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

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

Derefter skal du starte den og kontrollere dæmonstatus ved at udstede nedenstående kommandoer:

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

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

Som et yderligere trin kan du bekræfte Odoo-tjenestens lytteport ved at køre kommandoen ss eller netstat:

# ss -tulpn
OR
# netstat -tulpn

Som standard lytter Odoo til netværksforbindelser på port 8069/TCP.

Trin 3: Konfigurer Odoo fra webgrænsefladen

5. For at konfigurere Odoo skal du yderligere starte en browser og få adgang til Odoo-webgrænsefladen ved følgende URI:

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

6. Derefter bliver du bedt om at oprette en ny database til Odoo og indstille en stærk adgangskode til admin-konto.

7. Når databasen er oprettet, omdirigeres du til administrationswebpanelet, hvor du yderligere kan installere applikationer og konfigurere din ERP. Forlad for øjeblikket applikationen som standard og log ud.

8. Når du er kommet tilbage på loginskærmen, skal du trykke på linket Administrer databaser og indstille en hovedadgangskode for at sikre Odoo-databasesystemet.

9. Når du har sikret Odoo database manager, kan du logge ind på din applikation og begynde at konfigurere den yderligere med dine nødvendige apps og indstillinger.

Trin 4: Få adgang til Odoo fra Nginx Frontend

Du kan konfigurere systemet, så brugerne kan få adgang til Odoo webpanel via Nginx reverse proxy. Dette kan gøre det lettere for brugerne at navigere hurtigere på Odoo-webgrænsefladen på grund af nogle Nginx-frontend-caching på standard HTTP-porte uden behov for manuelt at indtaste http-port 8069 i deres browsere.

For at konfigurere denne indstilling skal du først installere og konfigurere Nginx på dit system ved at udstede følgende trin.

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. Åbn derefter Nginx hovedkonfigurationsfil med en teksteditor, og indsæt følgende blok efter linjen, der angiver Nginx-dokumentets rodplacering.

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

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

Tilføj følgende konfigurationsuddrag til nginx.conf -fil:

 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 placering udsagn ved at placere et # foran de følgende linjer. Brug nedenstående skærmbillede som en vejledning.

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

12. Når du har foretaget alle ovennævnte ændringer, skal du genstarte Nginx-dæmonen, men ikke før du kører getenforce -kommandoen for at kontrollere, om Selinux er aktiveret på din maskine.

Hvis politikken er indstillet til Enced deaktiver den ved at udstede nedenstående kommandoer:

# setenforce 0
# getenforce

For at deaktivere Selinux fuldstændigt skal du åbne /etc/selinux/config -fil med en teksteditor og indstille linjen SELINUX til deaktiveret.

Hvis du ikke vil deaktivere Seliux-politikken fuldstændigt og bare vil lempe reglerne for at give Nginx-proxy med tilladelig adgang til netværksstik, kør følgende kommando:

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

Genstart derefter Nginx-dæmonen for at afspejle ovenstående ændringer:

# systemctl restart nginx
OR
# service nginx restart

13. Dette næste trin er en sikkerhedsudstyrsfunktion og indebærer ændring af netværksstikket, som Odoo-applikationen lytter, og ændrer bindingsadressen fra alle grænseflader (eller adresse) til kun localhost.

Denne ændring skal kun udføres i forbindelse med Nginx omvendt proxy på grund af det faktum, at binding af applikationen på localhost kun indebærer, at Odoo ikke vil være tilgængelig fra brugere inden for LAN eller andre netværk.

For at aktivere denne ændring skal du åbne /etc/odoo/openerp-server.conf filen og redigere xmlrpc_interface linje for kun at binde på localhost som foreslået på nedenstående skærmbillede.

xmlrpc_interface = 127.0.0.1

For at afspejle ændringer genstart Odoo-tjenesten ved at køre nedenstående kommando:

# systemctl restart odoo.service
OR
# service odoo restart

14. Hvis din maskine har en netværksforsvarslinje leveret af firewallen, skal du udstede følgende kommandoer for at åbne firewall-porte til omverdenen til 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! Nu kan du med succes få adgang til din ERP Odoo-applikation ved at besøge serverens IP-adresse eller domænenavn.

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

16. For at køre tjenesterne automatisk efter en systemstart skal du udstede følgende kommando for at aktivere alle dæmoner hele systemet med et skud.

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

BEMÆRK: For PDF-rapporter skal du manuelt downloade og installere wkhtmltopdf binære pakker til din egen distribution ved at besøge følgende link Installer wkhtmltopdf for at konvertere HTML-side til PDF.