אנדרואיד

כיצד לפרוס odoo 11 באובונטו 18.04

[Odoo 11] Lec (4) Lock - Unlock Confirmed Orders

[Odoo 11] Lec (4) Lock - Unlock Confirmed Orders

תוכן עניינים:

Anonim

Odoo היא התוכנה העסקית הפופולרית ביותר ב- One בעולם. הוא מציע מגוון יישומים עסקיים הכוללים CRM, אתר, מסחר אלקטרוני, חיוב, חשבונאות, ייצור, מחסן, ניהול פרויקטים, מלאי ועוד, הכל משולב בצורה חלקה.

ישנן מספר דרכים להתקנת Odoo בהתאם למקרה השימוש הנדרש. הדרך הקלה והמהירה ביותר להתקנת Odoo היא באמצעות מאגרי APT הרשמיים שלהם.

מדריך זה מכסה את הצעדים הדרושים להתקנה ולהגדרת תצורה של Odoo לייצור באמצעות מקור Git וסביבה וירטואלית Python במערכת אובונטו 18.04.

לפני שאתה מתחיל

היכנס למחשב אובונטו שלך כמשתמש בסודו ועדכן את המערכת לחבילות האחרונות:

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/odoo ביתי שיפעיל את שירות Odoo.

sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo אתה יכול לתת שם למשתמש ככל העולה על רוחו, רק וודא שאתה יוצר משתמש Postgres עם אותו שם.

התקן וקבע את התצורה של PostgreSQL

התקן את חבילת PostgreSQL ממאגרי ברירת המחדל של אובונטו:

sudo apt install postgresql

לאחר השלמת ההתקנה, צור משתמש PostgreSQL בעל שם זהה למשתמש המשתמש שיצר בעבר, במקרה שלנו odoo :

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

התקן Wkhtmltopdf

חבילת wkhtmltox מספקת מערכת כלים של שורת פקודה בקוד פתוח שיכולה להפוך HTML ל- PDF ולתבניות תמונה שונות. כדי להדפיס דוחות PDF, תזדקק לכלי wkhtmltopdf . הגרסה המומלצת עבור Odoo היא 0.12.1 שאינה זמינה במאגרי הרשמי של אובונטו 18.04.

הורד את החבילה באמצעות הפקודה הבאה של wget:

wget

לאחר השלמת ההורדה, התקן את החבילה על ידי הקלדת:

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

התקן והגדר את תצורת Odoo

אנו נתקין את Odoo ממאגר ה- GitHub בתוך סביבה וירטואלית מבודדת של פייתון כך שנוכל לקבל שליטה רבה יותר על גרסאות ועדכונים.

לפני שתתחיל בתהליך ההתקנה, הקפד לעבור למשתמש odoo .

sudo su - odoo

כדי לאשר שאתה מחובר כמשתמש odoo אתה יכול להשתמש בפקודה הבאה:

whoami

כעת נוכל להתחיל בתהליך ההתקנה. שיבט תחילה את odoo ממאגר GitHub:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11

  • אם ברצונך להתקין גרסת Odoo אחרת, פשוט שנה את מספר הגירסה לאחר מתג הסניף. אתה יכול לתת שם לספרייה כרצונך, לדוגמה במקום odoo11 תוכל להשתמש בשם התחום שלך.

כדי ליצור סביבה וירטואלית חדשה להפעלת מופע Odoo 11:

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

הפעל את הסביבה באמצעות הפקודה הבאה:

source odoo11-venv/bin/activate

ולהתקין את כל מודולי Python הנדרשים עם pip3:

pip3 install wheel pip3 install -r odoo11/requirements.txt

pip3 הוא כלי להתקנה וניהול של חבילות Python.

לאחר סיום ההתקנה, השבתו את הסביבה וחזרו למשתמש הסודי שלכם באמצעות הפקודות הבאות:

deactivate

exit

