על מנת לאפשר הקמת את סביבת פיתוח עבור מערכת מג'נטו 2 אנו נדרשים לבצע את ההתקנות הבאות:

  1. WSL 2
  2. Docker

התקנת   Windows Subsystem for Linux

שימוש בBash הוא  למעשה הוא חלק נדרש בניהול כל אפליקציית PHP  שכן אפליקציית PHP רצה על שרתי Linux. חובה לבצע התקנה של רכיבי Linux ובפרט של מערכת ההפעלה Ubuntu על מנת לבצע פעולות נדרשות בהקמת סביבת פיתוח ואף בפעולות שוטפות כגון : ניהול מודולים , מחיקת cache , reindex , התקנה דרך הcomposer של עדכוני מג'נטו ומודולים צד שלישי , הפעלת מצב פרודקשן , ניהול מנהלי המערכת האדמין , ניהול קרונים , יצירת קבצים סטטיים ועוד פעולות רבות אחרות.

 

מתכנת מג'נטו נדרש לדעת שימוש בינוני בShell אחרת הפיתוח יתארך באופן משמעותי וכמובן שנזכיר את השימוש ב NPM  ובקבצי grunt אשר מחייבים פקודות בתוך הshell כגון grunt watch ו Live Reload אשר מאפשר למפתח הפרונט-אנד פיתוח מהיר שבעת שמירת קובץ הcss  נראה את השינוי באופן מיידי על הדפדפן. 

הוראות התקנה עבור WSL

1.יש לבצע התקנה של   WSL 2  אשר מבצעת התקנת מערכת הפעלה של Ubuntu  בתוך הWindows ולשם כך יש להוריד את מערכת ההפעלה מהקישור הבא : https://ubuntu.com/wsl .

נדרשות מספר פעולות על מנת לבצע התקנה אופטימלית של הWSL   

א.      יש להכנס אל תפריט האפשרויות של Windows features  דרך שורת החיפוש 

ב.      יש לבצע הגדרה של הפיצ'רים הבאים :

1.      רכיב Hyper – V   (אופציונלי) – רכיב זה אחראי נותן מענה מהיר ומתקדם לחיבור מכונות וירטואליזציה אשר הוא נחוץ עבור הפרויקט של סביבת הפיתוח . שימוש בHyper-V ניתן אך ורק בגרסת Win pro והינו אופציונלי שכן לDocker יש וירטואליזציה משלו . קיימים מצבים שבחלק מהמחשבים אין תמיכה ברמת הBios מכיוון שהמחשבים יחסית ישנים ולכן בתחילת מומלץ להשאיר מכובה ורק לאחר התקנה מוצלחת – יש לפעיל בשנית.

+חובה להפעיל את רכיב הcontainers בנוסף

2.      רכיב Windows Hypervisor Platform מענה בסיסי לוירטואליזציה במערכת הWin  וההתקשרות בין הdocker וה WSL.  

3.      רכיב Virtual Machine Platform רכיב זה למעשה מבצע הפעלה של כלל רכיבי הוירטואלזציה להקמת סביבות פיתוח לצורך מתן הרשאה ל Docker להקים סביבת פיתוח מורכבות.

4.      רכיב Guarded Host (חייב להיות כבוי) – משמש בתור firewall  על כלל המכונות הווירטואליות אשר מוקמות דרך ה WSL

5.      רכיב  Services for NFS    משמש עבור סנכרון בין הקבצים אשר נמצאים בWSL  אל הקבצים אשר נמצאים בDocker .

6.      רכיב  ה Subsystem For Linux מאפשר את הקמת הWSL  בתוך מערכת ההפעלה של הWIN

 

2.המחשב יבצע restart וידרוש עדכון עבור הKernel שזוהי למעשה הליבה של הWSL     https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

3.יש לפתוח שוב את מערכת ההפעלה Ubuntu ולהקליד שם משתמש וסיסמא וכעת מותקנת סביבת Ubuntu רשמית בתוך הWin לצרכי פיתוח באופן כמעט זהה לכלל הפעולות שהיינו מבצעים בMac OS .

חשוב לבצע עדכון של הUbuntu באמצעות הפקודות הבאות:

apt list –upgradable

 

קישור להורדה :

https://www.microsoft.com/en-il/p/windows-terminal/9n0dx20hk701

בנוסף , מומלץ להתקין את הWindows terminal  ולפתוח לשונית במצב Ubuntu כפי שניתן לראות בצילום מסך 

נספחים:

הדוקומנטציה הרשמית של WSL

https://docs.microsoft.com/en-us/windows/wsl/

הדוקומנטציה הרשמית עבור Windows Terminal

https://docs.microsoft.com/en-us/windows/terminal/

התקנת Docker

 Docker הוא פרויקט קוד פתוח של תוכנה המספקת שכבת הפשטה ואוטומציה להתקנת והרצת יישומים בתוך קונטיינרים (מכולות) המנוהלים על ידי וירטואליזציה ברמת מערכת ההפעלה על גבי Windows,‏ macOS וLinux.[1]

 

