एंड्रॉयड

Ubuntu 18.04 पर odoo 12 कैसे तैनात करें

Модуль Общение - Чаты и Каналы ODOO 11 EE

Модуль Общение - Чаты и Каналы ODOO 11 EE

विषयसूची:

Anonim

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

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

यह ट्यूटोरियल उबंटू 18.04 सिस्टम पर Git स्रोत और पायथन वर्चुअल वातावरण का उपयोग करके उत्पादन के लिए Odoo 12 को स्थापित करने और कॉन्फ़िगर करने के लिए आवश्यक चरणों को शामिल करता है।

शुरू करने से पहले

एक यूडो मशीन के रूप में उबंटू मशीन में लॉग इन करें और सिस्टम को नवीनतम पैकेज में अपडेट करें:

sudo apt update && sudo apt upgrade

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 यूजर बनाएं

निम्नलिखित आदेश का उपयोग करके होम निर्देशिका /opt/odoo12 साथ Odoo नामक odoo12 लिए एक नया सिस्टम उपयोगकर्ता बनाएं:

sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12 आप अपने Odoo उपयोगकर्ता के लिए किसी भी नाम का उपयोग कर सकते हैं जब तक आप एक ही नाम के साथ एक PostgreSQL उपयोगकर्ता बनाते हैं।

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

Ubuntu के डिफ़ॉल्ट रिपॉजिटरी से PostgreSQL पैकेज स्थापित करें:

sudo apt install postgresql

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

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

Wkhtmltopdf स्थापित करें

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

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

wget

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

sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb

ओडू को स्थापित और कॉन्फ़िगर करें

हम ओथू को एक अलग पायथन आभासी वातावरण के अंदर गिटहब रिपॉजिटरी से स्थापित करेंगे।

स्थापना प्रक्रिया से शुरू करने से पहले, उपयोगकर्ता को "odoo12" में बदलें:

sudo su - odoo12

GitHub रिपॉजिटरी से Odoo 12 स्रोत कोड को क्लोन करके शुरू करें:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo

एक बार सोर्स कोड डाउनलोड हो जाने के बाद, ओडू 12 इंस्टॉलेशन के लिए एक नया पायथन वर्चुअल वातावरण बनाएं:

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

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

source odoo-venv/bin/activate

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

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

निम्नलिखित आदेश का उपयोग करके पर्यावरण को निष्क्रिय करें:

deactivate

कस्टम addons के लिए एक नई निर्देशिका बनाएँ:

mkdir /opt/odoo12/odoo-custom-addons

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

exit

अगला, शामिल नमूना कॉन्फ़िगरेशन फ़ाइल की प्रतिलिपि बनाकर एक कॉन्फ़िगरेशन फ़ाइल बनाएं:

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

फ़ाइल खोलें और इसे निम्नानुसार संपादित करें:

sudo nano /etc/odoo12.conf /etc/odoo12.conf

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

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

एक सेवा के रूप में ओडू को चलाने के लिए हमें /etc/systemd/system/ निर्देशिका में एक सेवा इकाई फ़ाइल बनाने की आवश्यकता है।

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

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

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

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

sudo systemctl daemon-reload sudo systemctl start odoo12

निम्नलिखित कमांड के साथ सेवा की स्थिति जांचें:

sudo systemctl status odoo12

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

* odoo12.service - Odoo12 Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2018-10-09 14:15:30 PDT; 3s ago Main PID: 24334 (python3) Tasks: 4 (limit: 2319) CGroup: /system.slice/odoo12.service `-24334 /opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf

बूट समय पर स्वचालित रूप से प्रारंभ होने के लिए Odoo सेवा सक्षम करें:

sudo systemctl enable odoo12

sudo journalctl -u odoo12

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

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

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

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

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

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

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

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

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

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

अपना टेक्स्ट संपादक खोलें और निम्न फ़ाइल बनाएं:

sudo nano /etc/nginx/sites-enabled/example.com /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/odoo12.conf

proxy_mode = True

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

sudo systemctl restart odoo12

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

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

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

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

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

/etc/odoo12.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

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

sudo systemctl restart odoo12

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

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

सिस्टम में सीपीयू कोर की संख्या और उपलब्ध रैम मेमोरी के आधार पर श्रमिकों की संख्या की गणना की जाती है।

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

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

  • कार्यकर्ता की सैद्धांतिक अधिकतम संख्या = (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/odoo12.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 odoo12

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

निष्कर्ष

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

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

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