Nainštalujte Odoo na CentOS s Nginx
Na tejto stránke
- Predpoklady
- Začíname
- Nainštalujte a nakonfigurujte PostgreSQL
- Nainštalujte Odoo 14
- Nakonfigurujte Odoo 14
- Vytvorte súbor systémovej jednotky pre Odoo 14
- Nainštalujte a nakonfigurujte Nginx pre Odoo 14
- Nakonfigurujte bránu firewall
- Prístup k ovládaciemu panelu Odoo 14
- Záver
Odoo je open-source ERP a CRM systém, ktorý sa používa na riadenie základných potrieb spoločnosti vrátane riadenia materiálu a skladu, ľudských zdrojov, financií, účtovníctva, predaja, zásob a mnohých ďalších podnikových funkcií. Je vytvorený pomocou Pythonu a ako svoju databázu používa PostgreSQL. Najnovšia verzia Odoo 14 má praktické funkcie, vrátane nového tvorcu webových stránok, nových nástrojov business intelligence, nových a vylepšených inventárov a ponúk MRP a ďalších.
Tento tutoriál vám ukáže, ako nainštalovať Odoo 14 s Nginx na CentOS 8.
Predpoklady
- Server so systémom CentOS 8.
- Platný názov domény označený IP adresou vášho servera.
- Na serveri je nakonfigurované heslo root.
Začíname
Pred spustením budete musieť do vášho systému nainštalovať Python, wkhtmltopdf a ďalšie požadované závislosti. Spustite nasledujúci príkaz na inštaláciu všetkých z nich:
dnf install python3 redhat-rpm-config libxslt-devel bzip2-devel openldap-devel python3-devel git gcc libjpeg-devel freetype-devel curl unzip -y
dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm
Po nainštalovaní všetkých závislostí môžete prejsť na ďalší krok.
Nainštalujte a nakonfigurujte PostgreSQL
Odoo používa PostgreSQL ako databázový backend. Takže ho budete musieť nainštalovať do svojho systému. Spustite nasledujúci príkaz na inštaláciu PostgreSQL:
dnf install postgresql postgresql-server postgresql-contrib -y
Po nainštalovaní PostgreSQL inicializujte databázu nasledujúcim príkazom:
postgresql-setup initdb
Mali by ste vidieť nasledujúci výstup:
WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
Ďalej spustite službu PostgreSQL a povoľte jej spustenie pri reštarte systému:
systemctl start postgresql
systemctl enable postgresql
Potom vytvorte nového používateľa pre odoo pomocou nasledujúceho príkazu:
su - postgres -c "createuser -s odoo14"
Po dokončení môžete prejsť na ďalší krok.
Nainštalujte Odoo 14
Odporúča sa nainštalovať a spustiť Odoo ako samostatný používateľ. Nového používateľa pre Odoo môžete vytvoriť pomocou nasledujúceho príkazu:
useradd -m -U -r -d /opt/odoo14 -s /bin/bash odoo14
Poznámka: Používateľ Odoo a používateľ PostgreSQL musia byť rovnakí.
Potom prepnite používateľa na Odoo 14 a stiahnite si najnovšiu verziu Odoo 14 pomocou nasledujúceho príkazu:
su - odoo14
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo14
Po dokončení sťahovania zmeňte adresár na odoo14 a vytvorte nové virtuálne prostredie pythonu pomocou nasledujúceho príkazu:
cd /opt/odoo14
python3 -m venv odooenv
Potom aktivujte virtuálne prostredie pomocou nasledujúceho príkazu:
source odooenv/bin/activate
Ďalej nainštalujte ďalšie závislosti Pythonu pomocou nasledujúceho príkazu:
(odooenv) [odoo14@centos8 ~]$ pip3 install wheel
(odooenv) [odoo14@centos8 ~]$ pip3 install -r odoo14/requirements.txt
Ďalej deaktivujte z virtuálneho prostredia a ukončite používateľa Odoo pomocou nasledujúceho príkazu:
(odooenv) [odoo14@centos8 ~]$ deactivate
exit
Po dokončení môžete prejsť na ďalší krok.
Nakonfigurujte Odoo 14
Ďalej budete musieť vytvoriť adresár na ukladanie doplnkov Odoo 14. Môžete ho vytvoriť pomocou nasledujúceho príkazu:
mkdir /opt/odoo14/odoo14-custom-addons
Ďalej nastavte správne vlastníctvo adresára doplnkov:
chown -R odoo14:odoo14 /opt/odoo14/odoo14-custom-addons
Ďalej vytvorte protokolový adresár a súbor pre Odoo 14 a nastavte správne vlastníctvo:
mkdir /var/log/odoo14
touch /var/log/odoo14/odoo14.log
chown -R odoo14: /var/log/odoo14/
Ďalej vytvorte konfiguračný súbor Odoo 14:
nano /etc/odoo14.conf
Pridajte nasledujúce riadky:
[options]
; This is the password that allows database operations:
admin_passwd = your_master_password
db_host = False
db_port = False
db_user = odoo14
db_password = False
xmlrpc_port = 8069
; longpolling_port = 8072
logfile = /var/log/odoo14/odoo14.log
logrotate = True
addons_path = /opt/odoo14/odoo14/addons,/opt/odoo14/odoo14-custom-addons
Po dokončení uložte a zatvorte súbor.
Vytvorte súbor systémovej jednotky pre Odoo 14
Ďalej budete musieť vytvoriť servisný súbor systemd na správu služby Odoo 14. Môžete ho vytvoriť pomocou nasledujúceho príkazu:
nano /etc/systemd/system/odoo14.service
Pridajte nasledujúce riadky:
[Unit]
Description=Odoo14
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo14
PermissionsStartOnly=true
User=odoo14
Group=odoo14
ExecStart=/opt/odoo14/odooenv/bin/python3 /opt/odoo14/odoo14/odoo-bin -c /etc/odoo14.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Uložte a zatvorte súbor a potom znovu načítajte démona systemd pomocou nasledujúceho príkazu:
systemctl daemon-reload
Potom spustite službu Odoo 14 a povoľte jej spustenie pri reštarte systému pomocou nasledujúceho príkazu:
systemctl start odoo14
systemctl enable odoo14
Teraz môžete skontrolovať stav služby Odoo 14 pomocou nasledujúceho príkazu:
systemctl status odoo14
Mali by ste dostať nasledujúci výstup:
? odoo14.service - Odoo14
Loaded: loaded (/etc/systemd/system/odoo14.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2021-05-01 06:29:56 EDT; 5s ago
Main PID: 26505 (python3)
Tasks: 4 (limit: 25014)
Memory: 91.8M
CGroup: /system.slice/odoo14.service
??26505 /opt/odoo14/odooenv/bin/python3 /opt/odoo14/odoo14/odoo-bin -c /etc/odoo14.conf
May 01 06:29:56 centos8 systemd[1]: Started Odoo14.
Po dokončení môžete prejsť na ďalší krok.
Nainštalujte a nakonfigurujte Nginx pre Odoo 14
V tomto bode je Odoo 14 nainštalovaný a spustený. Teraz sa odporúča nakonfigurovať Nginx ako reverzný proxy pre odoo.
Najprv nainštalujte balík Nginx pomocou nasledujúceho príkazu:
dnf install nginx -y
Po nainštalovaní Nginx vytvorte nový konfiguračný súbor virtuálneho hostiteľa Nginx pomocou nasledujúceho príkazu:
nano /etc/nginx/conf.d/odoo14.conf
Pridajte nasledujúce riadky:
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name odoo.example.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Proxy headers
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;
# log files
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Handle longpoll requests
location /longpolling {
proxy_pass http://odoochat;
}
# Handle / requests
location / {
proxy_redirect off;
proxy_pass http://odoo;
}
# Cache static files
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
# Gzip
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Uložte a zatvorte súbor a potom pomocou nasledujúceho príkazu overte, či Nginx neobsahuje žiadnu chybu syntaxe:
nginx -t
Mali by ste dostať nasledujúci výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ďalej spustite službu Nginx a povoľte jej spustenie pri reštarte systému:
systemctl start nginx
systemctl enable nginx
Nginx môžete tiež overiť pomocou nasledujúceho príkazu:
systemctl status nginx
Mali by ste dostať nasledujúci výstup:
? nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2021-05-01 06:31:19 EDT; 3s ago
Process: 26627 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 26625 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 26623 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 26628 (nginx)
Tasks: 3 (limit: 25014)
Memory: 5.3M
CGroup: /system.slice/nginx.service
??26628 nginx: master process /usr/sbin/nginx
??26629 nginx: worker process
??26630 nginx: worker process
May 01 06:31:19 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
May 01 06:31:19 centos8 nginx[26625]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
May 01 06:31:19 centos8 nginx[26625]: nginx: configuration file /etc/nginx/nginx.conf test is successful
May 01 06:31:19 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.
Ďalej upravte konfiguračný súbor Odoo 14 a povoľte režim proxy:
nano /etc/odoo14.conf
Pridajte nasledujúci riadok:
proxy_mode = True
Uložte a zatvorte súbor a potom reštartujte službu Odoo 14, aby ste použili zmeny:
systemctl restart odoo14
Nakonfigurujte bránu firewall
Ďalej budete musieť povoliť port 80 cez bránu firewall. Môžete to povoliť pomocou nasledujúceho príkazu:
firewall-cmd --permanent --add-service=http
Potom znova načítajte bránu firewall, aby ste použili zmeny:
firewall-cmd --reload
Po dokončení môžete prejsť na ďalší krok.
Prístup k ovládaciemu panelu Odoo 14
Teraz otvorte webový prehliadač a prejdite na webové rozhranie Odoo 14 pomocou adresy URL http://odoo.example.com. Budete presmerovaní na nasledujúcu stránku:
Zadajte svoje hlavné heslo Odoo, databázu a kliknite na tlačidlo Vytvoriť databázu. Na nasledujúcej stránke by ste mali vidieť ovládací panel Odoo 14:
Záver
Gratulujem! úspešne ste nainštalovali Odoo 14 ERP s Nginx na CentOS 8. Teraz môžete implementovať Odoo do svojho produkčného prostredia a zvýšiť produktivitu.