Vyhledávání na webu

Nastavení OpenERP (Odoo) 9 s Nginx na RHEL/CentOS a Debian/Ubuntu


Odoo, dříve známý jako OpenERP, je Open Source Enterprise Resource Planning webový obchodní software ERP napsaný v Pythonu, který je dodáván se sadou webových aplikací. aplikace navržené pro každou firmu, jako jsou tvůrci webových stránek, moduly elektronického obchodu, fakturace a účetnictví, lidské zdroje, prodejní místo, správa vztahů se zákazníky, modul inventáře, živý chat a mnoho dalších aplikací a funkcí.

Tento tutoriál vás provede instalací nejnovější stabilní verze Odoo (verze 9) na RHEL/CentOS/Fedora nebo systémy založené na Debian/Ubuntu se serverem Nginx, který funguje jako reverzní proxy ve frontendu, aby bylo možné přistupovat k webovému rozhraní rychleji, bezpečněji a ze standardních portů pro procházení webu, aniž by bylo nutné zatěžovat uživatele používáním portů pro přesměrování prohlížeče.

Krok 1: Nainstalujte a zabezpečte databázi PostgreSQL

1. Než začnete s instalací Odoo, ujistěte se, že váš systém je dodáván s balíčky poskytovanými repozitáři Epel, abyste mohli nainstalovat backendovou PostgreSQL databázi .

Zadáním následujících příkazů se také ujistěte, že je server aktuální s nejnovějšími bezpečnostními balíčky a záplatami:

----------- 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. Dále pokračujte a nainstalujte databázový server PostgreSQL, což je výchozí databáze, kterou Odoo používá k ukládání informací.

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

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

Inicializujte databázi PostgreSQL.

postgresql-setup initdb	

Nyní konečně spusťte databázi PostgreSQL zadáním níže uvedeného příkazu:

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

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

Jako další krok k zabezpečení výchozího uživatele PostgreSQL, který má prázdné heslo, zadejte níže uvedený příkaz s právy root, aby bylo možné heslo změnit:

sudo -u postgres psql
postgres=# \password postgres

Krok 2: Nainstalujte Odoo 9 – OpenERP

3. Chcete-li nainstalovat Odoo 9 z oficiálního úložiště, nejprve vytvořte nový soubor úložiště yum pro Odoo s následujícím obsahem:

Na systémech CentOS/RHEL

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

Přidejte následující úryvek do souboru 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 systémech Debian/Ubuntu

V Debian/Ubuntu zadejte následující příkaz k přidání repozitářů Odoo:

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. Dále nainstalujte software Odoo 9 z binárních souborů.

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

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

Dále jej spusťte a zkontrolujte stav démona zadáním následujících příkazů:

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

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

Jako další krok můžete ověřit port naslouchání služby Odoo spuštěním příkazu ss nebo netstat:

ss -tulpn
OR
netstat -tulpn

Ve výchozím nastavení Odoo naslouchá síťovým připojením na portu 8069/TCP.

Krok 3: Nakonfigurujte Odoo z webového rozhraní

5. Chcete-li nakonfigurovat Odoo dále, spusťte prohlížeč a přistupte k webovému rozhraní Odoo na následujícím URI:

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

6. Dále budete vyzváni k vytvoření nové databáze pro Odoo a nastavení silného hesla pro účet správce.

7. Po vytvoření databáze budete přesměrováni na administrační webový panel, kde můžete dále instalovat aplikace a konfigurovat ERP. Pro tuto chvíli ponechte aplikaci jako výchozí a odhlaste se.

8. Jakmile se vrátíte na přihlašovací obrazovku, klikněte na odkaz Spravovat databáze a nastavte hlavní heslo pro zabezpečení správce databází Odoo.

9. Jakmile máte zabezpečeného správce databáze Odoo, můžete se přihlásit ke své aplikaci a začít ji dále konfigurovat pomocí požadovaných aplikací a nastavení.

Krok 4: Přístup k Odoo z frontendu Nginx

Systém můžete nakonfigurovat tak, aby uživatelé měli přístup k webovému panelu Odoo přes reverzní proxy Nginx. To může uživatelům usnadnit procházení webového rozhraní Odoo rychleji, díky určitému mezipaměti frontendu Nginx, na standardních portech HTTP, aniž by museli ručně zadávat http port 8069 ve svých prohlížečích .

Chcete-li toto nastavení nakonfigurovat, musíte nejprve nainstalovat a nakonfigurovat Nginx ve vašem systému pomocí následujících kroků.

10. Nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:

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

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

11. Dále otevřete hlavní konfigurační soubor Nginx pomocí textového editoru a vložte následující blok za řádek, který určuje umístění kořene dokumentu Nginx.

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

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

Přidejte následující úryvek konfigurace do souboru 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;

Také okomentujte prohlášení Nginx location umístěním # před následující řádky. Použijte níže uvedený snímek obrazovky jako průvodce.

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

12. Po provedení všech výše uvedených změn restartujte démona Nginx, ale ne dříve, než spustíte příkaz getenforce, abyste zkontrolovali, zda je Selinux povolen váš stroj.

Na systémech CentOS/RHEL

V případě, že je zásada nastavena na Vynuceno, deaktivujte ji zadáním následujících příkazů:

setenforce 0
getenforce

Chcete-li Selinux úplně zakázat, otevřete soubor /etc/selinux/config v textovém editoru a nastavte řádek SELINUX na vypnuto.

Pokud nechcete úplně deaktivovat zásady Seliux a chcete jen uvolnit pravidla, abyste mohli udělit proxy Nginx s permisivním přístupem k síťovému soketu, spusťte následující příkaz:

setsebool httpd_can_network_connect on -P
getsebool -a | grep httpd 

Poté restartujte démona Nginx, aby odrážel změny provedené výše:

systemctl restart nginx
OR
service nginx restart

13. Tento další krok je volitelnou funkcí zabezpečení a znamená změnu síťového soketu, kterému aplikace Odoo naslouchá, a změnu vazební adresy ze všech rozhraní (nebo adresy) na pouze localhost.

Tato změna musí být provedena pouze ve spojení s Nginx reverzním proxy, protože vazba aplikace na localhost znamená pouze to, že Odoo nebude přístupné uživatelům uvnitř LAN nebo jiných sítí.

Chcete-li tuto změnu aktivovat, otevřete soubor /etc/odoo/openerp-server.conf a upravte řádek xmlrpc_interface tak, aby se vázal pouze na localhost, jak je navrženo na níže uvedeném snímku obrazovky.

xmlrpc_interface = 127.0.0.1

Aby se změny projevily, restartujte službu Odoo spuštěním níže uvedeného příkazu:

systemctl restart odoo.service
OR
service odoo restart

14. V případě, že váš počítač má síťovou obrannou linku poskytovanou bránou firewall, zadejte následující příkazy, abyste otevřeli porty brány firewall do vnějšího světa pro server proxy Nginx:

----------- 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 ono! Nyní můžete úspěšně přistupovat k vaší aplikaci ERP Odoo návštěvou IP adresy vašeho serveru nebo názvu domény.

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

16. Chcete-li po restartu systému automaticky spouštět služby, zadejte následující příkaz, který jednorázově povolí všechny démony v celém systému.

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

POZNÁMKA: U sestav ve formátu PDF si musíte ručně stáhnout a nainstalovat binární balíčky wkhtmltopdf pro svou vlastní distribuci pomocí následujícího odkazu Instalovat wkhtmltopdf pro převod stránky HTML do formátu PDF.