एंड्रॉयड

Ubuntu 18.04 पर odoo 13 कैसे स्थापित करें

उबंटू 18.04 पर Odoo 13 स्थापित करने के लिए कैसे

उबंटू 18.04 पर Odoo 13 स्थापित करने के लिए कैसे

विषयसूची:

Anonim

ओडू व्यावसायिक ऐप का एक लोकप्रिय ओपन-सोर्स सूट है। यह सीआरएम, ई-कॉमर्स, वेबसाइट बिल्डर, बिलिंग, अकाउंटिंग, मैन्युफैक्चरिंग, वेयरहाउस, प्रोजेक्ट मैनेजमेंट, इन्वेंट्री, और बहुत कुछ, सहित सभी अनुप्रयोगों की एक श्रृंखला प्रदान करता है।

उपयोग के मामले और उपलब्ध तकनीकों के आधार पर ओडू को कई तरीकों से स्थापित किया जा सकता है। ओडू को स्थापित करने का सबसे आसान और तेज तरीका आधिकारिक ओडू एपीटी रिपॉजिटरी का उपयोग करना है।

एक आभासी वातावरण में ओडू को स्थापित करना, या डॉकटर कंटेनर के रूप में तैनात करना, आपको सिस्टम के सेट अप पर अधिक नियंत्रण रखने और एक ही सिस्टम पर कई ओडू संस्करण चलाने की अनुमति देता है।

इस गाइड में, हम आपको Ubuntu 18.04 पर पायथन वर्चुअल वातावरण के अंदर Odoo 13 की स्थापना और तैनाती के माध्यम से चलेंगे। हम ओडू को उनके जीथूब रिपॉजिटरी से डाउनलोड करेंगे और निग्नेक्स को रिवर्स प्रॉक्सी के रूप में उपयोग करेंगे।

पूर्वापेक्षाएँ स्थापित कर रहा है

एक sudo उपयोगकर्ता के रूप में अपने Ubuntu में लॉगिन करें और Apt cache को अपडेट करें:

sudo apt update

Git, Pip, Node.js और Odoo निर्भरता बनाने के लिए आवश्यक उपकरण स्थापित करें:

sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less

एक सिस्टम उपयोगकर्ता बनाना

एक सिस्टम उपयोगकर्ता बनाएं जो Odoo चलाएगा, जिसका नाम odoo13 होम डायरेक्टरी /opt/odoo13 :

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

जब तक आप एक ही नाम से PostgreSQL उपयोगकर्ता बनाते हैं, तब तक आप उपयोगकर्ता का नाम कुछ भी सेट कर सकते हैं।

PostgreSQL स्थापित करना और कॉन्फ़िगर करना

Odoo डेटाबेस बैक-एंड के रूप में PostgreSQL का उपयोग करता है। PostgreSQL स्थापित करने के लिए निम्नलिखित कमांड चलाएँ:

sudo apt install postgresql

एक बार इंस्टॉलेशन पूरा हो जाने के बाद, पहले से बनाए गए सिस्टम यूजर के समान नाम के साथ एक PostgreSQL उपयोगकर्ता बनाएं, जो हमारे मामले में है:

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

Wkhtmltopdf स्थापित करना

wkhtmltox पैकेज ओपन-सोर्स कमांड-लाइन टूल का एक सेट प्रदान करता है जो HTML को पीडीएफ और विभिन्न छवि प्रारूपों में प्रस्तुत कर सकता है। पीडीएफ रिपोर्ट प्रिंट करने में सक्षम होने के लिए, आपको wkhtmltopdf टूल इंस्टॉल करना होगा। ओडू के लिए अनुशंसित संस्करण 0.12.5 है, जो कि डिफ़ॉल्ट उबंटू 18.04 रिपॉजिटरी में उपलब्ध नहीं है।

निम्नलिखित विग कमांड का उपयोग करके पैकेज डाउनलोड करें:

wget

एक बार डाउनलोड पूरा होने पर, पैकेज को टाइप करके स्थापित करें:

sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb

अधिष्ठापन और विन्यास Odoo 13

जैसा कि पहले उल्लेख किया गया है, हम ओडू को एक पृथक पायथन आभासी वातावरण के अंदर स्रोत से स्थापित करेंगे।

