אנדרואיד

כיצד להתקין odoo 13 באובונטו 18.04

How to Install Odoo 13 on Ubuntu 18.04

How to Install Odoo 13 on Ubuntu 18.04

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

Anonim

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

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

התקנת Odoo בסביבה וירטואלית, או פריסה ככלי Docker, מאפשרת לך שליטה רבה יותר על הגדרת המערכת, ולהריץ מספר גרסאות Odoo באותה מערכת.

במדריך זה, נלך אתכם דרך התקנה ופריסה של Odoo 13 בסביבה וירטואלית של פייתון באובונטו 18.04. אנו מורידים את Odoo ממאגר ה- Github שלהם ונשתמש ב- Nginx כ- proxy הפוך.

התקנת תנאים מוקדמים

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

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 עם אותו שם כמו משתמש המערכת שנוצר קודם לכן, במקרה שלנו odoo13 :

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

התקנת Wkhtmltopdf

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

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

wget

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

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

התקנה ותצורה של Odoo 13

כאמור, נתקין את Odoo מהמקור בתוך סביבה וירטואלית מבודדת של פייתון.

ראשית, שנה למשתמש "odoo13":

sudo su - odoo13

שיבט את קוד המקור של Odoo 13 מ- GitHub:

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

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

pip3 install wheel pip3 install -r odoo/requirements.txt אם אתה נתקל בשגיאת קומפילציה במהלך ההתקנה, וודא כי כל התלות הנדרשות המפורטות בסעיף Installing Prerequisites מותקנות.

לאחר שתסיים, בטל את הסביבה על ידי הקלדה:

deactivate

ניצור תיקיה חדשה שתכלול את התוספות של צד שלישי.

mkdir /opt/odoo13/odoo-custom-addons

בהמשך, נוסיף את הספריה addons_path לפרמטר 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 עם התוכן הבא:

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

הפעל את שירות Odoo ואיפשר לו להתחיל על האתחול על ידי הפעלה:

sudo systemctl enable --now odoo13

אמת את מצב השירות:

sudo systemctl status odoo13

הפלט צריך להיראות כמו למטה, ולציין ששירות Odoo פעיל ופועל.

● 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

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

sudo journalctl -u odoo13

בדיקת ההתקנה

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

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

קביעת תצורה של Nginx כ- Proxy סיום SSL

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

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

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

ודא כי עמדת בתנאים המוקדמים הבאים לפני שתמשיך בסעיף זה:

  • שם דומיין שמצביע על IP השרת הציבורי שלך. אנו נשתמש ב- example.com Nginx מותקן אישור.SSL עבור הדומיין שלך. אתה יכול להתקין תעודת SSL של Let's Encrypt בחינם.

פתח את עורך הטקסט שלך וצור / ערוך את חסימת שרת הדומיין:

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

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

sudo systemctl restart nginx

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

/etc/odoo13.conf

proxy_mode = True

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

sudo systemctl restart odoo13

בשלב זה, הגדרת ה- proxy ההפוך, ותוכלו לגשת למופע Odoo שלך בכתובת: https://example.com

שינוי ממשק הכריכה

שלב זה הוא לא חובה, אך זהו נוהג אבטחה טוב.

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

אנו נקבע את התצורה של Odoo להאזנה רק ב- 127.0.0.1 . פתח את התצורה הוסף את שתי השורות הבאות בסוף הקובץ:

/etc/odoo13.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

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

sudo systemctl restart odoo13

הפעלת מעבד מרובה

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

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

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

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

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

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

  • ניקח בחשבון ש 20% מכל הבקשות הן בקשות כבדות ו 80% הן קלות יותר. בקשות כבדות משתמשים בסביבות 1 ג'יגה-בייט של זיכרון RAM בעוד שהקלות יותר משתמשות בכ- 150 מגה-בייט של RAMNeeded 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 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 תצטרך בערך 2 ג'יגה זיכרון 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

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

סיכום

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

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

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