מומלץ  ללמוד לעומק מהו הDocker מכיוון שמדובר בכלי החזק ביותר וחברת מג'נטו העולמית ממליצה להשתמש בDocker בתור סביבת פיתוח ואף מחייבת להשתמש בdocker בסביבת הפרודקשן של גרסת הCommerce שלהם .

הוראות התקנה עבור Docker

1.      יש לבצע הרשמה והתחברות דרך האתר הרשמי

https://www.docker.com/ 

2.      יש לבצע הורדה של Docker desktop

3.      יש לבצע התקנה וכמובן לוודא התקנה של  רכיבים עבור WSL

4. יש ללחוץ על ההגדרות אשר נמצאות בצד ימין העליון של המסך ולאפשר את כל האופציות

 

 

5.      יש לוודא שב Resources יש את האפשרות של WSL  מסומנת בתור ברירת מחדל וכמובן גם מערכת ההפעלה Ubuntu 

6. מומלץ לבצע שימוש בDocker ComposeV2 תחת Experimental features  מכיוון שמדובר בסביבת פיתוח אז ניתן לבחון פ'יצרים חדשים של docker

 

התקנת סביבת הפיתוח דרך  markshust/docker-magento

סביבת הפיתוח של MarkShust היא נכון לעכשיו סביבת הפיתוח הפופולרית ביותר עבור פלטפורמת מג'נטו 2 אשר משתמשת בDocker ובWSL  כדי ליצור קונטיינרים  כגון : Elastic Search ,Redis , MySQL , PHP-7.4 FPM , App , MailHog   על מנת לאפשר לסביבת הפיתוח לרוץ כפי שהיא רצה בשרת חיצוני אשר מותאם עבור מערכת מג'נטו 2 .  

הפרויקט יושב תחת הrepo   : https://github.com/markshust/docker-magento

הוראת התקנה עבור סביבת פיתוח מג'נטו 2 

 הקמת קונטיינרים ושלב סופי של הקמת סביבת הפיתוח

 

1.יש להשתמש בWindows terminal  ולהגיע למיקום דרך הBash להיכן שאנו רוצים שקבצי הפרויקט יוקמו. 

2.יש להריץ את הפקודה :

curl -s https://raw.githubusercontent.com/markshust/docker-magento/master/lib/template | bash

פקודה זו למעשה יוצרת לנו את הקבצים הרלוונטית להקמת סביבת הפיתוח עבור מג'נטו 2

3. יש להריץ את הפקודה

bin/download 2.4.2

אשר תתן לנו את האפשרות להוריד containersעבור סביבת הפיתוח של מג'נטו 2  כולל התקנת הרכיבים עבור השרת אשר יאחסן את פלטפורמת מג'נטו 2 .

השלב הבא נדרש להביא את ה Access Keys  שלנו מהאתר https://marketplace.magento.com/ באזור האישי על מנת להוריד את הpackages של מערכת מג'נטו 2 .

4. השלב הבא נדרש להביא את ה Access Keys שלנו מהאתר https://marketplace.magento.com/ באזור האישי על מנת להוריד את הpackages של מערכת מג'נטו 2 (תהליך זה ייקח כ10 דקות בזמן ריצה).

  1. יש לבצע התחברות אל האתר ולהיכנס אל הAccess keys כדי לקבל גישה להוריד את הPackages של פלטפורמת מג'נטו 2
  2.  יש לבצע השמה של הpublic key  ולאחר מכן של הprivate key  אל תוך הWindows Terminal
 

5.התקנת הpackages אשר הורדנו עבור מג'נטו 2 דורשים גם התקנה כמובן ועל מנת לבצע זאת יש להשתמש בפקודה

bin/setup magento.test
פקודה זו גם תרוץ במשך 5-10 דקות על מנת לבצע את ההתקנה במלואה.
 
6.יש לבצע רישום של הדומיין בקובץ hostsבאמצעות הPowerShellעל מנת שנראה את האתר בדפדפן באמצעות הפקודה :
 
Add-Content -Path $env:windir\System32\drivers\etc\hosts -Value "`n127.0.0.1`tmagento.test" -Force
 
פקודה זו מבצעת קישור  של דומיין סביבת הפיתוח ל 127.0.0.1 וכמובן ל- localhost.
7.   הכנסת הכתובת magento.test אל תוך הדפדפן ויש להקליד "thisisunsafe" על מנת להוריד את ההערה של תעודת הSSL   (אין תמיכת SSL  "מזוייף" בWSL  ובRepo הספציפי).
8.הקמת סביבת הפיתוח אופטימלית באמצעות הכלים של DOCKER ו WSL חוסך התעסקויות בסביבת פיתוח בremote אשר תהיה איטית ברמת הרצה וגם כמובן ברמת הפיתוח. 

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

bin/magento sampledata:deploy

bin/magento setup:upgrade

10. לאחר הרצת הפקודות , תהיה לנו התבנית הרשמית של מג'נטו 2 שהיא Luma עם תוכן הדמה לצורך בדיקות