सबसे पहले, उपयोगकर्ता को "odoo13" में बदलें:

sudo su - odoo13

GitHub से Odoo 13 स्रोत कोड क्लोन करें:

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

डाउनलोड पूरा होने के बाद, Odoo के लिए एक नया पायथन वर्चुअल वातावरण बनाएं:

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

निम्नलिखित कमांड के साथ पर्यावरण को सक्रिय करें:

source odoo-venv/bin/activate

Pip3 के साथ सभी आवश्यक पायथन मॉड्यूल स्थापित करें:

pip3 install wheel pip3 install -r odoo/requirements.txt यदि आप स्थापना के दौरान किसी भी संकलन त्रुटि का सामना करते हैं, तो सुनिश्चित करें कि सभी आवश्यक निर्भरताएँ Installing Prerequisites अनुभाग में सूचीबद्ध हैं।

एक बार करने के बाद, टाइप करके पर्यावरण को निष्क्रिय करें:

deactivate

हम एक नई निर्देशिका बनाएंगे जो तृतीय पक्ष के ऐडऑन को रखेगा।

mkdir /opt/odoo13/odoo-custom-addons

बाद में, हम इस निर्देशिका को addons_path पैरामीटर में जोड़ देंगे। यह पैरामीटर उन निर्देशिकाओं की एक सूची को परिभाषित करता है जहां Odoo मॉड्यूल की खोज करता है।

अपने sudo उपयोगकर्ता पर वापस जाएँ:

exit

निम्नलिखित सामग्री के साथ एक कॉन्फ़िगरेशन फ़ाइल बनाएं:

sudo nano /etc/odoo13.conf /etc/odoo13.conf

; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo13 db_password = False addons_path = /opt/odoo13/odoo/addons, /opt/odoo13/odoo-custom-addons my_admin_passwd को कुछ अधिक सुरक्षित करने के लिए बदलना न भूलें।

एक Systemd यूनिट फ़ाइल बनाना

अपना टेक्स्ट एडिटर खोलें और निम्नलिखित सामग्री के साथ एक सर्विस यूनिट फ़ाइल odoo13.service जिसका नाम odoo13.service है:

sudo nano /etc/systemd/system/odoo13.service /etc/systemd/system/odoo13.service

Description=Odoo13 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo13 PermissionsStartOnly=true User=odoo13 Group=odoo13 ExecStart=/opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf StandardOutput=journal+console WantedBy=multi-user.target

सिस्टम को सूचित करें कि एक नई इकाई फ़ाइल मौजूद है:

sudo systemctl daemon-reload

ओडू सेवा शुरू करें और इसे चालू करके बूट करने के लिए सक्षम करें:

sudo systemctl enable --now odoo13

सेवा की स्थिति सत्यापित करें:

sudo systemctl status odoo13

आउटपुट को नीचे की तरह कुछ दिखना चाहिए, यह दर्शाता है कि ओडू सेवा सक्रिय और चल रही है।

