Com instal·lar Odoo (ERP i CRM de codi obert) a CentOS 8


Odoo és un programari de gestió empresarial tot en un de codi obert que s'envia amb un conjunt d'aplicacions empresarials per a diversos usos, com ara comerç electrònic, gestió de projectes, servei d'assistència, comptabilitat, inventari i un creador de llocs web per esmentar-ne alguns.

En aquest article, aprendràs a instal·lar Odoo (ERP i CRM de codi obert) a CentOS 8 i RHEL 8.

Pas 1: actualitzeu el sistema i instal·leu el repositori EPEL

1. El primer pas per instal·lar Odoo és instal·lar el repositori EPEL que proporciona un conjunt de paquets addicionals per a Linux empresarial. Però primer, assegureu-vos d'actualitzar el sistema tal com es mostra.

$ sudo dnf update

2. Un cop finalitzada l'actualització del sistema, instal·leu el repositori EPEL tal com es mostra.

$ sudo dnf install epel-release

Pas 2: instal·leu Python3 i altres dependències

3. A continuació, instal·leu Python 3 i altres dependències necessàries que Odoo requereixi tal com es mostra.

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

Pas 3: instal·leu i configureu PostgreSQL a CentOS 8

4. PostgreSQL és un sistema de gestió de bases de dades relacionals gratuït i de codi obert utilitzat en una gran varietat d'aplicacions per emmagatzemar dades. Hem d'instal·lar PostgreSQL per a Odoo i, per fer-ho, executar l'ordre.

$ sudo dnf install postgresql-server postgresql-contrib

5. A continuació, inicialitzeu un nou clúster de bases de dades PostgreSQL.

$ sudo postgresql-setup initdb

6. Un cop s'hagi inicialitzat el clúster de base de dades, reinicieu i activeu PostgreSQL tal com es mostra.

$ sudo systemctl restart postgresql
$ sudo systemctl enable postgresql

7. Per confirmar que la base de dades està en funcionament, executeu-la.

$ sudo systemctl status postgresql

Pas 4: instal·leu l'eina Wkhtmltopdf a CentOS 8

8. Perquè Odoo imprimeixi informes PDF, requereix un paquet anomenat Wkhtmltopdf. S'utilitza per renderitzar HTML a PDF i altres formats d'imatge. El paquet rpm està disponible a Github i el podeu instal·lar tal com es mostra.

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

Pas 5: instal·leu i configureu Odoo a CentOS 8

9. Afegirem un nou usuari del sistema que utilitzarem per executar el servei Odoo. En aquesta il·lustració, crearem un usuari anomenat Odoo, però, no dubteu a triar un nom d'usuari arbitrari. El directori inicial es troba al directori /opt/odoo.

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

10. Per començar a instal·lar Odoo, primer canvieu a l'usuari d'Odoo que hem creat anteriorment.

$ sudo su - odoo

11. A continuació, cloneu el repositori git.

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

12. A continuació, cloneu l'entorn virtual tal com es mostra.

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

13. Un cop creat l'entorn virtual, activeu-lo mitjançant l'ordre següent.

$ source odoo13-venv/bin/activate

Com podeu observar, el missatge canvia tal com es mostra.

14. Dins de l'entorn virtual, instal·leu els mòduls Python necessaris perquè la instal·lació d'Odoo funcioni sense problemes.

$ pip3 install -r odoo13/requirements.txt

15. Un cop finalitzada la instal·lació dels mòduls de Python, sortiu de l'entorn virtual i torneu a l'usuari sudo.

$ deactivate && exit

16. Encara que opcional. La millor pràctica dicta la instal·lació de mòduls personalitzats en un directori separat. Tenint això en compte, procedirem a crear un directori per a mòduls personalitzats i, posteriorment, assignarem la propietat del directori a l'usuari Odoo.

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

17. De la mateixa manera, crearem un directori de registre personalitzat i un fitxer de registre tal com es mostra.

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

18. A continuació, creeu un fitxer de configuració personalitzat per a Odoo tal com es mostra.

$ sudo vim /etc/odoo.conf

Enganxeu la configuració següent i deseu el fitxer.

[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

Assegureu-vos de substituir la strong_password per la vostra contrasenya preferida.

Pas 6: creeu un fitxer d'unitat Odoo Systemd

19. Ara, creeu un fitxer d'unitat systemd per a Odoo.

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

Enganxeu la configuració següent i deseu el fitxer.

[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. Torneu a carregar systemd dels nous canvis fets al fitxer.

$ sudo systemctl daemon-reload

21. A continuació, inicieu i activeu Odoo tal com es mostra.

$ sudo systemctl start odoo13
$ sudo systemctl enable odoo13

22. Per confirmar l'estat d'Odoo, executeu l'ordre:

$ sudo systemctl status odoo13

23. També podeu utilitzar l'ordre netstat per comprovar si l'Odoo escolta al port 8069, que és el seu port predeterminat.

$ sudo netstat -pnltu | grep 8069

24. Perquè Odoo sigui accessible des d'un navegador, obriu el port a través del tallafoc.

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

Pas 7: instal·leu Nginx com a servidor intermediari invers per a Odoo

25. Finalment, instal·larem el servidor web Nginx que actuarà com a servidor intermediari invers a la nostra instància Odoo. Per tant, executeu l'ordre:

$ sudo dnf install nginx

26. A continuació, creeu un fitxer d'amfitrió virtual nou.

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

i enganxeu la configuració següent tal com es mostra.

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

Deseu i sortiu del fitxer de configuració.

27. Ara inicieu i activeu el servidor web Nginx.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx

28. Confirmeu que Nginx s'està executant tal com es mostra.

$ sudo systemctl status nginx

En aquest punt, ja hem acabat la configuració. L'últim pas és finalitzar la configuració en un navegador web.

Pas 8: finalitzant la configuració d'Odoo

29. Inicieu un navegador web i visiteu la IP del vostre servidor tal com es mostra.

http://server-ip/

Es mostrarà una pàgina web similar a la següent. Per a la contrasenya mestra, utilitzeu la contrasenya especificada al pas 5 mentre creeu un fitxer de configuració d'Odoo personalitzat. A continuació, procediu a omplir totes les altres entrades i feu clic al botó Crea base de dades.

30. Això us portarà al tauler d'Odoo que mostra les diferents aplicacions que es poden instal·lar.

I això tanca el nostre tutorial d'avui. En aquesta guia, heu après com instal·lar Odoo a CentOS 8.