sudo mkdir /opt/odoo/odoo11-custom-addons sudo chown odoo: /opt/odoo/odoo11-custom-addons

בשלב הבא עלינו ליצור קובץ תצורה, אנו יכולים ליצור קובץ חדש מאפס או להעתיק את קובץ התצורה הכלול:

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

פתח את הקובץ וערוך אותו באופן הבא:

/etc/odoo11.conf

; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo db_password = False addons_path = /opt/odoo/odoo11/addons; If you are using custom modules; addons_path = /opt/odoo/odoo11/addons, /opt/odoo/odoo11-custom-addons אל תשכח לשנות את my_admin_passwd למשהו בטוח יותר ולהתאים את addons_path אם אתה משתמש במודולים מותאמים אישית.

צור קובץ יחידת מערכת

להפעלת odoo כשירות, ניצור קובץ יחידת odoo11.service בתיקייה /etc/systemd/system/ עם התכנים הבאים:

/etc/systemd/system/odoo11.service

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

הודע למערכת שיצרנו קובץ יחידה חדש והפעל את שירות Odoo על ידי ביצוע:

sudo systemctl daemon-reload sudo systemctl start odoo11

ניתן לבדוק את מצב השירות באמצעות הפקודה הבאה:

sudo systemctl status odoo11

● odoo11.service - Odoo11 Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-03 21:23:08 UTC; 3s ago Main PID: 18351 (python3) Tasks: 4 (limit: 507) CGroup: /system.slice/odoo11.service └─18351 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf

ואם אין שגיאות, באפשרותך לאפשר הפעלה אוטומטית של שירות Odoo בזמן האתחול:

sudo systemctl enable odoo11

sudo journalctl -u odoo11

בדוק את ההתקנה

פתח את הדפדפן שלך והקלד: http://:8069 http://:8069

בהנחה שההתקנה מצליחה, יופיע מסך הדומה לזה הבא:

קבע את התצורה של Nginx כמתוקף סיום SSL

  • יש לך שם תחום שמצביע על IP השרת הציבורי שלך. במדריך זה נשתמש ב- example.com . יש לך Nginx המותקן על ידי ביצוע הוראות אלה. יש לך אישור SSL המותקן לדומיין שלך. באפשרותך להתקין תעודת SSL SSL בחינם על ידי ביצוע הוראות אלה.

שרת האינטרנט של ברירת המחדל של Odoo משרת תנועה דרך HTTP. כדי להפוך את פריסת Odoo לבטוחה יותר, אנו נקבע את התצורה של Nginx כפרוקסי סיום SSL אשר ישמש את התעבורה דרך

פרוקסי סיום SSL הוא שרת פרוקסי המטפל בהצפנת / פענוח SSL. משמעות הדבר היא שפרוקסי סיום שלנו (Nginx) יטפל בפענוח חיבורי TLS נכנסים (HTTPS), והוא יעביר את הבקשות הבלתי מוצפנות לשירות הפנימי שלנו (Odoo) כך שהתנועה בין Nginx ל- Odoo לא תוצפן (HTTP).

עלינו לומר לאודו כי אנו נשתמש בפרוקסי, נפתח את קובץ התצורה ונוסף את השורה הבאה:

/etc/odoo11.conf

proxy_mode = True

הפעל מחדש את שירות Odoo כדי שהשינויים ייכנסו לתוקף:

sudo systemctl restart odoo11

השימוש ב- Nginx כ- proxy מעניק לנו מספר יתרונות. בדוגמה זו נקבע את התצורה של סיום 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 בדומיין Odoo שלך ולהגדיר את הנתיב הנכון לקובצי אישור SSL. הקטעים המשמשים בתצורה זו נוצרים במדריך זה.

לאחר שתסיים, הפעל מחדש את שירות Nginx באמצעות:

sudo systemctl restart nginx

שנה את ממשק הכריכה