● odoo13.service Loaded: loaded (/etc/systemd/system/odoo13.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-10-19 20:06:23 UTC; 3s ago Main PID: 1860 (python3) Tasks: 4 (limit: 2362) CGroup: /system.slice/odoo13.service └─1860 /opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf

ओडू सेवा द्वारा लॉग किए गए संदेशों को देखने के लिए, नीचे दिए गए आदेश का उपयोग करें:

sudo journalctl -u odoo13

स्थापना का परीक्षण

अपना ब्राउज़र खोलें और टाइप करें: http://:8069 http://:8069

यह मानते हुए कि इंस्टॉलेशन सफल है, निम्नलिखित के समान स्क्रीन दिखाई देगी:

SSL समाप्ति प्रॉक्सी के रूप में Nginx को कॉन्फ़िगर करना

डिफ़ॉल्ट Odoo वेब सर्वर HTTP पर ट्रैफ़िक परोस रहा है। ओडू की तैनाती को और अधिक सुरक्षित बनाने के लिए हम Nginx को SSL समाप्ति प्रॉक्सी के रूप में कॉन्फ़िगर करेंगे जो HTTPS पर ट्रैफ़िक का काम करेगी।

SSL समाप्ति प्रॉक्सी एक प्रॉक्सी सर्वर है जो SSL एन्क्रिप्शन / डिक्रिप्शन को हैंडल करता है। इसका अर्थ है कि समाप्ति प्रॉक्सी (Nginx) आने वाले TLS कनेक्शन (HTTPS) को संसाधित और डिक्रिप्ट करेगी, और आंतरिक सेवा (Odoo) के लिए अनएन्क्रिप्टेड अनुरोधों को पारित करेगी। Nginx और Odoo के बीच का ट्रैफ़िक एन्क्रिप्टेड (HTTP) नहीं होगा।

रिवर्स प्रॉक्सी का उपयोग करने से आपको बहुत सारे लाभ मिलते हैं जैसे कि लोड बैलेंसिंग, एसएसएल टर्मिनेशन, कैशिंग, कम्प्रेशन, सर्विसिंग स्टेटिक कंटेंट आदि।

सुनिश्चित करें कि आप इस खंड को जारी रखने से पहले निम्नलिखित आवश्यक शर्तें पूरी कर चुके हैं:

  • आपके सार्वजनिक सर्वर आईपी की ओर इशारा करते हुए डोमेन नाम। हम आपके डोमेन के लिए example.com .Nginx इंस्टॉल.SSL प्रमाणपत्र का उपयोग करेंगे। आप एक निशुल्क लेट एनक्रिप्ट एसएसएल प्रमाणपत्र स्थापित कर सकते हैं।

अपना टेक्स्ट एडिटर खोलें और डोमेन सर्वर ब्लॉक बनाएं / संपादित करें:

sudo nano /etc/nginx/sites-enabled/example.com

निम्न कॉन्फ़िगरेशन SSL समाप्ति, HTTP से HTTPS पुनर्निर्देशन, WWW को गैर-WWW पुनर्निर्देशन, स्थिर फ़ाइलों को कैश और GZip संपीड़न को सक्षम करने के लिए सेट करता है।

/etc/nginx/sites-enabled/example.com

# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } # HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name 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; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # 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; } अपने ओडू डोमेन के साथ example.com को बदलना न भूलें और एसएसएल प्रमाणपत्र फ़ाइलों के लिए सही रास्ता तय करें। इस कॉन्फ़िगरेशन में उपयोग किए गए स्निपेट्स इस गाइड में बनाए गए हैं।

एक बार काम पूरा करने के बाद, Nginx सेवा को फिर से शुरू करें:

sudo systemctl restart nginx

अगला, हमें प्रॉक्सी का उपयोग करने के लिए ओडू को बताने की आवश्यकता है। ऐसा करने के लिए, कॉन्फ़िगरेशन फ़ाइल खोलें और निम्न पंक्ति जोड़ें:

/etc/odoo13.conf

proxy_mode = True

परिवर्तनों को प्रभावी करने के लिए Odoo सेवा को पुनरारंभ करें:

sudo systemctl restart odoo13

इस बिंदु पर, रिवर्स प्रॉक्सी कॉन्फ़िगर किया गया है, और आप अपने ओडू उदाहरण पर पहुंच सकते हैं: https://example.com

बाइंडिंग इंटरफ़ेस बदलना

यह कदम वैकल्पिक है, लेकिन यह एक अच्छा सुरक्षा अभ्यास है।

डिफ़ॉल्ट रूप से, ओडू सर्वर सभी इंटरफेस पर 8069 पोर्ट करने के लिए सुनता है। ओडू उदाहरण के लिए सीधी पहुंच को अक्षम करने के लिए, आप या तो सभी सार्वजनिक इंटरफेस के लिए पोर्ट 8069 को ब्लॉक कर सकते हैं या ओडू को केवल स्थानीय इंटरफ़ेस पर सुनने के लिए मजबूर कर सकते हैं।

हम केवल 127.0.0.1 पर सुनने के लिए Odoo को कॉन्फ़िगर करेंगे। कॉन्फ़िगरेशन खोलें फ़ाइल के अंत में निम्नलिखित दो लाइनें जोड़ें:

/etc/odoo13.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

कॉन्फ़िगरेशन फ़ाइल सहेजें और परिवर्तनों को प्रभावी करने के लिए Odoo सर्वर को पुनरारंभ करें:

sudo systemctl restart odoo13

मल्टीप्रोसेसिंग को सक्षम करना

डिफ़ॉल्ट रूप से, ओडू मल्टीथ्रेडिंग मोड में काम कर रहा है। उत्पादन परिनियोजन के लिए, यह स्थिरता को बढ़ाता है, और सिस्टम संसाधनों का बेहतर उपयोग करने के लिए मल्टीप्रोसेसिंग सर्वर में बदलने की सिफारिश की जाती है।

मल्टीप्रोसेसिंग को सक्षम करने के लिए आपको ओडू कॉन्फ़िगरेशन को संपादित करने और गैर-शून्य संख्या में श्रमिक प्रक्रियाओं को सेट करने की आवश्यकता है। सिस्टम में सीपीयू कोर की संख्या और उपलब्ध रैम मेमोरी के आधार पर श्रमिकों की संख्या की गणना की जाती है।

श्रमिकों की संख्या और आवश्यक RAM मेमोरी आकार की गणना करने के लिए आधिकारिक ओडू प्रलेखन के अनुसार, आप निम्न सूत्रों और मान्यताओं का उपयोग कर सकते हैं:

कार्यकर्ता संख्या की गणना

  • कार्यकर्ता की सैद्धांतिक अधिकतम संख्या = (system_cpus * 2) + 11 कार्यकर्ता सेवा कर सकते हैं ~ = 6 समवर्ती उपयोगकर्ता क्रोन श्रमिकों को भी सीपीयू की आवश्यकता होती है

रैम मेमोरी साइज कैलकुलेशन

  • हम विचार करेंगे कि सभी अनुरोधों में से 20% भारी अनुरोध हैं, और 80% हल्के हैं। भारी अनुरोध लगभग 1 GB RAM का उपयोग कर रहे हैं, जबकि लाइटर वाले लगभग 150 MB RAM RAM का उपयोग कर रहे हैं RAM = number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))

