Verkkosivustohaku

Asenna Odoo EPR 17 Rocky-, Alma-, CentOS- ja RHEL 9|8-järjestelmiin


Kirjoitushetkellä Odoo ERP 17 on uusin versio tästä upeasta avoimen lähdekoodin yrityksen resurssien hallinnan (ERP) ohjelmistosta, joka on luotu auttamaan liiketoimintaprosessejasi pysymään sujuvina. Odoo ERP tarjoaa alustan integroiduilla sovelluksilla ratkaisemaan kaikki liiketoimintaongelmasi, HR:stä, CRM:stä, varastonhallinnasta, taloudesta, valmistuksesta ja myynnistä verkkokauppaan. Odoo ERP:ssä kaikki nämä integraatiot on jaettu modulaarisen lähestymistavan kautta, mikä antaa mahdollisuuden aloittaa muutamilla moduuleilla ja integroida lisää tarpeen mukaan. Tämä tekee Odoosta erittäin joustavan ja skaalautuvan ratkaisun.

Odoo ERP 17:n asentamiseksi Rocky Linuxiin, AlmaLinuxiin, CentOS:iin tai RHEL 9/8:aan sinun on noudatettava useita vaiheita:

  • Odoo 17:n suorittamiseen tarvittavien riippuvuuksien asennus
  • Python-virtuaaliympäristön luominen
  • Odoo 17:n asennus Rocky/AlmaLinux/RHEL 9|8:lle
  • Odoon ja verkkopalvelimen määritys
  • Odoon käyttö ja siihen pääsy

Odoo ERP 17:n ominaisuuksista katso Odoo 17 -julkaisumuistio

Edellytykset

Ennen kuin voit jatkaa, sinun on täytettävä seuraavat vaatimukset.

Järjestelmävaatimukset:
  1. Käyttöjärjestelmä: Asennettu Rocky, Alma, CentOS Stream tai RHEL 8/9
  2. CPU: Vähintään kaksiytiminen suoritin (jos sinulla on neliytiminen, sitä parempi).
  3. RAM: Vähintään 2GB muistia (mitä enemmän, sitä parempi, 4GB tai enemmän suositeltavaa).
  4. Levy: Vähintään 20 Gt vapaata levytilaa Odoo-tietojen tallentamiseen.
Ohjelmistovaatimukset:
  1. Python: Python 3.10 tai uudempi.
  2. PostgreSQL: PostgreSQL 12 tai uudempi.
  3. Node.js ja npm: Node.js 12.x tai uudempi ja npm omaisuuden hallintaan.
  4. Wkhtmltopdf: PDF-raporttien tulostamiseen vaaditaan tietty versio wkhtmltopdfista (0.12.5 tai 0.12.6).
  5. Nginx tai Apache: Käänteisen välityspalvelimen käyttöön (yleensä Nginx on suositumpi).

Aloitetaan Odoo ERP:n asennus.

Vaihe 1 – Asenna rakennukseen tarvittavat riippuvuudet

Päivitä järjestelmäsi ennen minkään asennuksia:

sudo dnf -y update

Jos sinulla on ydinpäivityksiä, harkitse järjestelmän uudelleenkäynnistystä ennen kuin jatkat:

sudo reboot

Asenna seuraavaksi kehitystyökalut järjestelmääsi.

sudo dnf groupinstall -y "Development Tools"

Asenna lisäkirjastot, joita saatetaan tarvita Odoon rakentamisessa lähdekoodista:

sudo dnf install -y vim git gcc bzip2-devel redhat-rpm-config libxslt-devel  openldap-devel libjpeg-devel freetype-devel

Vaihe 2 – Asenna Python 3.11 ja Node.js

Meidän täytyy asentaa Python 3.10 tai uudempi. Tässä artikkelissa käytämme Python 3.11:ta.

sudo dnf install python3.11 python3.11-devel python3.11-pip

Varmista, että se on asennettu onnistuneesti tarkistamalla versio.

$ python3.11 --version
Python 3.11.9

Asennetaan myös Node.js. Ei ole mitään tiettyä versiota, käytämme Node.js v18:aa.

 sudo dnf module reset nodejs -y
sudo dnf module install nodejs:18 -y

Varmista tarkistamalla Node.js-versionumero.

$ node --version
v18.20.2

Asenna rtlcss-node-moduuli käyttäen npm:

sudo npm install -g rtlcss

Asenna myös Less ja Less-plugin Clean CSS:

sudo npm install -g less less-plugin-clean-css

Vaihe 3 – Asenna ja määritä PostgreSQL-tietokanta

Vaaditaan PostgreSQL 12 tai uudempi. Voimme asentaa PostgreSQL 16:n, joka on saatavilla OS APPStream -varastoissa. Nollaa nykyinen PostgreSQL-moduuli.

sudo dnf module -y disable postgresql

Ota PostgreSQL 16 -moduuli käyttöön.

sudo dnf install -y @postgresql:16

Asenna myös postgresql-devel-paketti.

sudo dnf install -y  postgresql-devel

