כיצד להתקין את Magento 2 על אובונטו 20.04 LTS

מדריך מקיף כיצד להגדיר ולפרוס את חנות Magento2 בשרת אובונטו 20.04.

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

אם אתה מחפש לבנות פלטפורמת קניות אלגנטית וארגונית עבור העסק שלך, מג'נטו צריכה להיות נקודת התחלה מצוינת. אז במדריך זה, נבחן כיצד להגדיר את מהדורת הקהילה של Magento גרסה 2.3 עם מחסנית LAMP בשרת אובונטו 20.04.

דרישות מוקדמות

תזדקק לשרת אובונטו 20.04 LTS ולהתחבר כ- סודו משתמש מופעל. תזדקק גם לשם תחום המצביע על ה-IP של שרת Ubuntu 20.04 שלך. אנחנו נשתמש example.com בכל מקום שבו נדרש שם דומיין, החלף אותו בדומיין שלך. לפני שנתחיל, עדכן את רשימת החבילות ולאחר מכן שדרג את החבילות בשרת Ubuntu 20.04 שלך.

sudo apt update && sudo apt upgrade

התקן את שרת האינטרנט של Apache

Magento דורש שרת אינטרנט כדי לתפקד, במדריך זה בחרנו להשתמש בהפעל את אפליקציית Magento על מחסנית LAMP (Linux, Apache, MySQL, PHP). אז אנחנו הולכים להתקין את כל החבילות המורכבות מחסנית LAMP.

שרת האינטרנט Apache הוא אחד משרתי האינטרנט הפופולריים ביותר באינטרנט עם כמעט 37.2% מנתח השוק הכולל של שרתי האינטרנט. אתה יכול גם לבחור להתקין את Magento על מחסנית LEMP המשתמשת בשרת האינטרנט של Nginx במקום ב-apache. אבל במדריך הזה אנחנו הולכים לפרוס את שרת המג'נטו שלנו בעזרת Apache.

כדי להתקין את שרת האינטרנט של Apache, הפעל את הפקודה למטה:

sudo apt להתקין את apache2

הזן את סיסמת המשתמש שלך ולחץ י אם תתבקש. כאשר ההתקנה תושלם, עלינו להגדיר את חומת האש הלא מסובכת של אובונטו (UFW) כדי לאפשר את התעבורה ביציאה 80 & 443.

ה-UFW מגיע עם פרופילים מוגדרים מראש הניתנים לשינוי כדי לאפשר לאפליקציה לגשת ליציאות בשרת אובונטו 20.04 שלך. אז כאשר התקנת את שרת האינטרנט של Apache, נוספו פרופילי UFW בשם 'Apache', 'Apache Full' ו-'Apache Secure' לרשימת האפליקציות של UFW. אפשר לשרת האינטרנט של Apache לשרת בפורט 80 & 443 על ידי ריצה:

sudo ufw לאפשר 'Apache Full'

כעת, כל שעלינו לעשות הוא להפעיל את ה-UFW אך לפני שאנו עושים זאת ודא שאיפשרת את היציאה 22 (SSH). אם לא תשנה את כללי SSH UFW, אתה עלול להינעל מחוץ לשרת Ubuntu 20.04 שלך.

sudo ufw לאפשר 'OpenSSH'

לבסוף, הפעל את חומת האש של UFW על ידי הפעלת:

sudo ufw enable

ללחוץ י אם אתה מקבל הנחיה האומרת שהפקודה עלולה לשבש את חיבורי ה-SSH, מכיוון שכבר הוספנו כלל המאפשר ל-SSH לעבור אותה. כעת תוכל לגשת לשרת האינטרנט של אפאצ'י דרך הדפדפן שלך, הקלד את כתובת ה-IP של שרת Ubuntu 20.04 שלך בשורת ה-URL והקש אנטר.

apache2 אובונטו דף ברירת המחדל

התקן את MySQL Server

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