grep -c ^processor /proc/cpuinfo

मान लें कि आपके पास 4 सीपीयू कोर, 8 जीबी रैम मेमोरी और 30 समवर्ती ओडू उपयोगकर्ताओं के साथ एक प्रणाली है।

  • 30 users / 6 = **5** (5 आवश्यक श्रमिकों की सैद्धांतिक संख्या है) (4 * 2) + 1 = **9** (9 श्रमिकों की सैद्धांतिक अधिकतम संख्या है)

ऊपर की गणना के आधार पर, आप क्रोन कार्यकर्ता के लिए 5 श्रमिकों + 1 कार्यकर्ता का उपयोग कर सकते हैं जो कि कुल 6 श्रमिक हैं।

श्रमिकों की संख्या के आधार पर रैम मेमोरी खपत की गणना करें:

  • RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM

गणना से पता चलता है कि ओडू इंस्टॉलेशन को लगभग 2GB RAM की आवश्यकता होगी।

मल्टीप्रोसेसिंग मोड पर जाने के लिए, कॉन्फ़िगरेशन फ़ाइल खोलें और परिकलित मानों को जोड़ें:

/etc/odoo13.conf

limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 workers = 5

परिवर्तनों को प्रभावी करने के लिए Odoo सेवा को पुनरारंभ करें:

sudo systemctl restart odoo13

बाकी सिस्टम संसाधनों का उपयोग इस सिस्टम पर चलने वाली अन्य सेवाओं द्वारा किया जाएगा। इस गाइड में, हमने उसी सर्वर पर PostgreSQL और Nginx के साथ Odoo स्थापित किया। आपके सेट अप के आधार पर आपके सर्वर पर अन्य सेवाएं भी चल सकती हैं।

निष्कर्ष

इस ट्यूटोरियल ने आपको उबंटू 13 की स्थापना के माध्यम से उबंटू 18.04 पर एक निगेटिव प्रॉक्सी के रूप में निग्नेक्स का उपयोग करते हुए पायथन आभासी वातावरण में स्थापित किया। हमने आपको यह भी दिखाया है कि उत्पादन वातावरण के लिए ओडू को बहुप्रतिक्षित और अनुकूलित करने में कैसे सक्षम किया जाए।

आप अपने ट्यूटोरियल की जांच करना चाहते हैं कि ओडू डेटाबेस के स्वचालित दैनिक बैकअप कैसे बनाएं।

ubuntu odoo postgresql python pip nginx प्रॉक्सी ssl