אנדרואיד

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

Odoo 12 Замутить бизнес Урок 1 Настройка, Контакты, Банк, Банковские счета, Мультивалюты, Сотрудники

Odoo 12 Замутить бизнес Урок 1 Настройка, Контакты, Банк, Банковские счета, Мультивалюты, Сотрудники

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

Anonim

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

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

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

צור משתמש מערכת חדש עבור Odoo בשם odoo12 עם מדריך הבית /opt/odoo12 באמצעות הפקודה הבאה:

sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12 אתה יכול להשתמש בכל שם עבור משתמש Odoo שלך כל עוד אתה יוצר משתמש PostgreSQL עם אותו שם.

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

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

sudo apt install postgresql

לאחר השלמת ההתקנה, צור משתמש PostgreSQL עם אותו שם כמו משתמש המערכת שנוצר קודם לכן, במקרה שלנו odoo12 :

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

התקן 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 בתוך סביבה וירטואלית מבודדת של פייתון.

לפני שתתחיל בתהליך ההתקנה, שנה למשתמש "odoo12":

sudo su - odoo12

התחל בשכפול קוד המקור של Odoo ממאגר GitHub:

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

לאחר הורדת קוד המקור, צרו סביבה וירטואלית חדשה של פייתון להתקנת Odoo 12:

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

לאחר מכן הפעל את הסביבה באמצעות הפקודה הבאה:

source odoo-venv/bin/activate

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

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

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

deactivate

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

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 למשהו בטוח יותר.

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

כדי להפעיל את Odoo כשירות עלינו ליצור קובץ יחידת שירות בספרייה /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

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

sudo systemctl daemon-reload sudo systemctl start odoo12

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

sudo systemctl status odoo12

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

* 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 כ- Proxy לסיום SSL

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

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

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

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

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

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

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

sudo systemctl restart nginx

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

/etc/odoo12.conf

proxy_mode = True

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

sudo systemctl restart odoo12

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

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

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

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

במדריך זה נקבע את תצורת 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

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

כברירת מחדל, 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 שלנו תצטרך בערך 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

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

סיכום

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

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

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