Zoeken op website

OpenERP (Odoo) 9 instellen met Nginx op RHEL/CentOS en Debian/Ubuntu


Odoo, voorheen bekend als OpenERP, is Open Source Enterprise Resource Planning ERP-webgebaseerde bedrijfssoftware geschreven in Python en wordt geleverd met een pakket webgebaseerde apps ontworpen voor elk bedrijf, zoals websitebouwers, e-commercemodules, facturering en boekhouding, personeelszaken, verkooppunten, klantrelatiebeheer, voorraadmodule, livechat en vele andere apps en functies.

Deze tutorial zal je begeleiden bij het installeren van de nieuwste stabiele versie van Odoo (versie 9) op een RHEL/CentOS/Fedora of < sterke>Debian/Ubuntu-gebaseerde systemen met een Nginx-server die fungeert als een reverse proxy in de frontend om sneller en veiliger toegang te krijgen tot de webinterface via standaard webbrowserpoorten, zonder de noodzaak om gebruikers belasten met het gebruik van browseromleidingspoorten.

Stap 1: Installeer en beveilig de PostgreSQL-database

1. Voordat u doorgaat met de installatie van Odoo, moet u er eerst voor zorgen dat uw systeem wordt geleverd met pakketten geleverd door Epel-repository's, zodat u de backend PostgreSQL-database kunt installeren .

Zorg er ook voor dat de server up-to-date is met de nieuwste beveiligingspakketten en patches door de onderstaande opdrachten uit te voeren:

----------- 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. Ga vervolgens verder en installeer de PostgreSQL databaseserver, de standaarddatabase die door Odoo wordt gebruikt om informatie op te slaan.

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

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

Initialiseer de PostgreSQL-database.

postgresql-setup initdb	

Start nu eindelijk de PostgreSQL database door het onderstaande commando uit te voeren:

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

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

Als extra stap om de standaardgebruiker van PostgreSQL, die een leeg wachtwoord heeft, te beveiligen, geeft u het onderstaande commando met rootrechten uit om het wachtwoord te wijzigen:

sudo -u postgres psql
postgres=# \password postgres

Stap 2: Installeer Odoo 9 – OpenERP

3. Om Odoo 9 vanuit de officiële repository te installeren, moet u eerst een nieuw yum-repositorybestand voor Odoo maken met de volgende inhoud:

Op CentOS/RHEL-systemen

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

Voeg het volgende fragment toe aan bestand 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-systemen

Voer op Debian/Ubuntu het volgende commando uit om de Odoo repository's toe te voegen:

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. Installeer vervolgens de Odoo 9-software vanuit binaire bestanden.

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

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

Start het vervolgens en controleer de daemonstatus door de onderstaande opdrachten uit te voeren:

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

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

Als extra stap kunt u de luisterpoort van de Odoo-service verifiëren door het ss- of netstat-commando uit te voeren:

ss -tulpn
OR
netstat -tulpn

Standaard luistert Odoo naar netwerkverbindingen op poort 8069/TCP.

Stap 3: Odoo configureren via de webinterface

5. Om Odoo verder te configureren, start u een browser en krijgt u toegang tot de Odoo-webinterface op de volgende URI:

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

6. Vervolgens wordt u gevraagd een nieuwe database voor Odoo te maken en een sterk wachtwoord in te stellen voor het beheerdersaccount.

7. Zodra de database is aangemaakt, wordt u doorgestuurd naar het beheerwebpaneel waar u applicaties verder kunt installeren en uw ERP kunt configureren. Laat de applicatie voorlopig op de standaardwaarde staan en log uit.

8. Eenmaal terug op het inlogscherm, klikt u op de link Databases beheren en stelt u een hoofdwachtwoord in om de Odoo databasemanager te beveiligen.

9. Zodra u de Odoo databasemanager heeft beveiligd, kunt u inloggen op uw applicatie en deze verder configureren met de door u vereiste apps en instellingen.

