Տեղադրեք Odoo-ն CentOS-ում Nginx-ով


Այս էջում

  1. Նախադրյալներ
  2. Սկսել
  3. Տեղադրեք և կարգավորեք PostgreSQL-ը
  4. Տեղադրեք Odoo 14-ը
  5. Կարգավորեք Odoo 14-ը
  6. Ստեղծեք Systemd Unit ֆայլ Odoo 14-ի համար
  7. Տեղադրեք և կարգավորեք Nginx-ը Odoo 14-ի համար
  8. Կարգավորել Firewall-ը
  9. Մուտք գործեք Odoo 14 վահանակ
  10. Եզրակացություն

Odoo-ն բաց կոդով ERP և CRM համակարգ է, որն օգտագործվում է ընկերության հիմնական կարիքները կառավարելու համար, ներառյալ նյութերի և պահեստի կառավարումը, մարդկային ռեսուրսները, ֆինանսները, հաշվապահական հաշվառումը, վաճառքը, գույքագրումը և ձեռնարկության բազմաթիվ այլ առանձնահատկություններ: Այն կառուցված է Python-ի միջոցով և օգտագործում է PostgreSQL որպես տվյալների բազա: Odoo 14-ի վերջին տարբերակն ունի հարմար առանձնահատկություններ, այդ թվում՝ նոր վեբ ստեղծող, բիզնես հետախուզության նոր գործիքներ, նոր և բարելավված գույքագրում և MRP ընտրացանկեր և այլն:

Այս ձեռնարկը ցույց կտա ձեզ, թե ինչպես տեղադրել Odoo 14-ը Nginx-ով CentOS 8-ում:

Նախադրյալներ

  • Սերվեր, որն աշխատում է CentOS 8-ով:
  • Վավեր տիրույթի անուն, որը նշված է ձեր սերվերի IP-ի հետ:
  • Սերվերի վրա կազմաձևված է արմատային գաղտնաբառը:

Սկսել

Նախքան սկսելը, դուք պետք է տեղադրեք Python, wkhtmltopdf և այլ անհրաժեշտ կախվածություններ ձեր համակարգում: Գործարկեք հետևյալ հրամանը՝ դրանք բոլորը տեղադրելու համար.

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

Երբ բոլոր կախվածությունները տեղադրվեն, կարող եք անցնել հաջորդ քայլին:

Տեղադրեք և կարգավորեք PostgreSQL-ը

Odoo-ն օգտագործում է PostgreSQL-ը որպես տվյալների բազա: Այսպիսով, դուք պետք է այն տեղադրեք ձեր համակարգում: Գործարկեք հետևյալ հրամանը՝ PostgreSQL-ը տեղադրելու համար.

dnf install postgresql postgresql-server postgresql-contrib -y

PostgreSQL-ը տեղադրելուց հետո տվյալների բազան սկզբնավորել հետևյալ հրամանով.

postgresql-setup initdb

Դուք պետք է տեսնեք հետևյալ արդյունքը.

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

Հաջորդը, գործարկեք PostgreSQL ծառայությունը և միացրեք այն սկսելու համակարգի վերագործարկումից.

systemctl start postgresql
systemctl enable postgresql

Հաջորդը, odoo-ի համար ստեղծեք նոր օգտվող հետևյալ հրամանով.

su - postgres -c "createuser -s odoo14"

Ավարտելուց հետո կարող եք անցնել հաջորդ քայլին:

Տեղադրեք Odoo 14-ը

Խորհուրդ է տրվում տեղադրել և գործարկել Odoo-ն որպես ինքնուրույն օգտվող: Դուք կարող եք ստեղծել նոր օգտվող Odoo-ի համար հետևյալ հրամանով.

useradd -m -U -r -d /opt/odoo14 -s /bin/bash odoo14

Նշում. Odoo օգտվողը և PostgreSQL օգտվողը պետք է նույնը լինեն:

Հաջորդը, օգտագործողին միացրեք Odoo 14 և ներբեռնեք Odoo 14-ի վերջին տարբերակը հետևյալ հրամանով.

su - odoo14
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo14

Ներբեռնումն ավարտվելուց հետո փոխեք գրացուցակը odoo14-ի և ստեղծեք նոր python վիրտուալ միջավայր հետևյալ հրամանով.

cd /opt/odoo14
python3 -m venv odooenv

Հաջորդը, ակտիվացրեք վիրտուալ միջավայրը հետևյալ հրամանով.

source odooenv/bin/activate

Հաջորդը, տեղադրեք Python-ի այլ կախվածություններ հետևյալ հրամանով.

(odooenv) [odoo14@centos8 ~]$ pip3 install wheel
(odooenv) [odoo14@centos8 ~]$ pip3 install -r odoo14/requirements.txt

Հաջորդը, անջատեք վիրտուալ միջավայրից և դուրս եկեք Odoo օգտվողից հետևյալ հրամանով.

(odooenv) [odoo14@centos8 ~]$ deactivate
exit

Ավարտելուց հետո կարող եք անցնել հաջորդ քայլին:

Կարգավորեք Odoo 14-ը

