Kako namestiti Odoo (odprtokodni ERP in CRM) na CentOS 8


Odoo je odprtokodna programska oprema za upravljanje podjetij, ki ima nabor različnih poslovnih aplikacij za različne namene, kot so e-trgovina, vodenje projektov, služba za pomoč uporabnikom, računovodstvo, inventar in graditelj spletnih strani.

V tem članku boste izvedeli, kako namestiti Odoo (odprtokodni ERP in CRM) na CentOS 8 in RHEL 8.

1. korak: Posodobite sistem in namestite repozitorij EPEL

1. Prvi korak pri namestitvi Odoo je namestitev repozitorija EPEL, ki ponuja nabor dodatnih paketov za poslovni Linux. Najprej pa posodobite sistem, kot je prikazano.

$ sudo dnf update

2. Ko je posodobitev sistema končana, namestite repozitorij EPEL, kot je prikazano.

$ sudo dnf install epel-release

2. korak: Namestite Python3 in druge odvisnosti

3. Nato namestite Python 3 in druge potrebne odvisnosti, ki jih zahteva Odoo, kot je prikazano.

$ sudo dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel

3. korak: Namestite in konfigurirajte PostgreSQL v CentOS 8

4. PostgreSQL je brezplačen sistem za upravljanje relacijskih baz podatkov odprtega vira, ki se uporablja v številnih aplikacijah za shranjevanje podatkov. Za Odoo moramo namestiti PostgreSQL in za to zaženite ukaz.

$ sudo dnf install postgresql-server postgresql-contrib

5. Nato inicializirajte novo gručo baz podatkov PostgreSQL.

$ sudo postgresql-setup initdb

6. Ko je gruča baz podatkov inicializirana, znova zaženite in omogočite PostgreSQL, kot je prikazano.

$ sudo systemctl restart postgresql
$ sudo systemctl enable postgresql

7. Za potrditev, da baza podatkov deluje in deluje, zaženite.

$ sudo systemctl status postgresql

4. korak: Namestite orodje Wkhtmltopdf v CentOS 8

8. Da bi Odoo tiskal poročila PDF, potrebuje paket Wkhtmltopdf. Uporablja se za upodabljanje HTML-jev v PDF in drugih slikovnih formatov. Paket vrtljajev na minuto je na voljo na Github-u in ga lahko namestite, kot je prikazano.

$ sudo dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm

5. korak: Namestite in konfigurirajte Odoo v CentOS 8

9. Dodali bomo novega uporabnika sistema, ki ga bomo uporabili za zagon storitve Odoo. Na tej ilustraciji bomo ustvarili uporabnika z imenom Odoo, vendar lahko izberete poljubno uporabniško ime. Domači imenik se nahaja v imeniku /opt/odoo .

$ sudo useradd -m -U -r -s /bin/bash odoo -d /opt/odoo 

10. Če želite začeti nameščati Odoo, najprej preklopite na uporabnika Odoo, ki smo ga ustvarili zgoraj.

$ sudo su - odoo

11. Nato klonirajte repozitorij git.

$ git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo/odoo13

12. Nato klonirajte navidezno okolje, kot je prikazano.

$ cd /opt/odoo
$ python3 -m venv odoo13-venv

13. Ko je virtualno okolje ustvarjeno, ga aktivirajte z naslednjim ukazom.

$ source odoo13-venv/bin/activate

Kot lahko opazite, se poziv spremeni, kot je prikazano.

14. V virtualnem okolju namestite potrebne Pythonove module za namestitev Odoo-ja, da bo šlo brez težav.

$ pip3 install -r odoo13/requirements.txt

15. Ko je namestitev modulov Python končana, zapustite navidezno okolje in se vrnite k uporabniku sudo.

$ deactivate && exit

16. Čeprav neobvezno. Najboljša praksa narekuje namestitev modulov po meri v ločen imenik. S tem v mislih bomo nadaljevali z ustvarjanjem imenika za module po meri in kasneje lastništvu imenika dodelili uporabniku 'Odoo'.

$ sudo mkdir /opt/odoo/odoo13-custom-addons
$ sudo chown -R odoo:odoo /opt/odoo/odoo13-custom-addons