חבילת MySQL נקראת בשם mysql-שרת במאגרי אובונטו, התקן אותו על ידי הפעלת:

sudo apt התקן את mysql-server

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

sudo mysql_secure_installation

תתבקש עם מספר שאלות, אלו הן ההגדרות האופטימליות עבור שרת MySQL:

  • האם תרצה להגדיר את רכיב VALIDATE PASSWORD?[y/n]: הזן י
  • ישנן שלוש רמות של מדיניות אימות סיסמה.
    • נא להזין 0 = נמוך, 1 = בינוני ו-2 = חזק: הזן 2
  • נא להגדיר את הסיסמה ל-root כאן.
    • סיסמה חדשה: הזן סיסמה עבור משתמש MySQL root.
    • הזן מחדש סיסמה חדשה: חזור על הסיסמה שבחרת.
  • להסיר משתמשים אנונימיים? [y/n]: הזן י
  • לא לאפשר כניסה לשורש מרחוק? [y/n] : הכנס י
  • להסיר את מסד הנתונים של הבדיקה ולגשת אליו? [y/n] : הכנס י
  • לטעון מחדש טבלאות הרשאות עכשיו? [y/n] : הכנס י

לאחר מכן כדי לוודא ולאמת ששרת MySQL מותקן ופועל כהלכה, היכנס לשרת MySQL כמשתמש שורש על ידי:

sudo mysql

הכנס את סודו סיסמת משתמש כאשר תתבקש לעשות זאת והקש אנטר. משתמש השורש של MySQL משתמש ב- unix_socket כדי לאמת את הכניסה. מה שזה בעצם אומר שאתה צריך להיות א סודו משתמש להתחבר לשרת MySQL כמשתמש השורש שלו.

צור מסד נתונים ומשתמש חדש עבור מג'נטו

כעת אנו יכולים ליצור משתמש MySQL עבור Magento ואם ביצעת כל שלב במדריך זה, עליך לפתוח את קונסולת MySQL. צור מסד נתונים בשם מג'נטו על ידי הזנת השאילתה הבאה במסוף MySQL:

צור מסד נתונים מג'נטו;

כדי ליצור משתמש MySQL חדש שנקרא מג'נטוזר, הפעל את השאילתה הזו במסוף:

צור משתמש 'magentouser'@'%' מזוהה עם mysql_native_password על ידי 'סיסמה';

הערה: החלף את ה סיסמה בשאילתה עם סיסמה חזקה לבחירתך.

אז תן את החדש מג'נטוזר גישה מלאה ל מג'נטו מאגר מידע:

הענק הכל ב-magento.* ל-'magentouser'@'%' עם אפשרות הענקת;

אנחנו צריכים להגדיר את log_bin_trust_function_creators פרמטר כ-1 מכיוון שהוא מושבת בגרסה העדכנית ביותר של MySQL ומבלי להפעיל אותו Magento זורק כמה שגיאות בזמן ההתקנה. לשם כך הפעל את השאילתה הבאה:

SET GLOBAL log_bin_trust_function_creators=1;

לבסוף, טען מחדש את ההרשאות וההגדרות של מסד הנתונים ששינינו וצא מהמסוף באמצעות השאילתות הבאות:

FLUSH PRIVILEGES; יְצִיאָה;

התקן PHP והרחבות נדרשות

מג'נטו דורשת PHP ומעט הרחבות PHP כדי לתפקד. בזמן כתיבת מאמר זה, גרסת המהדורה הקהילתית של מג'נטו 2.3 לא עובד עם גרסת ה-PHP העדכנית ביותר 7.4 ולכן אנחנו צריכים להתקין את גרסת PHP 7.3.

עלינו להוסיף PHP PPA של צד שלישי כדי שנוכל להתקין את גרסת ה-PHP 7.3 מכיוון שבמאגרי אובונטו יש רק את העדכניים ביותר 7.4 חבילות. הוסף את ה-PPA ועדכן את רשימת החבילות על ידי הפעלת הפקודות הבאות:

sudo add-apt-repository ppa:ondrej/php && sudo apt update

לאחר מכן התקן את PHP 7.3 ואת כל מודולי ה-PHP שמג'נטו דורשת על ידי הפעלת הפקודה הבאה:

sudo apt install php7.3 php7.3-common php7.3-mysql php7.3-fpm php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3- gd php7.3-xml php7.3-cli php7.3-zip php7.3-bcmath php7.3-soap libapache2-mod-php7.3

לאחר התקנת PHP 7.3, עלינו להגדיר כמה הגדרות בסיסיות המומלצות על ידי Magento כדי לתפקד כראוי. הפעל פקודה זו כדי לפתוח את קובץ התצורה של סיומת FPM באמצעות ננו

sudo nano /etc/php/7.3/fpm/php.ini

להלן כמה מההגדרות המומלצות עבור רוב אתרי מג'נטו.

file_uploads = On allow_url_fopen = On short_open_tag = On memory_limit = 256M cgi.fix_pathinfo = 0 upload_max_filesize = 100M max_execution_time = 360

שמור את השינויים על ידי לחיצה על Ctrl+O לאחר מכן צא מעורך הננו על ידי לחיצה Ctrl+X. כעת יש לנו PHP ואת כל ההרחבות הנדרשות וכך נוכל להמשיך לקבל את Magento.

התקן את Composer

Composer הוא מנהל תלות ב-PHP שמקל על התקנת מסגרות וספריות PHP. אנו זקוקים ל-Composer כדי להוריד ולהתקין את Magento בשרת אובונטו 20.04 שלנו.

Composer דורש חבילה בשם לִפְתוֹחַ כדי לחלץ את הספריות והמסגרות שהורדת, התקן אותה על ידי הפעלת:

sudo apt install unzip

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

curl -sS //getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

הפקודה לעיל צריכה להתקין את מנהל התלות של Composer בשרת אובונטו 20.04. ודא ש-Composer מותקן כהלכה על ידי הפעלת:

מַלחִין
 תְפוּקָה:  ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ מלחין גרסה 1.10.8 2020-06- 24 21:23:30 שימוש: פקודה [אפשרויות] [טיעונים] 

הורד והתקן את Magento

כעת אנו יכולים לעבור להורדה והתקנה של Magento מכיוון שהתקנו והגדרנו את כל החבילות הדרושות על ידי Magento.

יצירת חשבון מג'נטו

כדי להוריד את Magento בשרת אובונטו 20.04 שלך, תזדקק למפתח גישה של Magento 2. כדי לקבל מפתח גישה זה, תזדקק לחשבון Magento. אם אינך רשום ואין לך חשבון Magento, עבור לדף זה ולחץ על 'הירשם'.

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

המפתחות האלה הם האישורים שלך המשמשים להורדת Magento 2 ממאגר Magento דרך Composer. אנו נשתמש במפתחות אלה כאשר אנו מורידים את Magento, אך לפני שנעשה זאת אנו מתכוונים להגדיר בעלות על ספריות והרשאות.

תצורת בעלות ותצורת הרשאה לפני התקנה

הרשאות הקובץ יכולות ליצור או לשבור את האבטחה של כל אתר, ולכן יש צורך להגדיר כראוי את הבעלות וההרשאה של שורש המסמך של שרת Apache.

בעל ברירת המחדל של /var/www/ ספרייה היא משתמש השורש, אך עלינו לגשת ולשנות את הקבצים תחת ספרייה זו. בנוסף, שרת האינטרנט זקוק גם לגישה לשורש המסמך כדי לכתוב חזרה ולשנות את התוכן של אתר Magento.

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

sudo usermod -a -G www-data $USER