Հաջորդը, դուք պետք է ստեղծեք գրացուցակ Odoo 14 հավելումները պահելու համար: Դուք կարող եք այն ստեղծել հետևյալ հրամանով.

mkdir /opt/odoo14/odoo14-custom-addons

Հաջորդը, սահմանեք պատշաճ սեփականություն հավելումների գրացուցակում.

chown -R odoo14:odoo14 /opt/odoo14/odoo14-custom-addons

Հաջորդը, ստեղծեք գրանցամատյան և ֆայլ Odoo 14-ի համար և սահմանեք պատշաճ սեփականություն.

mkdir /var/log/odoo14
touch /var/log/odoo14/odoo14.log
chown -R odoo14: /var/log/odoo14/

Հաջորդը, ստեղծեք Odoo 14 կազմաձևման ֆայլ.

nano /etc/odoo14.conf

Ավելացնել հետևյալ տողերը.

[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

Պահպանեք և փակեք ֆայլը, երբ ավարտեք:

Ստեղծեք Systemd Unit ֆայլ Odoo 14-ի համար

Հաջորդը, դուք պետք է ստեղծեք systemd ծառայության ֆայլ՝ Odoo 14 ծառայությունը կառավարելու համար: Դուք կարող եք այն ստեղծել հետևյալ հրամանով.

nano /etc/systemd/system/odoo14.service

Ավելացնել հետևյալ տողերը.

[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

Պահպանեք և փակեք ֆայլը, այնուհետև վերաբեռնեք systemd daemon-ը հետևյալ հրամանով.

systemctl daemon-reload

Հաջորդը, գործարկեք Odoo 14 ծառայությունը և միացրեք այն, որ այն սկսվի համակարգի վերագործարկումից հետևյալ հրամանով.

systemctl start odoo14
systemctl enable odoo14

Այժմ կարող եք ստուգել Odoo 14 ծառայության կարգավիճակը հետևյալ հրամանով.

systemctl status odoo14

Դուք պետք է ստանաք հետևյալ արդյունքը.

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

Ավարտելուց հետո կարող եք անցնել հաջորդ քայլին:

Տեղադրեք և կարգավորեք Nginx-ը Odoo 14-ի համար

Այս պահին Odoo 14-ը տեղադրված է և աշխատում է: Այժմ խորհուրդ է տրվում կարգավորել Nginx-ը որպես odoo-ի հակադարձ պրոքսի:

Նախ տեղադրեք Nginx փաթեթը հետևյալ հրամանով.

dnf install nginx -y

Երբ Nginx-ը տեղադրվի, ստեղծեք նոր Nginx վիրտուալ հոսթի կազմաձևման ֆայլ հետևյալ հրամանով.

nano /etc/nginx/conf.d/odoo14.conf

Ավելացնել հետևյալ տողերը.

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

Պահպանեք և փակեք ֆայլը, այնուհետև ստուգեք Nginx-ը ցանկացած շարահյուսական սխալի համար հետևյալ հրամանով.

nginx -t

Դուք պետք է ստանաք հետևյալ արդյունքը.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Հաջորդը, գործարկեք Nginx ծառայությունը և միացրեք այն սկսելու համակարգի վերագործարկումից.

systemctl start nginx
systemctl enable nginx

Կարող եք նաև հաստատել Nginx-ը հետևյալ հրամանով.

systemctl status nginx

Դուք պետք է ստանաք հետևյալ արդյունքը.

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

Հաջորդը, խմբագրեք Odoo 14 կազմաձևման ֆայլը և միացրեք վստահված անձի ռեժիմը.

nano /etc/odoo14.conf

Ավելացնել հետևյալ տողը.

proxy_mode = True

Պահպանեք և փակեք ֆայլը, այնուհետև վերագործարկեք Odoo 14 ծառայությունը՝ փոփոխությունները կիրառելու համար.

systemctl restart odoo14

Կարգավորել Firewall-ը

Հաջորդը, դուք պետք է թույլատրեք 80 նավահանգիստը firewall-ի միջոցով: Դուք կարող եք դա թույլ տալ հետևյալ հրամանով.

firewall-cmd --permanent --add-service=http

Հաջորդը, վերաբեռնեք firewall-ը՝ փոփոխությունները կիրառելու համար.

firewall-cmd --reload

Ավարտելուց հետո կարող եք անցնել հաջորդ քայլին:

Մուտք գործեք Odoo 14 վահանակ

Այժմ բացեք ձեր վեբ զննարկիչը և մուտք գործեք Odoo 14 վեբ ինտերֆեյս՝ օգտագործելով http://odoo.example.com URL-ը: Դուք կվերահղվեք հետևյալ էջին՝

Տրամադրեք ձեր Odoo հիմնական գաղտնաբառը, տվյալների բազան և սեղմեք Ստեղծել տվյալների բազա կոճակը: Դուք պետք է տեսնեք Odoo 14 վահանակը հետևյալ էջում.

Եզրակացություն

Շնորհավորում եմ: դուք հաջողությամբ տեղադրել եք Odoo 14 ERP-ը Nginx-ով CentOS 8-ում: Այժմ կարող եք Odoo-ն կիրառել ձեր արտադրական միջավայրում և բարձրացնել արտադրողականությունը: