OpenERP (Odoo) 9 mat Nginx op RHEL/CentOS an Debian/Ubuntu opsetzen


Odoo, fréier bekannt als OpenERP, ass eng Open Source Enterprise Resource Planning ERP Webbaséiert Geschäftssoftware geschriwwen am Python déi mat enger Suite vu Webapps fir all Geschäft entworf kënnt, wéi Websäit Builder, eCommerce Moduler, Billing a Comptabilitéit, Human Resources, Point of Sale, Clientsrelatiounsmanagement, Inventarmodul, Live Chat a vill aner Apps a Funktiounen.

Dësen Tutorial wäert Iech guidéieren wéi Dir déi lescht stabil Versioun vun Odoo (Versioun 9) op engem RHEL/CentOS/Fedora oder Debian/Ubuntu baséiert Systemer mat Nginx Server installéiert fir als Reverse Proxy am Frontend ze handelen fir Zougang zum Web ze kréien Interface méi séier, sécher a vu Standard Web Surfen Häfen, ouni de Besoin d'Benotzer ze belaaschten Browser Viruleedung Häfen ze benotzen.

Schrëtt 1: Installéieren a sécheren PostgreSQL Datebank

1. Ier Dir ufänkt mat der Odoo Installatioun virzegoen, vergewëssert Iech als éischt datt Äre System mat Pakete verschéckt gëtt vun Epel Repositories fir d'Backend PostgreSQL Datebank z'installéieren.

Gitt och sécher datt de Server aktuell ass mat de leschte Sécherheetspakete a Patches andeems Dir déi folgend Kommandoen ausstellt:

----------- 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. Als nächst gitt weider an installéiert PostgreSQL Datebankserver, dat ass d'Standarddatenbank déi vun Odoo benotzt gëtt fir Informatioun ze späicheren.

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

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

Initialiséiere PostgreSQL Datebank.

# postgresql-setup initdb	

Elo endlech d'PostgreSQL-Datebank unzefänken andeems Dir de folgende Kommando ausgitt:

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

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

Als zousätzlech Schrëtt fir de PostgreSQL Standard Benotzer ze sécheren, deen en eidel Passwuert huet, gitt de Kommando ënnen mat Root Privilegien fir d'Passwuert z'änneren:

sudo -u postgres psql
postgres=# \password postgres

Schrëtt 2: Installéiert Odoo 9 - OpenERP

3. Fir Odoo 9 vum offiziellen Repository z'installéieren, erstellt als éischt nei yum Repository Datei fir Odoo mat dem folgenden Inhalt:

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

Füügt de folgenden Auszuch an de Fichier 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

Op Debian/Ubuntu gitt de folgende Kommando fir d'Odoo Repositories ze addéieren:

# 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. Nächst installéiert Odoo 9 Software aus binären.

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

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

Als nächst, start et a kontrolléiert den Daemonstatus andeems Dir déi folgend Kommandoen ausgëtt:

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

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

Als zousätzleche Schrëtt kënnt Dir den Odoo Service Nolauschterport verifizéieren andeems Dir den ss oder netstat Kommando ausféiert:

# ss -tulpn
OR
# netstat -tulpn

Par défaut lauschtert Odoo no Netzwierkverbindungen um Hafen 8069/TCP.

Schrëtt 3: Odoo vum Web Interface konfiguréieren

5. Fir Odoo weider ze konfiguréieren e Browser ze brennen an Zougang zu Odoo Web Interface op der folgender URI:

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

6. Als nächst sidd Dir gefuerdert fir eng nei Datebank fir Odoo ze kreéieren an e staarkt Passwuert fir Admin Kont ze setzen.

7. Wann d'Datebank erstallt gouf, gitt Dir op d'Administratiounswebpanel ëmgeleet, wou Dir weider Uwendungen installéiere kënnt an Är ERP konfiguréieren. Fir de Moment verloosst d'Applikatioun als Standard a loggt aus.

8. Eemol zréck op de Loginbildschierm, klickt op Manage Databases Link a Setzt e Master Passwuert fir den Odoo Datebank Manager ze sécheren.

9. Wann Dir den Odoo-Datebankmanager geséchert hutt, kënnt Dir op Är Applikatioun aloggen an ufänken se weider mat Ären erfuerderlechen Apps an Astellungen ze konfiguréieren.