שלב זה הוא לא חובה, אך זהו נוהג אבטחה טוב. כברירת מחדל, שרת Odoo מקשיב ליציאה 8069 בכל הממשקים, כך שאם ברצונך להשבית גישה ישירה למופע Odoo שלך, אתה יכול לחסום את היציאה 8069 לכל הממשקים הציבוריים או לאלץ את Odoo להאזין רק בממשק המקומי.

במדריך זה נאלץ את Odoo להאזין רק ב- 127.0.0.1 , לפתוח את תצורת Odoo להוסיף את שתי השורות הבאות בסוף הקובץ:

/etc/odoo11.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

שמור את קובץ התצורה והפעל מחדש את שרת Odoo כדי שהשינויים ייכנסו לתוקף:

sudo systemctl restart odoo

אפשר עיבוד מרובה

כברירת מחדל, Odoo פועל במצב של ריבוי חוטים. עבור פריסות ייצור, מומלץ לעבור לשרת המעבד מכיוון שהוא מגביר את היציבות ולנצל טוב יותר את משאבי המערכת. על מנת לאפשר עיבוד מרובה אנו צריכים לערוך את תצורת Odoo ולהגדיר מספר לא-אפס של תהליכי עובדים.

מספר העובדים מחושב על פי מספר ליבות המעבד במערכת וזיכרון ה- RAM הזמין.

על פי התיעוד הרשמי של Odoo לחישוב מספר העובדים וגודל זיכרון ה- RAM הנדרש, נשתמש בנוסחאות וההנחות הבאות:

חישוב מספר העובד

  • המספר המרבי התיאורטי של העובד = (system_cpus * 2) + 11 עובדים יכולים לשרת ~ = 6 משתמשים במקביל עובדים העובדים דורשים גם מעבד

חישוב גודל זיכרון RAM

  • נשקול כי 20% מכל הבקשות הן בקשות כבדות, בעוד 80% הן קלות יותר. בקשות כבדות משתמשים בערך 1 ג'יגה-בתים של RAM בעוד שהקלות יותר משתמשות בכ -150 מגה-בייט של RAMNeeded RAM = מספר_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))

grep -c ^processor /proc/cpuinfo

נניח שיש לנו מערכת עם 4 ליבות מעבד, 8 GB זיכרון RAM ו 30 משתמשי Odoo במקביל.

  • 30 users / 6 = **5** (5 הוא מספר העובדים הדרוש לעובדים) (4 * 2) + 1 = **9** (9 הוא מספר העובדים המרבי התיאורטי)

בהתבסס על החישוב שלמעלה אנו יכולים להשתמש ב 5 עובדים + 1 עובד לעובד cron הכולל 6 עובדים.

חשב את צריכת זיכרון ה- RAM על פי מספר העובדים:

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

החישוב שלמעלה מראה לנו כי התקנת Odoo שלנו תצטרך בערך 2GB של זיכרון RAM.

כדי לעבור למצב עיבוד רב, פתח את קובץ התצורה והוסף את השורות הבאות:

/etc/odoo11.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 odoo11

שאר משאבי המערכת ישמשו שירותים אחרים הפועלים במחשב שלנו. במדריך זה התקנו את Odoo יחד עם PostgreSQL ו- Nginx באותו שרת ובהתאם להגדרה שלך יתכנו גם שירותים אחרים הפועלים בשרת שלך.

סיכום

זהו זה! הדרכה זו הובילה אותך דרך ההתקנה של Odoo 11 באובונטו 18.04 בסביבה וירטואלית של פייתון באמצעות Nginx כפרוקסיור הפוך. למדת גם כיצד לאפשר עיבוד מרובה ומיטוב Odoo לסביבת הייצור. יתכן שתרצה לבדוק את ההדרכה שלנו כיצד ליצור גיבויים יומיים אוטומטיים של מסדי הנתונים שלך ב- Odoo.

אובונטו odoo postgresql פיתון פיפ nginx proxy ssl