Wyszukiwanie w witrynie

Konfigurowanie OpenERP (Odoo) 9 z Nginx na RHEL/CentOS i Debian/Ubuntu


Odoo, wcześniej znany jako OpenERP, to internetowe oprogramowanie biznesowe ERP Open Source do planowania zasobów przedsiębiorstwa, napisane w języku Python, które jest dostarczane z pakietem narzędzi internetowych aplikacje przeznaczone dla każdej firmy, takie jak kreatory stron internetowych, moduły eCommerce, fakturowanie i księgowość, zasoby ludzkie, punkty sprzedaży, zarządzanie relacjami z klientami, moduł zapasów, czat na żywo i wiele innych aplikacji i funkcji.

W tym samouczku dowiesz się, jak zainstalować najnowszą stabilną wersję Odoo (wersja 9) na RHEL/CentOS/Fedora lub Systemy oparte na Debianie/Ubuntu z serwerem Nginx, które działają jako odwrotne proxy w interfejsie użytkownika, aby uzyskać szybszy i bezpieczniejszy dostęp do interfejsu sieciowego ze standardowych portów przeglądania sieci, bez konieczności obciążać użytkowników koniecznością korzystania z portów przekierowania przeglądarki.

Krok 1: Zainstaluj i zabezpiecz bazę danych PostgreSQL

1. Zanim zaczniesz kontynuować instalację Odoo, najpierw upewnij się, że Twój system jest dostarczany z pakietami dostarczonymi przez repozytoria Epel, aby zainstalować bazę danych PostgreSQL zaplecza .

Upewnij się także, że serwer jest na bieżąco z najnowszymi pakietami i poprawkami zabezpieczeń, wydając poniższe polecenia:

----------- 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. Następnie zainstaluj serwer bazy danych PostgreSQL, który jest domyślną bazą danych używaną przez Odoo do przechowywania informacji.

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

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

Zainicjuj bazę danych PostgreSQL.

postgresql-setup initdb	

Teraz na koniec uruchom bazę danych PostgreSQL, wydając poniższe polecenie:

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

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

Jako dodatkowy krok w celu zabezpieczenia domyślnego użytkownika PostgreSQL, który ma puste hasło, wydaj poniższe polecenie z uprawnieniami roota, aby zmienić hasło:

sudo -u postgres psql
postgres=# \password postgres

Krok 2: Zainstaluj Odoo 9 – OpenERP

3. Aby zainstalować Odoo 9 z oficjalnego repozytorium, najpierw utwórz nowy plik repozytorium yum dla Odoo z następującą zawartością:

W systemach CentOS/RHEL

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

Dodaj następujący fragment do pliku 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

W systemach Debian/Ubuntu

Na Debianie/Ubuntu wydaj następujące polecenie, aby dodać repozytoria 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. Następnie zainstaluj oprogramowanie Odoo 9 z plików binarnych.

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

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

Następnie uruchom go i sprawdź status demona wydając poniższe polecenia:

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

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

Jako dodatkowy krok możesz zweryfikować port nasłuchiwania usługi Odoo, uruchamiając polecenie ss lub netstat:

ss -tulpn
OR
netstat -tulpn

Domyślnie Odoo nasłuchuje połączeń sieciowych na porcie 8069/TCP.

Krok 3: Skonfiguruj Odoo z poziomu interfejsu internetowego

5. Aby skonfigurować Odoo, uruchom przeglądarkę i uzyskaj dostęp do interfejsu internetowego Odoo pod następującym URI:

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

6. Następnie zostaniesz poproszony o utworzenie nowej bazy danych dla Odoo i ustawienie silnego hasła dla konta administratora.

7. Po utworzeniu bazy danych zostaniesz przekierowany do panelu administracyjnego, gdzie będziesz mógł dalej instalować aplikacje i konfigurować swój ERP. Na razie pozostaw aplikację jako domyślną i wyloguj się.

8. Po powrocie do ekranu logowania kliknij link Zarządzaj bazami danych i ustaw hasło główne, aby zabezpieczyć menedżera baz danych Odoo.

9. Po zabezpieczeniu menedżera bazy danych Odoo możesz zalogować się do swojej aplikacji i rozpocząć jej dalszą konfigurację za pomocą wymaganych aplikacji i ustawień.