ה -G אפשרויות חשובות כשהן מוסיפות www-data כקבוצה משנית לחשבון המשתמש, המשמרת את הקבוצה הראשית של המשתמש. לאחר הוספת המשתמש לקבוצת שרת האינטרנט, שנה את הבעלים של /var/www/ וספריות המשנה שלו באמצעות הפקודה הזו:

sudo chown -R $USER:www-data /var/www/

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

מוריד את מג'נטו

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

שנה את הספרייה הנוכחית ל /var/www/ אז הטרמינל מצביע אליו על ידי ריצה:

cd /var/www/

הפעל את הפקודה למטה כדי ליצור פרויקט חדש באמצעות Composer המכונה מג'נטו.

מלחין create-project --repository=//repo.magento.com/ magento/project-community-edition magento

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

 תְפוּקָה:  יצירת פרויקט "magento/project-community-edition" ב-"./magento" אזהרה מאת repo.magento.com: לא סיפקת את מפתחות האימות של Magento. להנחיות, בקר בכתובת //devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html נדרש אימות (repo.magento.com): שם משתמש: e8b6120dce14c3d982a85525264897c4 סיסמה: האם ברצונך לאחסן אישורים עבור repo.magento.com ב-/home/ath/.config/composer/auth.json ? [Yn] י

לאחר הורדת Magento וכל התלות שלה דרך Composer, עלינו להגדיר את הבעלות וההרשאה עבור ספריית הפרויקט החדשה של Magento וגם הקבצים שלה. שנה את הספרייה לשורש פרויקט Magento על ידי:

cd /var/www/magento/

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

מצא פאב ספק שנוצר ב-var/פאב סטטי/אפליקציית מדיה/וכו' -type f -exec chmod g+w {} + && מצא פאב יצרן של VAR/פאב סטטי/אפליקציית מדיה/וכו' -type d -exec chmod g+ws {} + && chmod u+x bin/magento && sudo chown -R :www-data . 

פקודה זו תיתן לקבוצת שרת האינטרנט (www-data) הרשאות כתיבה לספק, ספריות הפאב/סטטיות, הפאב/מדיה והאפליקציה/וכו' וקבצים בתוכם. בנוסף, זה יהפוך את bin/magento קובץ הפעלה, כדי שנוכל להפעיל אותו ולהתקין את Magento במערכת שלנו.

הגדרת אפאצ'י עבור מג'נטו

אנחנו הולכים להתקין את Magento דרך GUI, מכיוון שהיא יותר אינטואיטיבית מהתקנת CLI במקרה זה. לפיכך, עלינו ליצור מארח וירטואלי עבור שרת האינטרנט של Apache לפני שנוכל להמשיך בהתקנת Magento.

פתח את קובץ המארח הוירטואלי המוגדר כברירת מחדל של Apache עם nano באמצעות הפקודה הבאה:

sudo nano /etc/apache2/sites-available/000-default.conf

שנה את שורש המסמך ל /var/www/magento והוסף מתחתיו את קטע הקוד הבא.

 AllowOverride All ServerName example.com ServerAlias ​​www.example.com

החלף את ה example.com ב-ServerName ו-ServerAlias ​​עם שם הדומיין שלך. השינויים שלך 000-default.conf הקובץ צריך להיראות בערך כמו הטקסט המודגש שמוצג להלן. שמור את השינויים על ידי לחיצה על Ctrl+O וצא מהעורך באמצעות Ctrl+X מפתחות.

 ServerAdmin webmaster@localhost DocumentRoot /var/www/magento AllowOverride All ServerName example.com ServerAlias ​​www.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log בשילוב 

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

שכתוב sudo a2enmod

הפעל מחדש את שרת Apache כך שכל השינויים שעשינו יחולו על השרת:

sudo systemctl הפעל מחדש את apache2

התקנת מג'נטו