Stap 4: Toegang tot Odoo vanaf de Nginx Frontend

U kunt het systeem zo configureren dat gebruikers toegang hebben tot het Odoo-webpaneel via Nginx reverse proxy. Dit kan ervoor zorgen dat gebruikers sneller door de Odoo-webinterface kunnen navigeren, dankzij enige Nginx frontend-caching, op standaard HTTP-poorten zonder de noodzaak om handmatig de http-poort 8069 in hun browser in te voeren .

Om deze instelling te configureren, moet u eerst Nginx op uw systeem installeren en configureren door de volgende stappen uit te voeren.

10. Installeer eerst de Nginx webserver met de volgende opdracht:

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

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

11. Open vervolgens het hoofdconfiguratiebestand van Nginx met een teksteditor en voeg het volgende blok in na de regel die de hoofdlocatie van het Nginx-document specificeert.

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

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

Voeg het volgende configuratiefragment toe aan het bestand 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;

Geef ook commentaar op de Nginx locatie-instructie door een # voor de volgende regels te plaatsen. Gebruik de onderstaande schermafbeelding als richtlijn.

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

12. Nadat u alle bovenstaande wijzigingen heeft aangebracht, start u de Nginx daemon opnieuw, maar niet voordat u de opdracht getenforce uitvoert om te controleren of Selinux is ingeschakeld uw machine.

Op CentOS/RHEL-systemen

Als het beleid is ingesteld op Afgedwongen, schakelt u het uit door de onderstaande opdrachten te geven:

setenforce 0
getenforce

Om Selinux volledig uit te schakelen, opent u het bestand /etc/selinux/config met een teksteditor en stelt u de regel SELINUX in op uitgeschakeld.

Als je het Seliux-beleid niet volledig wilt uitschakelen en alleen de regels wilt versoepelen om de Nginx-proxy toestemming te geven voor toegang tot de netwerksocket, voer je de volgende opdracht uit:

setsebool httpd_can_network_connect on -P
getsebool -a | grep httpd 

Start vervolgens de Nginx-daemon opnieuw op om de hierboven aangebrachte wijzigingen weer te geven:

systemctl restart nginx
OR
service nginx restart

13. Deze volgende stap is een optionele beveiligingsfunctie en impliceert de wijziging van de netwerkaansluiting waarnaar de Odoo-applicatie luistert, waarbij het bindingsadres van alle interfaces (of adres) wordt gewijzigd naar alleen localhost.

Deze wijziging mag alleen worden uitgevoerd in combinatie met de Nginx reverse proxy, omdat het binden van de applicatie op localhost alleen impliceert dat Odoo niet toegankelijk zal zijn voor gebruikers binnen het LAN of andere netwerken.

Om deze wijziging te activeren, opent u het bestand /etc/odoo/openerp-server.conf en bewerkt u de xmlrpc_interface regel om alleen op localhost te binden, zoals voorgesteld in de onderstaande schermafbeelding.

xmlrpc_interface = 127.0.0.1

Om de wijzigingen weer te geven, start u de Odoo-service opnieuw op door de onderstaande opdracht uit te voeren:

systemctl restart odoo.service
OR
service odoo restart

14. Als uw machine een netwerkverdedigingslijn heeft die door de firewall wordt geleverd, voer dan de volgende opdrachten uit om firewallpoorten voor de buitenwereld te openen voor 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 is alles! Nu kunt u met succes toegang krijgen tot uw ERP Odoo-applicatie door het IP-adres of de domeinnaam van uw server te bezoeken.

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

16. Om de services automatisch uit te voeren nadat het systeem opnieuw is opgestart, geeft u de volgende opdracht op om alle daemons in één keer in het hele systeem in te schakelen.

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

OPMERKING: Voor PDF-rapporten moet u handmatig de binaire pakketten wkhtmltopdf downloaden en installeren voor uw eigen distributie door naar de volgende link te gaan. Installeer wkhtmltopdf om HTML-pagina naar PDF te converteren.