Krok 4: Uzyskaj dostęp do Odoo z interfejsu Nginx

Możesz skonfigurować system tak, aby użytkownicy mieli dostęp do panelu internetowego Odoo poprzez odwrotne proxy Nginx. Może to ułatwić użytkownikom szybszą nawigację po interfejsie internetowym Odoo, dzięki buforowaniu niektórych frontendów Nginx, na standardowych portach HTTP bez konieczności ręcznego wprowadzania portu http 8069 w swoich przeglądarkach .

Aby skonfigurować to ustawienie, musisz najpierw zainstalować i skonfigurować Nginx w swoim systemie, wykonując poniższe kroki.

10. Najpierw zainstaluj serwer WWW Nginx za pomocą następującego polecenia:

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

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

11. Następnie otwórz główny plik konfiguracyjny Nginx za pomocą edytora tekstu i wstaw następujący blok po linii określającej lokalizację katalogu głównego dokumentu Nginx.

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

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

Dodaj następujący fragment konfiguracji do pliku 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;

Skomentuj także instrukcję Nginx location, umieszczając # przed następującymi liniami. Użyj poniższego zrzutu ekranu jako przewodnika.

#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 dokonaniu wszystkich powyższych zmian zrestartuj demona Nginx, ale nie wcześniej niż uruchomisz polecenie getenforce, aby sprawdzić, czy Selinux jest włączony twoja maszyna.

W systemach CentOS/RHEL

Jeśli zasada jest ustawiona na Wymuszone, wyłącz ją, wydając poniższe polecenia:

setenforce 0
getenforce

Aby całkowicie wyłączyć Selinux, otwórz plik /etc/selinux/config za pomocą edytora tekstu i ustaw linię SELINUX na wyłączoną.

Jeśli nie chcesz całkowicie wyłączać polityki Seliux i po prostu chcesz złagodzić zasady, aby przyznać proxy Nginx z zezwalającym dostępem do gniazda sieciowego, uruchom następującą komendę:

setsebool httpd_can_network_connect on -P
getsebool -a | grep httpd 

Następnie zrestartuj demona Nginx, aby odzwierciedlić zmiany wprowadzone powyżej:

systemctl restart nginx
OR
service nginx restart

13. Następny krok jest opcjonalną funkcją zabezpieczeń i wiąże się ze zmianą gniazda sieciowego, na którym nasłuchuje aplikacja Odoo, zmieniając wiążący adres ze wszystkich interfejsów (lub adresów) na tylko localhost.

Tej zmiany należy dokonać wyłącznie w połączeniu z odwrotnym proxy Nginx, ponieważ powiązanie aplikacji z lokalnym hostem oznacza jedynie, że Odoo nie będzie dostępne dla użytkowników znajdujących się w sieci LAN lub innych sieciach.

Aby aktywować tę zmianę, otwórz plik /etc/odoo/openerp-server.conf i edytuj linię xmlrpc_interface, aby wiązać się tylko z localhost, jak sugeruje poniższy zrzut ekranu.

xmlrpc_interface = 127.0.0.1

Aby odzwierciedlić zmiany, uruchom ponownie usługę Odoo, uruchamiając poniższe polecenie:

systemctl restart odoo.service
OR
service odoo restart

14. Jeśli Twój komputer ma linię obrony sieci zapewnianą przez zaporę sieciową, wydaj następujące polecenia, aby otworzyć porty zapory na świat zewnętrzny dla 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 wszystko! Teraz możesz pomyślnie uzyskać dostęp do aplikacji ERP Odoo, odwiedzając adres IP serwera lub nazwę domeny.

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

16. Aby automatycznie uruchomić usługi po ponownym uruchomieniu systemu, wydaj następujące polecenie, aby za jednym razem włączyć wszystkie demony w całym systemie.

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

UWAGA: W przypadku raportów w formacie PDF należy ręcznie pobrać i zainstalować pakiety binarne wkhtmltopdf dla własnej dystrybucji, odwiedzając następujący link Zainstaluj wkhtmltopdf, aby przekonwertować stronę HTML na format PDF.