Alusta tietokantapalvelin.

sudo postgresql-setup initdb

Käynnistä ja ota tietokantapalvelu käyttöön.

sudo systemctl enable --now postgresql

Luo lopuksi odoo-tietokantakäyttäjä. Anna käyttäjälle salasana, kun sitä pyydetään.

sudo su - postgres -c "createuser -s odoo"

Käyttäjän luomiseksi salasanalla suorita:

sudo -u postgres createuser odoo -U postgres -dP

Etäiseen PostgreSQL-tietokantapalvelimeen sinun tulee ottaa etäyhteydet käyttöön tietokantapalvelimessasi, jotta Odoo voi muodostaa siihen yhteyden.

Vaihe 4 – Asenna wkhtmltopdf

Wkhtmltopdf on avoimen lähdekoodin komentorivityökalu, jota Odoo käyttää HTML:n muuntamiseen PDF- ja muihin kuvamuotoihin tehokkaan Webkit-renderointimoottorin avulla. Tätä tarvitaan muun muassa laskujen, raporttien ja muiden tulostettavien asiakirjojen luomiseen.

Lataa ja asenna wkhtmltopdf RPM -paketti.

  • RHEL 9 -pohjaiset järjestelmät
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm
sudo dnf install -y ./wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm
  • RHEL 8 -pohjaiset järjestelmät
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux8.x86_64.rpm
sudo dnf install -y ./wkhtmltox-0.12.6.1-2.almalinux8.x86_64.rpm

Varmista asennus:

$ wkhtmltopdf --version
wkhtmltopdf 0.12.6.1 (with patched qt)

Vaihe 5 – Odoo Python -ympäristön asetusten määrittäminen

Luo käyttäjä nimeltä odoo, joka suorittaa Odoo-palveluita.

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

Asenna virtualenv:

sudo pip3.11 install virtualenv

Vaihda luotuun odoo-käyttäjätiliin.

sudo su - odoo

Kloonaa Odoon Github-repositorio paikallisesti.

git clone --depth 1 --branch 17.0 --single-branch https://github.com/odoo/odoo.git

Käytä komentoa virtualenv Pythonin virtuaaliympäristön luomiseen Odoo ERP:lle.

virtualenv odoo-venv

Ota käyttöön luotu virtuaaliympäristö.

source odoo-venv/bin/activate

Päivitä pip aktivoinnin jälkeen.

pip3.11 install --upgrade pip

Asenna wheel Python-paketti ympäristöön

pip3.11 install wheel

Asenna Odoo 17:n Python-vaatimukset

pip3.11 install -r odoo/requirements.txt

Luetteloidaksesi kaikki virtuaaliympäristöön asennetut Python-paketit suorita seuraava komento:

pip3.11 list

Luo hakemisto, johon tallennetaan kaikki kolmannen osapuolen lisäosat.

mkdir odoo/custom-addons

Poistu virtuaaliympäristöstä.

exit

Vaihe 6 – Määritä Odoo ERP

Kopioi esimerkkikonfiguraatiotiedosto Odoo-ohjelmasta järjestelmäsi /etc-hakemistoon.

sudo cp /opt/odoo/odoo/debian/odoo.conf /etc/odoo.conf

odoo.conf-tiedosto sisältää tärkeät asetukset, joita Odoon toiminta edellyttää. Avaa tiedosto muokkausta varten.

# Open with vim
sudo vim /etc/odoo.conf

# Open with nano
sudo nano /etc/odoo.conf

Säädä asetukset näyttämään alla olevalta.

[options]
; This is the password that allows database operations:
admin_passwd = Str0ngAdminPasw0rd
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo/addons, /opt/odoo/odoo/custom-addons
default_productivity_apps = True
xmlrpc_port = 8069

Etäisen PostgreSQL-palvelimen kohdalla aseta:

  • db_host: PostgreSQL-tietokantapalvelimen IP-osoite
  • db_password: Salasana etäpalvelimelle luodulle käyttäjälle
  • db_user: Etätietokannan käyttäjä luotu.

Anna tiedostolle sopivat käyttöoikeudet:

sudo chown odoo:odoo /etc/odoo.conf
sudo chmod 640 /etc/odoo.conf

Luo Odoo systemd -palvelu.

sudo tee /etc/systemd/system/odoo.service<<EOF
[Unit]
Description=Odoo ERP System
Documentation=http://www.odoo.com
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-venv/bin/python3.11 /opt/odoo/odoo/odoo-bin \
  --config=/etc/odoo.conf \
  --addons-path=/opt/odoo/odoo/addons/ \
  --logfile /var/log/odoo/odoo-server.log
StandardOutput=journal+console
KillMode=mixed

[Install]
WantedBy=multi-user.target
EOF

Luo lokihakemisto.

sudo mkdir /var/log/odoo/
sudo chown -R odoo:odoo /var/log/odoo/

Käynnistä ja ota käyttöön odoo-palvelu.

sudo systemctl daemon-reload
sudo systemctl enable --now odoo.service

Tarkista palvelun tila, toimiiko se oikein.