Schrëtt 4: Zougang Odoo vum Nginx Frontend

Dir kënnt de System konfiguréieren sou datt d'Benotzer Zougang zu Odoo Web Panel iwwer Nginx Reverse Proxy kréien. Dëst kann d'Benotzer erliichteren fir Odoo Web Interface méi séier ze navigéieren, wéinst e puer Nginx Frontend Caching, op Standard HTTP Ports ouni d'Notzung fir den http Port 8069 manuell op hire Browser anzeginn.

Fir dës Astellung als éischt ze konfiguréieren musst Dir Nginx op Ärem System installéieren an konfiguréieren andeems Dir déi folgend Schrëtt ausgitt.

10. Installéiere fir d'éischt den Nginx Webserver mam folgendem Kommando:

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

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

11. Als nächst, öffnen d'Nginx Haaptkonfiguratiounsdatei mat engem Texteditor an setzt de folgende Block no der Linn an, déi den Nginx Dokument Root Standort spezifizéiert.

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

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

Füügt de folgende Konfiguratiounsauszuch op nginx.conf Datei:

 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;

Kommentéiert och Nginx Location Ausso andeems Dir e # virun de folgende Linnen setzt. Benotzt de Screenshot hei ënnen als Guide.

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

12. Nodeems Dir all déi uewe genannte Ännerunge gemaach hutt, nei starten den Nginx Daemon awer net ier Dir getenforce Kommando leeft fir ze kontrolléieren ob Selinux op Ärer Maschinn aktivéiert ass.

Am Fall wou d'Politik op Enforced gesat ass, deaktivéiert se andeems Dir déi folgend Kommandoen ausgëtt:

# setenforce 0
# getenforce

Fir Selinux komplett auszeschalten, öffnen /etc/selinux/config Datei mat engem Texteditor a setzt d'Linn SELINUX op deaktivéiert.

Wann Dir Seliux Politik net komplett auszeschalten wëllt a just d'Regele wëllt relaxen fir den Nginx Proxy mat permissiven Zougang zum Netzsocket ze ginn, fuert de folgende Kommando:

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

Da start den Nginx Daemon nei fir d'Ännerungen hei uewen ze reflektéieren:

# systemctl restart nginx
OR
# service nginx restart

13. Dësen nächste Schrëtt ass eng Sécherheet fakultativ Fonktioun an implizéiert d'Ännerung vun der Reseau Socket datt Odoo Applikatioun lauschtert, Ännerung vun der verbindlecher Adress vun all Schnëttplazen (oder Adress) nëmmen localhost.

Dës Ännerung muss nëmmen a Verbindung mat Nginx Reverse Proxy gemaach ginn wéinst der Tatsaach datt d'Verbindung vun der Applikatioun op localhost nëmmen implizéiert datt Odoo net vu Benotzer am LAN oder aner Netzwierker zougänglech ass.

Fir dës Ännerung ze aktivéieren, öffnen /etc/odoo/openerp-server.conf Datei an editéiert xmlrpc_interface Linn fir nëmmen op localhost ze binden, wéi am Screenshot hei ënnen proposéiert.

xmlrpc_interface = 127.0.0.1

Fir Ännerungen ze reflektéieren, start den Odoo Service nei andeems Dir de folgende Kommando ausféiert:

# systemctl restart odoo.service
OR
# service odoo restart

14. Am Fall wou Är Maschinn eng Netzwierkverteidegungslinn huet, déi vun der Firewall geliwwert gëtt, gitt déi folgend Befehle fir Firewall Ports op d'Äussewelt opzemaachen fir 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. Dat ass et! Elo kënnt Dir erfollegräich Zougang zu Ärer ERP Odoo Applikatioun andeems Dir Är Server IP Adress oder Domain Numm besicht.

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

16. Fir automatesch d'Servicer no engem System Restart auszeféieren, gitt de folgende Kommando fir all d'Dämonen systemwäit mat engem Shot z'aktivéieren.

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

NOTÉIERT: Fir PDF Berichter musst Dir wkhtmltopdf binär Pakete fir Är eege Verdeelung manuell eroflueden an installéieren andeems Dir de folgende Link besicht Installéiert wkhtmltopdf fir HTML Säit op PDF ze konvertéieren.