סוף סוף נוכל להמשיך עם התקנת מג'נטו, מכיוון שיש לנו את כל מה שנדרש מג'נטו כדי לתפקד. הקלד את כתובת ה-IP של שרת Ubuntu 20.04 שלך בסרגל הכתובות של הדפדפן המועדף עליך.

לחץ על 'הסכם והגדר את מג'נטו' כדי להמשיך בהתקנת מג'נטו. הצעד הראשון של מתקין Magento Web הוא בדיקת מוכנות, היא תוודא שכל הדרישות של Magento מתקיימות. לחץ על 'התחל בדיקת מוכנות' ולאחר השלמת התהליך, לחץ על 'הבא'.

השלב הבא הוא הגדרת הפרטים והוספת מסד נתונים עבור Magento. כבר יצרנו משתמש MySQL עבור Magento בשם מג'נטוזר ומסד נתונים בשם מג'נטו בסעיף לעיל. מלא את הפרטים המתאימים בסעיף זה, כלומר את שם המשתמש של שרת מסד הנתונים, הסיסמה ושם מסד הנתונים שלו ולאחר מכן לחץ על 'הבא' כדי להמשיך.

השלב השלישי בהגדרת Magento הוא תצורת אינטרנט. החלף את כתובת ה-IP מהקלט 'כתובת החנות' לשם הדומיין שלך אם יש לך כזה. אל תשכח לשים קו נטוי קדימה (/) אחרי שם הדומיין שלך כמו אחרת, כתובת ה-URL של כתובת המנהל הופכת ללא נגישה.

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

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

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

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

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

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

צור תעודת SSL עבור אתר המג'נטו שלך

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

Letsencrypt היא רשות אישורים ללא מטרות רווח המספקת תעודות TLS בחינם. אנחנו הולכים להשתמש בחבילה בשם certbot מה שעוזר בקבלת האישור והגדרת המארח הוירטואלי של Apache באופן אוטומטי. הפעל את הפקודה הזו בטרמינל כדי להתקין certbot:

sudo apt התקן את certbot python3-certbot-apache

כדי לקבל את האישור שלך מ- Letsencrypt ולהגדיר את המארח הווירטואלי של Apache, הפעל את הפקודה הבאה:

sudo certbot --apache

Certbot יתחיל בתהליך קבלת אישורים מ-Letsencrypt, יספק את כתובת הדוא"ל שלך כשתתבקש ואז ילחץ על מקש Enter. לאחר מכן, הקלד א להסכים לתנאי השירות של Letsencrypt. תישאל אם אתה רוצה לשתף את כתובת הדוא"ל שלך עם ה-EFF, הקלד י אוֹ נ בהתאם לבחירתך.

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

לאחר בחירת שם הדומיין שלך, תישאל אם ברצונך להפנות תעבורת HTTP ל-HTTPS, הקלד 2 והקש אנטר. Certbot יגדיר כעת באופן אוטומטי את המארח הוירטואלי של Apache עבור הדומיין example.com.

חבילת Certbot מגיעה עם cronjob שמחדשת את אישורי השרת שלך באופן אוטומטי לפני שהם יפוג.בדוק אם החידוש האוטומטי פועל על ידי הפעלה:

sudo certbot renew --dry-run

פירוש הפלט שלמעלה הוא ש-cronjob של החידוש האוטומטי פועל כהלכה. כדי לאשר ש-Certbot עבד, פתח את הדפדפן שלך ובקר בדומיין שלך //example.com.

באופן דומה, אתה יכול לגשת לדף ההתחברות של מנהל המערכת באמצעות //example.com/admin_SecretString, כתובת האתר הזו הייתה בסוף התקנת Magento.

כעת התקנת בהצלחה את Magento בשרת Ubuntu 20.04 LTS ועכשיו אתה יכול להתחיל להתאים את החנות שלך בהתאם לצרכים שלך. כדי לדעת עוד על Magento וללמוד על פיתוח חנויות, עברו לדף Magento Docs.