$ systemctl status odoo
● odoo.service - Odoo ERP System
   Loaded: loaded (/etc/systemd/system/odoo.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2024-07-18 11:34:34 UTC; 21s ago
     Docs: http://www.odoo.com
 Main PID: 70809 (python3.11)
    Tasks: 4 (limit: 48750)
   Memory: 88.2M
   CGroup: /system.slice/odoo.service
           └─70809 /opt/odoo/odoo-venv/bin/python3.11 /opt/odoo/odoo/odoo-bin --config=/etc/odoo.conf --addons-path=/opt/odoo/odoo/addons/ --logfile /var/log/odoo/odoo-server.log

Jul 18 11:34:34 rocky8.cloudspinx.com systemd[1]: Started Odoo ERP System.

Vaihe 7 – Määritä firewalld

Palvelu kuuntelee porttia 8069.

$ ss -tunelp | grep 8069
tcp   LISTEN 0      128          0.0.0.0:8069      0.0.0.0:*    users:(("python3.11",pid=70809,fd=4)) uid:989 ino:115353 sk:5 <->

Jos sinulla on firewalld, salli portti 8069

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

Voit käyttää Odoo-verkkokonsolia osoitteessa http://serverip:8069 ja viimeistellä asennuksen.

Syötä admin_passwd -arvo, joka on asetettu odoo.conf tiedostossa pääsalasanaksi. Määritä luotavan tietokannan nimi, esimerkiksi odoo17. Luo sitten ensimmäinen ylläpitäjäkäyttäjä antamalla sähköpostiosoite ja salasana. Halutessasi voit myös asettaa puhelinnumeron, kielen ja maan.

Kun asennus on valmis, kirjaudu sisään luodulla ylläpitäjäkäyttäjällä ja sen salasanalla.

Pääset Odoo-hallintapaneeliin moduulien aktivoimiseksi jne.

Vaihe 8 – Määritä Nginx-proksi

Voimme käyttää Nginxiä välittämään pyyntöjä Odoo ERP:lle. Asenna nginx-paketti.

sudo dnf -y install nginx

Ota palvelu käyttöön käynnistymään automaattisesti järjestelmän käynnistyessä.

sudo systemctl enable nginx

Luo Nginx-määritystiedosto Odoo-palvelulle.

 sudo vim /etc/nginx/conf.d/odoo.conf

Liitä ja muokkaa seuraava sisältö. Sinun tulee korvata odoo.example.com omalla verkkotunnuksellasi.

# Odoo Upstreams
upstream odooserver {
 server 127.0.0.1:8069;
}

server {
    listen 80;
    server_name odoo.example.com;
    access_log /var/log/nginx/odoo_access.log;
    error_log /var/log/nginx/odoo_error.log;

    # Proxy settings
    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;
    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;

    # Request for root domain
    location / {
       proxy_redirect off;
       proxy_pass http://odooserver;
    }

    # Cache static files
    location ~* /web/static/ {
        proxy_cache_valid 200 90m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://odooserver;
    }

    # Gzip Compression
    gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
    gzip on;
}

Vahvista nginxin määritykset.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Jos kaikki näyttää olevan kunnossa, käynnistä palvelu uudelleen.

sudo systemctl restart nginx

Siirry Odoo-verkkopäätaululle osoitteessa http://yourdomain.com

Vaihe 9 – Let’s Encrypt SSL:n käyttäminen

Julkisilla domaineilla oleville palvelimille voit käyttää ilmaista Let's Encrypt -SSL:ää.

Asenna certbot ja sen Nginx-laajennus.

sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx -y

Pyyntö Let's Encrypt SSL:lle.

DOMAIN=odoo.example.com #replace with your actual domain
sudo certbot --nginx -d $DOMAIN --agree-tos

Jos et halua antaa sähköpostiosoitetta, käytä

sudo certbot --nginx -d $DOMAIN --agree-tos --register-unsafely-without-email

Esimerkkituloste:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Account registered.
Requesting a certificate for odoo.example.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/odoo.example.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/odoo.example.com/privkey.pem
This certificate expires on 2024-10-16.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for odoo.cloudlabske.com to /etc/nginx/conf.d/odoo.conf
Congratulations! You have successfully enabled HTTPS on https://odoo.example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Se määrittää automaattisesti /etc/nginx/conf.d/odoo.conf-tiedoston sisällyttämään SSL:n.

cat /etc/nginx/conf.d/odoo.conf

Johtopäätös

Olemme päättäneet opastuksemme Odoon asentamisesta Rocky-, AlmaLinux-, CentOS- ja RHEL 9 Linux -järjestelmiin. Aloitimme valmistelemalla palvelimen tarvittavilla riippuvuuksilla, jonka jälkeen jatkoimme Odoo ERP:n asentamiseen ja konfigurointiin. Odoon laajan moduulivalikoiman ja joustavien sekä tehokkaiden mukautusmahdollisuuksiensa ansiosta se on hyvin soveltuva liiketoimintaratkaisu prosessien automatisointiin.