17. Na enak način bomo ustvarili dnevniški imenik in datoteko dnevnika po meri, kot je prikazano.

$ sudo mkdir /var/log/odoo13
$ sudo touch /var/log/odoo13/odoo.log
$ sudo chown -R odoo:odoo /var/log/odoo13/

18. Nato ustvarite konfiguracijsko datoteko po meri za Odoo, kot je prikazano.

$ sudo vim /etc/odoo.conf

Prilepite naslednjo konfiguracijo in shranite datoteko.

[options]
; This is the password that allows database operations:
admin_passwd = strong_password
db_host = False
db_port = False
db_user = odoo
db_password = False
xmlrpc_port = 8069
; longpolling_port = 8072
logfile = /var/log/odoo13/odoo.log
logrotate = True
addons_path = /opt/odoo/odoo13/addons,/opt/odoo/odoo13-custom-addons

Ne pozabite nadomestiti strong_password z želenim geslom.

6. korak: Ustvarite datoteko enote Odoo Systemd

19. Zdaj ustvarite datoteko sistemske enote za Odoo.

$ sudo vim /etc/systemd/system/odoo13.service

Prilepite naslednjo konfiguracijo in shranite datoteko.

[Unit]
Description=Odoo13
#Requires=postgresql-10.6.service
#After=network.target postgresql-10.6.service

[Service]
Type=simple
SyslogIdentifier=odoo13
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo13-venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

20. Ponovno naložite systemd novih sprememb datoteke.

$ sudo systemctl daemon-reload

21. Nato zaženite in omogočite Odoo, kot je prikazano.

$ sudo systemctl start odoo13
$ sudo systemctl enable odoo13

22. Za potrditev stanja Odoo zaženite ukaz:

$ sudo systemctl status odoo13

23. Z ukazom netstat lahko tudi preverite, ali Odoo posluša na vratih 8069 - to so njegova privzeta vrata.

$ sudo netstat -pnltu | grep 8069

24. Da bo Odoo dostopen v brskalniku, odprite vrata čez požarni zid.

$ sudo firewall-cmd --add-port=8069/tcp --zone=public --permanent
$ sudo firewall-cmd --reload

7. korak: Namestite Nginx kot povratni proxy za Odoo

25. Na koncu bomo namestili spletni strežnik Nginx, ki bo deloval kot obratni posrednik za naš primerek Odoo. Torej, zaženite ukaz:

$ sudo dnf install nginx

26. Nato ustvarite novo datoteko navideznega gostitelja.

$ sudo vim /etc/nginx/conf.d/odoo13.conf

in prilepite naslednjo konfiguracijo, kot je prikazano.

upstream odoo {
 server 127.0.0.1:8069;
}
server {
    listen 80;
    server_name server-IP;

    access_log /var/log/nginx/odoo13.access.log;
    error_log /var/log/nginx/odoo13.error.log;

        location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;

        proxy_redirect off;
        proxy_pass http://odoo;
    }
location ~* /web/static/ {
        proxy_cache_valid 200 90m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://odoo;
    }
    gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
    gzip on;
}

Shranite in zapustite konfiguracijsko datoteko.

27. Zdaj zaženite in omogočite spletni strežnik Nginx.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx

28. Preverite, ali se Nginx izvaja, kot je prikazano.

$ sudo systemctl status nginx

Na tej točki smo vsi končali s konfiguracijo. Zadnji korak je dokončanje nastavitve v spletnem brskalniku.

8. korak: Dokončanje namestitve Odoo

29. Zaženite spletni brskalnik in obiščite IP strežnika, kot je prikazano.

http://server-ip/

Prikazana bo podobna spletna stran kot spodaj. Za glavno geslo uporabite geslo, določeno v 5. koraku, med ustvarjanjem konfiguracijske datoteke Odoo po meri. Nato nadaljujte z izpolnjevanjem vseh ostalih vnosov in kliknite gumb 'Ustvari bazo podatkov'.

30. S tem se odpre nadzorna plošča Odoo, ki prikazuje različne aplikacije, ki jih je mogoče namestiti.

In to zaključuje našo današnjo vadnico. V tem priročniku ste izvedeli, kako namestiti Odoo na CentOS 8.