اذهب إلى المحتوى

كيفية تثبيت ماجنتو 2.4.5 لبناء متجر إلكتروني بنظام Magento 2


Mostafa Amaan

في هذا الدليل، سنوضح لك كيفية بناء متجر إلكتروني متعدد اللغات ويدعم اللغة العربية باستخدام أحدث إصدار من نظام ماجنتو 2، وهو حتى كتابة هذه الأسطر إصدار 2.4.5. يُعَد ماجنتو Magento منصة تجارة إلكترونية مفتوحة المصدر، مشهورةً للغاية، مكتوبة بلغة PHP، وتديرها شركة Adobe Inc، فهي نظام مرن للغاية وتحتوي على مجموعة كبيرة ومتنوعة من الميزات التي تمكنك من بناء متجر على الإنترنت.

وتقدم شركة أدوبي إصدارين من هذا النظام نذكرهما في الآتي:

  • الإصدار المجتمعي Community: وتقدم شركة أدوبي هذا الإصدار تحت اسم Magento Open Source، وهي نسخة مجانية ومصممة أساسًا للأفراد و/ أو الشركات الصغيرة.
  • الإصدار المؤسسي Enterprise: وتقدم شركة أدوبي هذا الإصدار تحت اسم Magento Commerce Cloud، وهي نسخة مدفوعة ومصممة أساسًا للشركات المتوسطة والكبيرة.

ماذا ستتعلم؟

سنبني متجرًا إلكترونيًا متعدد اللغات ويدعم اللغة العربية، وسنعرض في هذا المتجر منتجات خاصة بمفروشات الأَسِرَّة، لذلك أُعِدَّ هذا الدليل التعليمي المكون من 8 دروس لأي شخص لديه معرفة أساسية بـ HTML و CSS ولديه رغبة في تطوير المتاجر الإلكترونية والتي إن كنت على غير دراية بها، فننصحك بالاطلاع على مسار أساسيات تطوير الويب من دورة تطوير واجهات المستخدم المقدمة من أكاديمية حسوب لتتعلم أساسيات كل من HTML و CSS وكيفية التعامل بها للحصول على واجهة مواقع إلكترونية مناسبة.

سيعلمك هذا الدليل أساسيات نظام ماجنتو 2 التي يمكنك من خلالها إنشاء متجر إلكتروني بسهولة، وبعد الإنتهاء من هذا الدليل ستجد نفسك على مستوى معتدل من الخبرة في تطوير المتاجر الإلكترونية باستخدام نظام ماجنتو Magento 2.

ماذا ستحتاج؟

يجب تثبيت نظام ماجنتو على خادم ويب، إما على بيئة استضافة محلية تكون على حاسوبك، أو خادم محلي، وذلك لأغراض الاختبار الخاصة ببناء المتجر، أو بيئة استضافة عامة من أحد مزودي خدمات الاستضافة وشراء اسم نطاق لجعل متجرك الإلكتروني متاحًا لبقية العالم؛ كما أنك ستحتاج مصادر لصور منتجاتك وأدوات لتعديل هذه الصور لتتناسب مع متجرك.

1. بيئة الاستضافة المحلية

سوف تحتاج إلى خادم محلي يعمل بنظام تشغيل لينكس أو ويندوز، وفي حالة عمل الخادم بنظام التشغيل لينكس، سوف تحتاج إلى تثبيت الأدوات التالية:

أما في حالة عمل الخام المحلي بنظام ويندوز، فسوف تحتاج إلى تثبيت الأدوات التالية:

  • خادم XAMPP
  • حزمة elasticsearch

2. بيئة الاستضافة العامة

سوف تحتاج إلى شراء اسم نطاق يعكس علامتك التجارية، وخادم استضافة من نوع VPS يعمل بأحد توزيعات نظام التشغيل لينكس التالية:

  • RedHat Enterprise Linux
  • CentOS
  • Ubuntu
  • Debian

ونستنتج من ذلك أن نظام ماجنتو لا يدعم نظام التشغيل Microsoft Windows ونظام التشغيل macOS، أما بالنسبة للأدوات التي ستحتاج إلى تثبيتها على خادم الاستضافة العامة، فهي نفس الأدوات التي ذكرناها في بيئة الاستضافة المحلية.

3. الحصول على نظام ماجنتو 2

منذ أن استحوذت شركة أدوبي على نظام ماجنتو في شهر مايو من عام 2018، لم يَعُد الحصول على النظام بضغطة زر كما كان السابق، فقد بات من الضروري تنفيذ الإجراءات التالية:

  • إنشاء حساب على متجر ماجنتو للحصول على مفتاح الوصول العام والخاص حتى تتمكن من تحميل النظام على الخادم.
  • تثبيت أداة Composer لتحميل نظام ماجنتو، أو الحصول عليه من مستودع Github.
  • استخدام موجه الأوامر لكتابة أوامر التحميل والتثبيت للنظام.
  • التأكد من صحة عملية التثبيت، وذلك بفتح الواجهة الأمامية والخلفية دون مواجهة أي مشاكل.

تثبيت ماجنتو magento

تثبيت ماجنتو 2.4.5 على نظام التشغيل Ubuntu

يفترض هذا الدليل أن لديك على الأقل معرفةً أساسيةً بنظام Linux والتي إن لم تكن لديك بعد، فيمكنك أخذها من مسار أنظمة التشغيل ونظام لينكس لدورة علوم الحاسوب المقدمة من أكاديمية حسوب. يتطلب الدليل أيضًا معرفةً بكيفية استخدام أوامر shell، لكن في حالة كنت أحد الوافدين الجدد على النظام، فلا تقلق، فقد قسمت لك عملية التثبيت هذه إلى أجزاء بسيطة لتتمكن من استيعاب جميع إجراءاتها، وستكون خطواتنا في عملية التثبيت كما يلي:

  1. تثبيت Apache2
  2. تثبيت MySQL وإنشاء قاعدة بيانات لمتجرنا
  3. تثبيت PHP والإضافات المطلوبة
  4. تثبيت وتكوين Elasticsearch
  5. تثبيت Composer
  6. تنزيل وتثبيت ماجنتو 2.4.5
  7. تنزيل عينة من البيانات (خطوة اختيارية)

لكن قبل أن نبدأ في عملية التثبيت، أريد منك الاطلاع على المتطلبات التي يجب توافرها لكل خطوة من الخطوات السابقة، وذلك حتى تتمكن من تثبيت ماجنتو بنجاح، فعلى سبيل المثال، يتطلب إصدار ماجنتو 2.4.5 أن يكون لديك إصدار PHP 8.1؛ أما إصدار ماجنتو 2.4.3 فيتطلب أن يكون لديك إصدار PHP 7.4، فإن حاولت تثبيت إصدار ماجنتو 2.4.3 وأنت لديك إصدار PHP 8.1، فستفشل عملية التثبيت.

الخطوة الأولى: تثبيت Apache2

يتوفر خادم Apache في مستودعات برامج Ubuntu الافتراضية، ولهذا السبب سنبدأ بتحديث فهرس الحزمة المحلي للحصول على أحدث التغييرات، لذا اتصل فقط بالخادم المحلي أو العام الخاص بك باستخدام بروتوكول ssh مع صلاحية الوصول root، أو افتح موجه الأوامر Terminal من على سطح المكتب ثم نفذ الأمرين التاليين:

sudo apt update

ثم ندخل الأمر:

sudo apt upgrade

تثبيت Apache2

بعد ذلك، نثبت حزمة apache2.

sudo apt install apache2

سوف يعرض لك النظام رسالةً يخيرك فيها بين متابعة التثبيت أو إلغاء التثبيت، لذا انقر على مفتاح Y، ثم انقر على مفتاح Enter لمتابعة عملية التثبيت.

تثبيت حزمة apache2

وبمجرد انتهاء التثبيت، يمكنك التحقق من إصدار Apache المثبت بالأمر التالي:

sudo apache2ctl -v

التحقق من إصدار Apache المثبت

رائع، بهذا يكون قد أصبح لدينا إصدار خادم Apache متوافق مع متطلبات نظام Magento 2.4.5، والآن دعنا نتحقق مما إذا كان خادم Apache2 قد ثُبت بطريقة صحيحة، فقط أدخل عنوان IP هذا في متصفحك 127.0.0.1. فإذا كانت النتيجة هي الصفحة الافتراضية لخادم أباتشي كما بالصورة التالية، فهذا معناه أن كل شيء على ما يرام.

الصفحة الافتراضية لخادم أباتشي

ولتمكين بدء تشغيل خادم Apache تلقائيًا في كل مرة يُعاد فيها تشغيل الخادم الخاص بك، استخدم هذا الأمر:

systemctl is-enabled apache2

تمكين بدء تشغيل خادم Apache تلقائيًا

الخطوة الثانية: تثبيت MySQL وإنشاء قاعدة بيانات لمتجرنا

الآن نثبت خادم قواعد البيانات MySQL باستخدام الأمر التالي:

sudo apt install mysql-server

انقر على مفتاح Y، ثم انقر على مفتاح Enter لمتابعة عملية التثبيت.

تثبيت خادم قواعد البيانات MySQL

وبمجرد انتهاء التثبيت، يمكنك التحقق من إصدار MySQL المثبت بالأمر التالي:

mysql -V

التحقق من إصدار MySQL المثبت

بهذا يكون قد أصبح لدينا إصدار خادم MySQL متوافق مع متطلبات نظام Magento 2.4.5، والآن يجب علينا تأمين خادم MySQL بإزالة بعض الإعدادات الافتراضية غير الآمنة ومنع الوصول إلى نظام قاعدة البيانات، وذلك باتباع الآتي:

  • أولاً: نسجل الدخول إلى خادم MySQL من خلال الأمر التالي:
sudo mysql

تسجيل الدخول إلى خادم MySQL

  • ثانيًا: تعيين كلمة مرور قوية للمستخدم root الخاص بخادم MySQL، لأن الوضع الافتراضي يكون المستخدم root بدون كلمة مرور وهذا أمر غير مقبول بالطبع، اكتب الأمر التالي ثم انقر على مفتاح Enter.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'اكتب هنا كلمة مرورك';

تعيين كلمة مرور للمستخدم root الخاص بخادم MySQL

  • ثالثًا: تسجيل الخروج من خادم MySQL.
exit
  • رابعًا: تأمين الوصول إلى خادم MySQL، وذلك من خلال كتابة الأمر التالي الذي سيطلب منك إدخال كلمة مرور المستخدم root الخاصة بالنظام، ثم كلمة مرور المستخدم root الخاصة بخادم MySQL:
sudo mysql_secure_installation

تأمين الوصول إلى خادم MySQL

الآن ستظهر لك عدة رسائل تطلب منك اتخاذ إجراء معين، فالرسالة الأولى تطلب منك إعداد مكون VALIDATE PASSWORD لتحديد قوة كلمة المرور المراد استخدامها.

رسائل طلب اتخاذ إجراء معين

أما الرسالة الثانية فتطلب منك تعيين كلمة مرور للمستخدم root الخاص بخادم MySQL، ويمكنك تجاوز هذه الرسالة لأننا قد عَينَّا كلمة المرور فعلًا.

طلب منك رسائل تعيين كلمة مرور للمستخدم root الخاص بخادم MySQL

أما الرسالة الثالثة فتطلب منك إزالة المستخدم المجهول، فافتراضيًا يكون لتثبيت MySQL مستخدم مجهول يسمح لأي شخص بتسجيل الدخول إلى MySQL دون الحاجة إلى حساب مستخدم، وهو أمر مرفوض بالطبع.

رسالة طلب إزالة المستخدم المجهول

بينما تطلب منك الرسالة الرابعة عدم السماح بتسجيل دخول المستخدم root إلى خادم MySQL عن بعد.

رسالة طلب عدم السماح بتسجيل دخول المستخدم root إلى خادم MySQL عن بعد

في حين أن الرسالة الخامسة تطلب منك إزالة قاعدة بيانات باسم test والوصول إليها.

رسالة طلب إزالة قاعدة بيانات باسم test والوصول إليها

أما الرسالة الأخيرة فتطلب منك إعادة تحميل جداول الامتيازات لتنفيذ التغييرات التي أجريناها.

رسالة إعادة تحميل جداول الامتيازات لتنفيذ التغييرات التي أجريناها

  • خامسًا، إنشاء مستخدم MySQL جديد، إذ من المستحسن عدم استعمال المستخدم root، لذلك سننشئ مستخدم جديد له صلاحيات root كما يُفضل أن تكون له كلمة مرور جديدة.

في البداية سجل الدخول إلى خادم MySQL من خلال المستخدم root وكلمة المرور الخاصة به بكتابة الأمر التالي:

mysql -u root -p

الآن اكتب الأمر التالي لإنشاء المستخدم الجديد وكلمة المرور الخاصة به:

CREATE USER 'أكتب هنا اسم المستخدم'@'localhost' IDENTIFIED BY 'أكتب هنا كلمة المرور';

إنشاء المستخدم الجديد وكلمة المرور الخاصة به

ثم اكتب الأمر التالي لتأكيد كلمة المرور للمستخدم الجديد:

ALTER USER 'أكتب هنا اسم المستخدم'@'localhost' IDENTIFIED WITH mysql_native_password BY 'أكتب هنا كلمة المرور';

تأكيد كلمة المرور للمستخدم الجديد

بعد ذلك نمنح المستخدم الجديد جميع الصلاحيات من خلال كتابة الأمر التالي:

GRANT ALL PRIVILEGES ON *.* TO 'أكتب هنا اسم المستخدم'@'localhost' WITH GRANT OPTION;

منح المستخدم الجديد جميع الصلاحيات

بعد ذلك سجل خروج من خادم MySQL باستخدام أمر تسجيل الخروج exit أو \q.

  • أخيرًا: إنشاء قاعدة بيانات متجرنا الإلكتروني. في البداية سجل دخول إلى خادم MySQL باستعمال المستخدم الجديد وكلمة المرور الخاصة به، وذلك بكتابة الأمر التالي:
mysql -u أكتب هنا اسم المستخدم -p

تسجيل خروج من خادم MySQL

بعد ذلك ننشئ قاعدة البيانات بكتابة الأمر التالي:

CREATE DATABASE أكتب هنا اسم قاعدة البيانات;

إنشاء قاعدة بيانات

وفي النهاية سجل خروج من خادم MySQL.

الخطوة الثالثة: تثبيت PHP والإضافات المطلوبة

في هذه الخطوة سوف نثبت PHP والإضافات المطلوبة لتثبيت ماجنتو على خادم الاستضافة، وتحديدًا الإصدار PHP 8.1 لأنه من متطلبات تثبيت إصدار ماجنتو 2.4.5. لكن قبل أن نبدأ، دعنا أولاً نحدِّث مستودعات APT الخاصة بالنظام.

sudo apt update

بعد ذلك نثبت إصدار PHP 8.1 باستخدام الأمر التالي:

sudo apt install php8.1 libapache2-mod-php php-mysql

تثبيت إصدار PHP 8.1

تنويه: في حالة كتابة الأمر هكذا install php دون تحديد لرقم الإصدار، افتراضيًا سوف يثبت النظام أحدث إصدار من PHP أو أي حزمة أخرى. بعد ذلك تحقق من إصدار PHP الذي ثبته على النظام باستخدام الأمر التالي:

php -v

التحقق من إصدار PHP المثبّت على النظام

بعد ذلك سوف نعمل على تعديل ملف الإعدادات الخاص بخادم أباتشي، وذلك باستخدام الأمر التالي:

sudo nano /etc/apache2/mods-enabled/dir.conf

الآن عَدِّل ترتيب ملف index.php ليكون في مقدمة فهرس الدليل، ليبدو ملف dir.conf بعد التعديل كما يلي:

تعديل ترتيب ملف index.php ليكون في مقدمة فهرس الدليل

وبعد الانتهاء من التعديل، انقر على مفتاحي Ctrl + O من لوحة المفاتيح ثم مفتاح Enter لحفظ التعديل، وبعد ذلك انقر على مفتاحي Ctrl + X لغلق المحرر.

اعمل الآن على تثبيت وتمكين الإضافة mbstring، وذلك بكتابة الأمرين التاليين:

sudo apt install php8.1-mbstring

تثبيت وتمكين الإضافة mbstring

sudo phpenmod mbstring

كيفية تثبيت وتمكين الإضافة mbstring

والآن بات علينا أن نُفعِّل الإضافة Apache rewrite، وذلك بكتابة الأمر التالي:

sudo a2enmod rewrite

تفعيل الإضافة Apache rewrite

بعد ذلك سوف يطلب منك النظام إعادة تشغيل خادم أباتشي، وذلك من خلال كتابة الأمر التالي:

systemctl restart apache2

إعادة تشغيل خادم أباتشي

في هذه المرحلة علينا تثبيت إضافات PHP المطلوبة لتثبيت نظام ماجنتو 2.4.5 على خادم الاستضافة، لذا اكتب الأمر المجمع التالي:

sudo apt install php8.1-bcmath php8.1-intl php8.1-soap php8.1-zip php8.1-gd php8.1-curl php8.1-cli php8.1-xml php8.1-xmlrpc php8.1-gmp php8.1-common

تثبيت إضافات PHP المطلوبة لتثبيت نظام ماجنتو 2.4.5 على خادم الاستضافة

بعد ذلك أعد تحميل Apache لتصبح التغييرات سارية المفعول، وذلك من خلال كتابة الأمر التالي:

sudo systemctl reload apache2

وفي الأخير، من أجل تكوين إعدادات PHP، سنحتاج إلى العثور على مسار ملف php.ini لكي نجري عليه التعديلات المطلوبة، لذلك سنطلب من النظام إخبارنا بمسار هذا الملف وذلك من خلال كتابة الأمر التالي:

php -i | grep "Configuration File"

سوف يعطينا النظام المسار إلى ملف php.ini، لذلك افتح هذا الملف بواسطة المحرر لتعديل بعض الإعدادات، وذلك من خلال كتابة الأمر التالي:

sudo nano مسار الملف الذي أعطاه لك النظام

فتح ملف php.ini بواسطة المحرر لتعديل بعض الإعدادات

ابحث في ملف php.ini عن القيم التالية بالنقر على مفتاحي Ctrl + W، ثم كتابة جزء من الكلمة التي تبحث عنها ثم النقر على مفتاح Enter لإيجادها، الآن عَدِّل هذه القيم لتصبح على النحو التالي:

  1. max_execution_time=18000
  2. max_input_time=1800
  3. memory_limit=4G

البحث في ملف php.ini

في النهاية، وبعد تنفيذ هذه التعديلات، احفظ الملف كما تعلمنا سابقًا، ثم أعد تحميل خادم أباتشي مرةً أخرى، وسوف تحافظ هذه القيم على عملية التثبيت بطريقة صحيحة دون انقطاع.

sudo systemctl reload apache2

الخطوة الرابعة: تثبيت وتكوين Elasticsearch

منذ إصدار ماجنتو 2.4 أصبح Elasticsearch مكونًا إلزاميًا لتثبيت وتشغيل نظام ماجنتو، لذلك سنعمل في هذه الخطوة على تثبيت وتكوين Elasticsearch على خادم الاستضافة.

  • أولاً: تثبيت Java، وذلك لأن عملية تثبيت Elasticsearch تعتمد على وجود جافا بالنظام، لذا اكتب الأمر التالي:
sudo apt install openjdk-17-jdk

تثبيت Java

بعد ذلك تحقق مما إذا كان java قد ثُبِّتَ بطريقة صحيحة على خادم الاستضافة بالتحقق من إصداره، وذلك باستخدام الأمر التالي:

java -version

التحقق مما إذا كان java قد ثُبِّتَ بطريقة صحيحة على خادم الاستضافة

  • ثانيًا: استيراد مفتاح GPG لحزم Elasticsearch باستخدام الأمر التالي:
sudo apt install curl

استيراد مفتاح GPG لحزم Elasticsearch

وبمجرد الانتهاء من تثبيت curl، نفذ الأمر التالي:

sudo curl -sSfL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --no-default-keyring --keyring=gnupg-ring:/etc/apt/trusted.gpg.d/magento.gpg --import

الخطوة الموالية بعد الانتهاء من تثبيت curl

  • ثالثًا: إضافة مستودع Elasticsearch إلى النظام، وذلك باستخدام الأمر التالي:
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
  • رابعًا: منح صلاحية القراءة والكتابة لمفتاح GPG، وذلك باستخدام الأمر التالي:
sudo chmod 666 /etc/apt/trusted.gpg.d/magento.gpg
  • خامسًا: بعد الانتهاء من الخطوات المذكورة أعلاه، يجب عليك تحديث مستودعات APT الخاصة بالنظام، وذلك باستخدام الأمر التالي:
sudo apt update

حديث مستودعات APT الخاصة بالنظام

  • سادسًا: تثبيت حزم Elasticsearch على النظام باستخدام الأمر التالي:
sudo apt install elasticsearch

تثبيت حزم Elasticsearch على النظام

بعد ذلك أدخل الأوامر الثلاث التالية لتشغيل وتمكين حزم Elasticsearch لكي تعمل تلقائيًا على الخادم في حالة إعادة تشغيله:

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

تشغيل وتمكين حزم Elasticsearch لكي تعمل تلقائيًا على الخادم في حالة إعادة تشغيله

  • سابعًا: تكوين إعدادات Elasticsearch، فبعد أن ثبتنا Elasticsearch و Java، سنحتاج إلى تكوين إعدادات خادم Elasticsearch الموجودة في ملف elasticsearch.yml المسؤولة عن اسم الخادم (العقدة) والمجموعة التي يرتبط بها، كما نحتاج إلى تكوين إعدادات جافا الموجودة في ملف jvm.options المسؤولة عن إعدادات الذاكرة.

لنبدأ في تحرير ملف elasticsearch.yml، افتحه باستخدام nano أو محرر النصوص المفضل لديك:

sudo nano /etc/elasticsearch/elasticsearch.yml

الآن احذف الحرف # من بداية السطر node.name والسطر cluster.name لإلغاء التعليق عليهما، ثم غيِّر قيمهما لتبدو كما التالي:

1. node.name: "My First Node"
2. cluster.name: my-application

إلغاء التعليق

بعد ذلك ابحث عن السطر الذي يحتوي على network.host ثم احذف الحرف # لإلغاء التعليق عنه، ثم عدِّل القيمة إلى 0.0.0.0 للاستماع إلى جميع الواجهات وإتاحته للجمهور؛ أما إذا كنت تريد تكوينه ليكون خاصًا/ محليًا لجهازك فقط، فسيتعين عليك ضبط network.host إلى القيمة 127.0.0.1، وبالتالي فإن المحتوى لن يكون عامًا.

ضبط network.host إلى القيمة 127.0.0.1

تنويه: يأتي Elasticsearch بإعدادات افتراضية معقولة لمعظم الإعدادات، لذلك يمكنك تجاوز هذه الخطوة والاعتماد على الإعدادات الافتراضية.

وفي حالة إذا كان خادم الاستضافة يحتوي على 1 جيجابايت فقط من ذاكرة الوصول العشوائي، فيجب عليك فتح ملف jvm.options وتعديل الإعدادات التالية:

sudo nano /etc/elasticsearch/jvm.options

الآن عدِّل قيمة Xms وقيمة Xmx إلى 256 ميجابايت.

تعدل قيمة Xms وقيمة Xmx إلى 256 ميجابايت

أيضًا في حالة ما إذا كان خادم الاستضافة يحتوي على 1 جيجابايت فقط من ذاكرة الوصول العشوائي، فستحتاج إلى فتح ملف elasticsearch.service لتهيئة وقت انتظار بدء التشغيل، ثم تعديل قيمة TimeoutStartSec إلى قيمة مناسبة للخادم الخاص بك، وفي حالتي عدلتها إلى 900 ثانية.

sudo nano /usr/lib/systemd/system/elasticsearch.service

تعديل قيمة TimeoutStartSec إلى قيمة مناسبة للخادم الخاص

الآن نعيد تشغيل Elasticsearch من خلال الأمر:

sudo systemctl daemon-reload

والأمر:

sudo systemctl start elasticsearch.service

تنويه: اترك بعض الوقت لبدء Elasticsearch في العمل قبل أن تحاول استخدامه، لأن بخلاف ذلك قد تحصل على خطأ في الاتصال.

  • أخيرًا: اختبار عمل Elasticsearch، ويمكنك عمل ذلك إما من خلال المتصفح بكتابة هذا العنوان 127.0.0.1:9200، أو من خلال كتابة الأمر التالي في موجه الأوامر:
curl -X GET 'http://localhost:9200'

ومن المفترض أن ترى الرد التالي:

اختبار عمل Elasticsearch

الخطوة الخامسة: تثبيت Composer

في هذه الخطوة سنعمل على تحميل وتثبيت Composer حتى نتمكن من تحميل وتثبيت نظام ماجنتو.

  • أولاً: حَمِّل Composer باستخدام الأمر التالي:
curl -sS https://getcomposer.org/installer -o composer-setup.php
  • ثانيًا: ثَبِّت Composer باستخدام الأمر التالي:
sudo php composer-setup.php --install-dir=/usr/bin --filename=composer

تثبيت Composer

  • أخيرًا: لنتحقق من إصدار Composer الذي ثبتناه على خادم الاستضافة:
composer

التحقق من إصدار Composer

تهانينا، خادم الاستضافة الآن جاهز لتحميل وتثبيت نظام ماجنتو، وتحديدًا الإصدار 2.4.5

الخطوة السادسة: تنزيل وتثبيت ماجنتو 2.4.5

بعد أن انتهينا من خطوات إعداد خادم الاستضافة لتثبيت نظام ماجنتو عليه، إليك خطوات تنزيل وتثبيت ماجنتو على الخادم، وهي كما يلي:

  • أولاً: اذهب إلى مجلد html من خلال موجه الأوامر، وذلك بكتابة الأمر التالي:
cd /var/www/html

كتابة الأمر cd /var/www/html في مجلد html

  • ثانيًا: أنشئ مشروع Composer جديدًا باستخدام الإصدار المجتمعي المجاني Magento Open Source أو باستخدام الإصدار المؤسسي المدفوع Magento Commerce، وذلك باستخدام أحد الأمرين التاليين:
sudo composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.5 <اسم مجلد المشروع>

و

sudo composer create-project --repository-url=https://repo.magento.com/ magento/project-enterprise-edition=2.4.5 <اسم مجلد المشروع>

تنويه: بالأمرين السابقين يوجد رقم بعد علامة = وهو رقم الإصدار الخاص بنظام ماجنتو، يمكنك تعديل هذا الرقم إلى أي إصدار تريده، سواءً كان إصدارًا أقدم من 2.4.5 أو الإصدارات المستقبلية، وبعد رقم الإصدار ضع اسم للمجلد الذي سيحتوي على ملفات ومجلدات المشروع كما هو موضح بالصورة التالية.

تنزيل وتثبيت ماجنتو 2.4.5

  • ثالثًا: بعد كتابتك لأمر إنشاء مشروع ماجنتو سيًطلب منك إدخال مفتاح الوصول العام والخاص من متجر ماجنتو.

إدخال مفتاح الوصول العام والخاص من متجر ماجنتو

  • رابعًا: الأن نذهب إلى متجر ماجنتو ثم ننقر على زر Sign in with Adobe ID لتسجيل الدخول إلى المتجر.

تسجيل الدخول إلى متجر ماجنتو

سوف يعطيك الموقع عدة خيارات لتسجيل الدخول، إما بحسابك على أدوبي، أو حسابك على جوجل، أو حسابك على الفيسبوك، أو حسابك على آبل، لذا عليك تحديد الخيار المناسب لك.

خيارات لتسجيل الدخول

بعد ذلك من أعلى يمين النافذة، انقر على اسم الحساب الخاص بك لفتح القائمة المنسدلة، ثم اختر منها My Profile.

فتح القائمة المنسدلة واختيار My Profile

بعد ذلك انقر على الرابط Access Keys الموجود ضمن التبويب Marketplace.

النقر على الرابط Access Keys

بعد ذلك انقر على زر Create A New Access Key، ومن النافذة التي ستظهر اُكتب أي اسم مناسب لهذا المفتاح، ثم اُنقر على زر Ok.

النقر على زر Create A New Access Key

الآن أصبح لديك مفتاح عام وخاص يمكنك استخدامهما للحصول على نظام ماجنتو.

الحصول على مفتاح عام وخاص

  • خامسًا: الآن نعود إلى موجه الأوامر مرةً أخرى، انسخ مفتاح الوصول العام Public Key من متجر ماجنتو، ثم الصقه في موجه الأوامر في حقل Username، ثم اُنقر على مفتاح Enter، وبعد ذلك انسخ مفتاح الوصول الخاص Private Key من المتجر، ومن ثمة الصقه في موجه الأوامر في حقل Password، ثم انقر على مفتاح Enter، واكتب حرف Y لتخزين بيانات الاعتماد في المسار المذكور بالرسالة، بعدها انقر على مفتاح Enter.

الآن انتظر حتى ينتهي Composer من عملية تنزيل وإنشاء ملفات المشروع.

 الانتظار حتى ينتهي Composer من عملية تنزيل وإنشاء ملفات المشروع

  • سادسًا: يجب تعيين أذونات القراءة والكتابة للمجلد الذي يحتوي على ملفات المشروع قبل تثبيت Adobe Commerce أو Magento Open Source، ويُعَد ذلك ضروريًا حتى يتمكن سطر الأوامر من كتابة الملفات داخل مجلد المشروع.

في البداية اذهب إلى مجلد المشروع من خلال موجه الأوامر بكتابة الأمر التالي:

cd /var/www/html/<اكتب هنا اسم مجلد المشروع>

تعيين أذونات القراءة والكتابة للمجلد الذي يحتوي على ملفات المشروع

الآن اكتب الأوامر الأربعة التالية:

sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +

و

sudo find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +

و

sudo chown -R اكتب هنا اسم المستخدم ذو صلاحيات الرووت:www-data .

و

sudo chmod u+x bin/magento

كيفية تعيين أذونات القراءة والكتابة للمجلد الذي يحتوي على ملفات المشروع

  • سابعًا: تثبيت ماجنتو على خادم الاستضافة، سوف أعرض لك الأمر الافتراضي لتثبيت ماجنتو، وبعدها سوف أشرح لك هذا الأمر وما هي النقاط التي يجب عليك تعديلها قبل تنفيذ هذا الأمر ليتناسب مع مشروعك، وما هي النقاط التي يمكنك تعديلها بعد تثبيت ماجنتو.

إليك الأمر الافتراضي:

php bin/magento setup:install --base-url=<اكتب هنا اسم نطاق المتجر> --db-host=<اكتب هنا عنوان خادم قاعدة البيانات> --db-name=<اكتب هنا اسم قاعدة البيانات> --db-user=<اكتب هنا اسم المستخدم بقاعدة البيانات> --db-password=<اكتب هنا كلمة مرور المستخدم بقاعدة البيانات> --admin-firstname=Admin --admin-lastname=Admin --admin-email=admin@admin.com --admin-user=admin --admin-password=<اكتب هنا كلمة مرور الواجهة الخلفية> --language=en_US --currency=USD --timezone=America/Chicago --backend-frontname=admin --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200

حسنًا، إليك النقاط التي يجب عليك تعديلها قبل تنفيذ هذا الأمر:

  • ‎--base-url: هنا يجب عليك كتابة اسم النطاق (الوهمي للاستضافة المحلية أو الحقيقي الذي اشتريته للاستضافة العامة) أو عنوان الـ IP الخاص بخادم الاستضافة، وبما أننا نبني متجر لعرض مفروشات الأَسِرَّة على خادم استضافة محلية، فسوف أستخدم اسم النطاق الوهمي هذا http://bedding.store.com.
  • ‎--db-host: هنا يجب عليك كتابة عنوان خادم قاعدة البيانات، وبما أننا قد ثبتنا خادم قاعدة البيانات في خادم الاستضافة نفسه، فسوف يكون عنوان خادم قاعدة البيانات في هذه الحالة هو localhost؛ أما في حالة تثبيت قاعدة البيانات في خادم منفصل، فيجب أن تكتب اسم هذا الخادم.
  • ‎‎--db-name: هنا يجب أن تكتب اسم قاعدة البيانات التي أنشأناها لمشروعنا بالخطوة الثانية، وفي حالتنا كان اسم قاعدة البيانات التي أنشأناها هو: magento2.
  • ‎--db-user: هنا يجب أن تكتب اسم المستخدم بقاعدة البيانات ذو الصلاحيات root الذي أنشأناه بالخطوة الثانية، وفي حالتنا كان اسم المستخدم الذي أنشأناه هو: magento2.
  • ‎--db-password: هنا يجب أن تكتب كلمة المرور التي عيناها للمستخدم بقاعدة البيانات، وفي حالتنا كانت كلمة المرور الخاصة بالمستخدم magento2 هي: Admin@123456.
  • ‎--admin-email: هنا يجب أن تكتب عنوان بريد إلكتروني حقيقي، حتى تتمكن من استرداد كلمة مرور الواجهة الخلفية في حالة نسيانها.
  • ‎--admin-password: هنا يجب أن تكتب كلمة مرور خاصة للوصول لصفحة التحكم بالواجهة الخلفية للمتجر، يمكنك كتابة أي كلمة مرور تريدها، لكن راعي أن تكون قويةً وغير مكررة.
  • ‎--backend-frontname: هذا الأمر مسؤول عن تحديد عنوان URL الخاص بالواجهة الخلفية، فإن تركت قيمته الافتراضية كما هي admin فسيكون رابط الوصول للواجهة الخلفية لمتجرنا هو: http://bedding.store.com/admin لذلك من إجراءات الأمان الموصى بها أن تغير القيمة الافتراضية لهذا الأمر، أو أن تحذف هذا الخيار للسماح لأمر التثبيت بإنشاء عنوان URL عشوائي تلقائيًا، وذلك لكي يصعب على المتسللين أو البرامج الضارة تخمين عنوان URL العشوائي، وسوف يُعرض لك عنوان URL في وحدة التحكم الخاصة بك عند اكتمال التثبيت.

يمكنك تعديل القيم الخاصة باللغة والعُملة والمنطقة الزمنية، أو تركها كما هي وتعديلها من الواجهة الخلفية أفضل لأنك لو كتبت قيمةً غير مدعومة من النظام فستفشل عملية التثبيت.

الآن، اكتب الأمر بعد إجراء التعديلات التي تناسبك، ليبدأ Composer في تثبيت ماجنتو 2.4.5 على خادم الاستضافة، وسوف تستغرق عملية التثبيت بعض الوقت حسب سرعة الخادم والإنترنت لديك.

وإليك الأمر في حالته النهائية بعد تعديله لبناء متجر مفروشات الأَسِرَّة الخاص بنا وبدء عملية التثبيت موضحين بالصورة التالية:

بدء عملية التثبيت

تهانينا، لقد ثَبَّتَّ نظام المتاجر الإليكترونية Magento 2.4.5 على خادم استضافة يعمل بنظام التشغيل ubuntu بنجاح.

  • ثامنًا: تعديل ملف default.conf بإضافة مسار المجلد pub الموجود داخل مجلد المشروع الخاص بنا إلى توجيه DocumentRoot، وأيضًا إضافة اسم النطاق الخاص بمتجرنا (في حالة إن كنت تنوي بناء أكثر من متجر إليكتروني على نفس خادم الاستضافة) إلى توجيه ServerName، ثم إضافة شيفرة نحدد فيها المسار إلى مجلد html، والسماح له بتجاوز الجميع.

اكتب الأمر التالي في البداية لفتح ملف default.conf:

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

فتح ملف default.conf

بعد ذلك عدّل الشيفرة الموجودة داخل هذا الملف لتصبح كما يلي:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/اكتب هنا اسم مجلد المشروع/pub
ServerName اكتب هنا عنوان نطاق المتجر
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html">
AllowOverride all
</Directory>
</VirtualHost>

تعديل الشيفرة الموجودة داخل الملف

الآن احفظ الملف بعد الانتهاء من إجراء التعديلات، ثم أعد تشغيل خادم أباتشي لتصبح التغييرات التي أجريناها سارية المفعول، وذلك باستخدام الأمر التالي:

sudo systemctl restart apache2
  • تاسعًا: تعديل ملف hosts بإضافة اسم نطاق متجرنا إلى عنوان IP الخاص بـ localhost، وهو: 127.0.0.1

في البداية اكتب الأمر التالي لفتح ملف hosts:

sudo nano /etc/hosts

فتح ملف hosts

بعد ذلك أضف السطر التالي بهذا الملف كما يلي:

127.0.0.1 اكتب هنا عنوان نطاق المتجر

إضافة السطر "127.0.0.1 اكتب هنا عنوان نطاق المتجر"

الآن، احفظ الملف بعد الانتهاء من إجراء التعديلات، ثم اكتب الخمسة أوامر التالية لإعادة فهرسة وترقية قاعدة البيانات، ونشر ملفات العرض الثابتة، ومسح ذاكرة التخزين المؤقتة، وإلغاء خاصية التحقق بخطوتين أثناء تسجيل الدخول للواجهة الخلفية، وهذه الأوامر مجمعة بسطر واحد كما يلي:

sudo php bin/magento indexer:reindex && sudo php bin/magento setup:upgrade && sudo php bin/magento setup:static-content:deploy -f && sudo php bin/magento cache:flush && sudo php bin/magento module:disable Magento_TwoFactorAuth

الأوامر الواجب إضافتها بعد حفظ الملف

  • أخيرًا: حان الوقت لجني ثمار المجهود الذي بذلناه، بأن نتحقق من عمل الواجهة الأمامية والخلفية للمتجر دون مشاكل، لذا اذهب إلى المتصفح واكتب أحد عناوين خادم الاستضافة مثل: localhost أو 127.0.0.1 أو عنوان الـ IP المحلي للخادم، أو اسم النطاق، لفتح الواجهة الأمامية للمتجر.

في حالتنا هذه سأكتب اسم النطاق الخاص بمتجرنا، وهو: http://bedding.store.com ومن المفترض أن ترى مخرجات كما بالصورة التالية:

كتابة اسم النطاق الخاص بالمتجر

الآن ومن خلال المتصفح أيضًا، سنتحقق من عمل الواجهة الخلفية دون مشاكل، وذلك من خلال كتابة عنوان لوحة التحكم الرئيسية، والتي تكون افتراضيًا بإضافة كلمة admin إلى عنوان خادم الاستضافة، إلا في حالة إن كنت قد عدلتها أثناء كتابتك لأمر تثبيت ماجنتو كما ذكرنا سابقًا.

في حالتنا هذه سأكتب عنوان لوحة التحكم الرئيسية الخاص بمتجرنا، وهو: http://bedding.store.com/admin، وعندها سوف تفتح لك نافذة تسجيل الدخول، اكتب عندها اسم المستخدم وكلمة المرور اللذان قد عينَّاهم في أمر تثبيت ماجنتو، ومن المفترض أن ترى مخرجات كما بالصورة التالية:

كتابة عنوان لوحة التحكم الرئيسية الخاص بالمتجر

تهانينا، فكل شيء بالمتجر يعمل على ما يرام.

الخطوة السابعة: تنزيل عينة من البيانات (خطوة اختيارية)

هل لاحظت أن الواجهة الأمامية للمتجر خالية من المنتجات؟ لهذا السبب سنعمل في هذه الخطوة على إضافة عينة من البيانات لمتجرنا لملئه ببعض المنتجات والقوائم والفئات والصور ليبدو المتجر الخاص بك على النحو التالي:

تنزيل عينة من البيانات على المتجر

وكما ذكرت، تُعَد هذه الخطوة اختياريةً ويمكنك تجاوزها ومتابعة الدروس القادمة لتعلم كيفية بناء المتجر من البداية؛ أما من يرغب في تثبيت عينة البيانات هذه لكي يتدرب عليها، فيمكنه كتابة الخمسة أوامر التالية لجلب عينة البيانات، وإعادة فهرسة وترقية قاعدة البيانات، ونشر ملفات العرض الثابتة ومسح ذاكرة التخزين المؤقتة، وهذه الأوامر مجمعة بسطر واحد كما يلي:

sudo php bin/magento sampledata:deploy && sudo php bin/magento indexer:reindex && sudo php bin/magento setup:upgrade && sudo php bin/magento setup:static-content:deploy -f && sudo php bin/magento cache:flush

أحسنت، الآن أعد تحميل صفحة المتجر واستمتع بمراجعة المنتجات والقوائم التي أُضيفت إلى متجرك.

صفحة مراجعة المنتجات والقوائم التي أُضيفت إلى متجرك

وفي حالة عدم ظهور صور المنتجات على المتجر كما بالصورة التالية، يمكنك حل هذه المشكلة بكتابة الأمر التالي:

sudo php bin/magento catalog:image:resize

مشكلة عدم ظهور صور صفحة مراجعة المنتجات والقوائم المضافة على متجرك

تثبيت ماجنتو 2.4.5 على نظام التشغيل Windows

بعد أن انتهينا من تثبيت ماجنتو على نظام التشغيل Ubuntu، حان الوقت لتثبيت ماجنتو على نظام التشغيل Windows، وستكون خطواتنا في عملية التثبيت كما يلي:

  • الخطوة الأولى: تثبيت خادم XAMPP
  • الخطوة الثانية: تثبيت Composer
  • الخطوة الثالثة: تثبيت Elasticsearch
  • الخطوة الرابعة: تكوين ملف php.ini
  • الخطوة الخامسة: إنشاء قاعدة البيانات
  • الخطوة السادسة: تنزيل وتثبيت ماجنتو 2.4.5
  • الخطوة السابعة: تنزيل عينة من البيانات (خطوة اختيارية)

الخطوة الأولى: تثبيت خادم XAMPP

خطوتنا الأولى ستكون تثبيت Xampp، وهو خادم ويب يساعد المطورين على إنشاء واختبار تطبيقاتهم على خادم ويب محلي، فهو يحتوي على PHP و MySQL و Apache، وهي كما تعلم مكونات مطلوبة للحصول على نظام Magento.

في البداية، إذهب إلى الموقع الرسمي لخادم XAMPP، ثم انقر على القائمة Download، بعدها حدد أحدث إصدار من الخادم المتوافق مع نظام التشغيل Windows، ثم انقر على زر Download لتنزيله على الحاسوب، وعادةً ما يكون أحدث إصدار متواجد في نهاية القائمة كما هو موضح بالصورة التالية:

 تثبيت خادم XAMPP

بعد انتهاء عملية التنزيل، شغّل ملف إعداد التثبيت وتابع جميع الخطوات لتثبيت خادم Xampp، وفي خطوة تحديد المكونات تأكد من تحديد Apache و Mysql و PHP و PHPmyadmin.

 تشغيل ملف إعداد التثبيت لتثبيت خادم XAMPP

الآن افتح لوحة تحكم خادم XAMPP وانقر على زر Start الموجود بجوار Apache و Mysql لتشغيلهم، ويشير اللون الأخضر إلى أنهم يعملون دون مشاكل.

فتح لوحة تحكم خادم XAMPP والنقر على زر Start

الخطوة الثانية: تثبيت Composer

Composer هي أداة لإدارة المكتبات في PHP. توفر لنا هذه الأداة الكثير من الوقت بتثبيت الحزم الضرورية التي يحتاج لها مشروعك لاستخدامها، وما عليك سوى التصريح عنها، وسيعمل Composer تلقائيًا بتنزيل هذه المكتبات من خلال خوادمها. في البداية إذهب إلى الموقع الرسمي لأداة Composer، ثم انقر على زر Download.

تثبيت Composer

ومن النافذة التالية، انقر على "Composer-Setup.exe" لتنزيل الأداة على الحاسوب.

النقر على "Composer-Setup.exe" لتنزيل الأداة على الحاسوب

بعد انتهاء عملية التنزيل، شغل ملف إعداد التثبيت وتابع جميع الخطوات لتثبيت أداة Composer، وفي خطوة تحديد مسار سطر أوامر PHP، حدد ملف php.exe الخاص بخادم XAMPP وستجده في المسار التالي: C:/xampp/php/php.exe

تشغيل ملف إعداد التثبيت لتثبيت أداة Composer

سنتحقق الآن مما إذا كان Composer قد ثُبِّتَ بنجاح عن طريق فتح موجه أوامر Windows، واكتب كلمة composer؛ فإذا عرضت لك شاشة موجه الأوامر النتيجة كما بالصورة التالية، فذلك يعني أن Composer قد ثُبِّتَ بطريقة صحيحة.

التحقق الآن مما إذا كان Composer قد ثُبِّتَ بنجاح

الخطوة الثالثة: تثبيت Elasticsearch

Elasticsearch هو الآن أداة مطلوبة لتثبيت نظام Magento، وأثناء عملية التثبيت، سيتحقق النظام مما إذا كان Eleasticsearch قد ثُبِّتَ وهُيِّئ بطريقة صحيحة، فإذا كان هناك خطأ في التحقق من Elasticsearch، فستتوقف عملية التثبيت.

في البداية إذهب إلى الموقع الرسمي لأداة Elasticsearch، ثم تأكد من اختيار نظام التشغيل Windows. ومن القائمة المنسدلة، انقر على زر التنزيل كما هو موضح بالصورة التالية.

تثبيت Elasticsearch

لكن أنصحك باستخدام الإصدار 7.17.0 من Elasticsearch، فهو متوافق مع إصدار ماجنتو 2.4.5، واستخدامه غير مُعقد مثل الإصدارات الحديثة من Elasticsearch.

بعد انتهاء عملية التنزيل، استخرج المجلد المضغوط ثم انقله داخل مجلد htdocs الموجود بمجلد الخادم XAMPP، وستجده في المسار التالي: C:/xampp/htdocs.

استخراج المجلد المضغوط ونقله داخل مجلد htdocs الموجود بمجلد الخادم XAMPP

الآن انتقل إلى المجلد elasticsearch\bin، ثم انقر بزر الفأرة الأيمن على ملف elasticsearch.bat وحدد "تشغيل كمسؤول".

وضع الملف في وضع التشغيل كمسؤول

اترك النافذة السوداء هذه تعمل دائمًا في الخلفية، وللتحقق مما إذا كان Elasticsearch يعمل على نظامك، افتح المستعرض الخاص بك واكتب هذا العنوان: localhost:9200، فإذا رأيت النتيجة كما بالصورة التالية فذلك يعني أن Elasticsearch يعمل دون مشاكل.

التحقق مما إذا كان Elasticsearch يعمل على النظام

الخطوة الرابعة: تكوين ملف php.ini

قبل تثبيت نظام ماجنتو تأكد من تثبيت وتمكين جميع إضافات PHP المطلوبة، وتكوين بعض قيم PHP لجعل التثبيت يسير بسلاسة.

  • أولاً، تثبيت وتمكين جميع إضافات PHP المطلوبة، كما هو مذكور في متطلبات نظام Magento نحتاج إلى تثبيت وتمكين امتداد php التالية:

    • bcmath
    • ctype
    • curl
    • dom
    • gd
    • hash
    • iconv
    • intl
    • mbstring
    • openssl
    • pdo_mysql
    • simplexml
    • soap
    • xsl
    • zip
    • ext-sockets.

وبخلاف نظام التشغيل Ubuntu، تُثبت جميع هذه الإضافات تلقائيًا على نظام التشغيل Windows عند تثبيت PHP عليه، وسنحتاج فقط إلى تفعيل 6 إضافات من مجموع الإضافات المطلوبة.

في البداية، اذهب إلى لوحة تحكم خادم XAMPP، ثم انقر على زر Config الخاص بخادم أباتشي، ومن القائمة التي ستظهر اختر منها php.ini.

خيار  php.ini بخادم أباتشي

من الملف الذي سيفتح ابحث عن الإضافات التالية:

  1. extension=gd
  2. extension=intl
  3. extension=soap
  4. extension=xsl
  5. extension=sockets
  6. extension=sodium

الآن، احذف علامة (;) من بداية كل سطر لهذه الإضافات، ثم احفظ الملف.

عملية إزالة الفاصلة المنقوطة من الملف

  • ثانيًا: تكوين بعض إعدادات PHP، وفي نفس الملف php.ini ابحث عن القيم التالية وغيرها على النحو التالي:
    • max_execution_time=18000
    • max_input_time=1800
    • memory_limit=4G

تكوين بعض إعدادات PHP

ستحافظ هذه القيم على تنفيذ عملية التثبيت دون انقطاع، والآن احفظ الملف ثم أغلقه، ومن خلال لوحة تحكم خادم XAMPP انقر على زر Stop الخاص بخادم أباتشي ثم انقر على زر Start لإعادة تشغيل خادم أباتشي حتى تُطبق التعديلات التي أجريناها.

إعادة تشغيل خادم أباتشي حتى تُطبق التعديلات التي أجريناها

الخطوة الخامسة: إنشاء قاعدة البيانات

قبل أن نبدأ في تثبيت ماجنتو، يتعين علينا إنشاء قاعدة بيانات لمتجرنا حتى نتمكن من تخزين جميع الإعدادات المتعلقة بالمنتجات، الكتالوج، المستخدمين وتكوين المتجر.

في البداية، اذهب إلى لوحة تحكم خادم Xampp، ثم انقر على زر Admin الخاص بخادم MySQL لفتح phpMyAdmin من خلال المستعرض.

إنشاء قاعدة البيانات

الآن، ومن النافذة التي ستظهر لك، انقر على New، ثم اكتب اسم لقاعدة البيانات الجديدة (في حالتنا أسميناها magento2)، ثم انقر على زر تكوين لإنشاء قاعدة البيانات.

إضافة قاعدة بيانات جديدة

وكما نعلم، خادم MySQL يأتي افتراضيًا بدون كلمة مرور للمستخدم root، لذلك يجب علينا تعيين كلمة مرور له، اذهب إلى لوحة تحكم خادم Xampp ثم انقر على زر Shell لفتح موجه الأوامر.

تعيين كلمة مرور لخادم MySQL

بعد ذلك أدخل الأمر التالي لتعيين كلمة مرور للمستخدم root الخاص بالخادم MySQL

mysqladmin.exe -u root password اكتب هنا كلمة المرور

تعيين كلمة مرور للمستخدم root الخاص بالخادم MySQL

الآن، وحتى تستطيع استخدام phpMyAdmin مرةً أخرى، ستحتاج إلى تعديل ملف config.inc.php لإضافة كلمة المرور التي عيناها للمستخدم root به، لذلك اذهب إلى لوحة تحكم خادم Xampp، ثم انقر على زر config.inc.php.

تعديل ملف config.inc.php

من الملف الذي سيفتح، ابحث عن كلمة Password ثم اكتب كلمة المرور الجديدة كما هو موضح بالصورة التالية:

كتابة كلمة المرور الجديدة

وفي النهاية، أعد تشغيل خادم أباتشي كما تعلمنا سابقًا حتى تُطبق التعديلات التي أجريناها.

الخطوة السادسة: تنزيل وتثبيت ماجنتو 2.4.5

الآن انتهينا من كل خطوات الإعداد، ويمكننا البدء في تثبيت Magento 2.4.5 على خادم الاستضافة الذي يعمل بنظام التشغيل ويندوز.

  • أولاً: من خلال موجه الأوامر اكتب الأمر التالي:
cd C:/xampp/htdocs
  • ثانيًا: أنشئ مشروع Composer جديدًا باستخدام الإصدار المجتمعي المجاني Magento Open Source أو باستخدام الإصدار المؤسسي المدفوع Magento Commerce، وذلك باستخدام أحد الأمرين التاليين:
sudo composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.5 <اسم مجلد المشروع>

و

sudo composer create-project --repository-url=https://repo.magento.com/ magento/project-enterprise-edition=2.4.5 <اسم مجلد المشروع>

تنزيل وتثبيت ماجنتو 2.4.5

  • ثالثًا: بعد كتابتك لأمر إنشاء مشروع ماجنتو سيًطلب منك إدخال مفتاح الوصول العام والخاص من متجر ماجنتو، ولقد وضحنا خطوات حصولك عليهم بالخطوة السادسة من تثبيت ماجنتو على نظام التشغيل Ubuntu.
  • رابعًا: بعد حصولك على مفتاحي الوصول العام والخاص من متجر ماجنتو، انسخ مفتاح الوصول العام Public Key، ثم الصقه في موجه الأوامر في حقل Username، ثم انقر على مفتاح Enter، بعد ذلك انسخ مفتاح الوصول الخاص Private Key ثم الصقه في موجه الأوامر في حقل Password، ومن ثمة انقر على مفتاح Enter، بعدها اكتب حرف Y لتخزين بيانات الاعتماد في المسار المذكور بالرسالة، وانقر على مفتاح Enter.

الآن انتظر حتى ينتهي Composer من عملية تنزيل وإنشاء ملفات المشروع.

انتهاء Composer من عملية تنزيل وإنشاء ملفات المشروع

  • خامسًا: نحتاج إلى ضبط مجلد الجذر إلى pub، لمنع زوار المتجر من الوصول إلى المناطق الحساسة في نظام ملفات Magento من خلال المستعرض.

وللقيام بذلك، افتح الملف httpd-vhosts.conf الموجود بالمسار التالي: C:\xampp\apache\conf\extra\httpd-vhosts.conf، ثم أضف الشيفرة التالية في أسفل الملف:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/اكتب هنا اسم مجلد المشروع/pub"
    ServerName اكتب هنا اسم النطاق
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>

ضبط مجلد الجذر إلى pub

  • سادسًا: تعديل ملف hosts بإضافة اسم نطاق متجرنا إلى عنوان IP الخاص بـ localhost وهو: 127.0.0.1 في البداية اذهب إلى المسار التالي: C:\Windows\System32\drivers\etc\hosts، ثم أضف السطر أدناه في أسفل الملف:
127.0.0.1  اكتب هنا اسم النطاق

التعديل على ملف hosts

  • سابعًا، أعد تشغيل خادم أباتشي كما تعلمنا سابقًا حتى تُطبق التعديلات التي أجريناها.
  • ثامنًا، أدخل الآن الأمر التالي لبدء تثبيت Magento 2.4.5 (تأكد من تشغيل Elasticsearch و Apache و Mysql قبل تنفيذ هذا الأمر):

في البداية اذهب إلى مجلد المشروع من خلال موجه الأوامر بكتابة الأمر التالي:

cd C:/xampp/htdocs/اكتب هنا اسم مجلد المشروع

بدء تثبيت Magento 2.4.5 عن طريق إدخال سطر أوامر

الآن اكتب الأمر التالي بعد تعديل ما يلزم به كما تعلمنا في الخطوة السادسة من تثبيت ماجنتو على نظام التشغيل Ubuntu:

php bin/magento setup:install --base-url="اكتب هنا اسم النطاق" --db-host="localhost" --db-name="اكتب هنا اسم قاعدة البيانات" --db-user="اكتب هنا اسم مستخدم قاعدة البيانات" --db-password="اكتب هنا كلمة مرور مستخدم قاعدة البيانات" --admin-firstname="admin" --admin-lastname="admin" --admin-email="user@example.com" --admin-user="admin" --admin-password="Admin@123456" --language="en_US" --currency="USD" --timezone="America/Chicago" --use-rewrites="1" --backend-frontname="admin" --search-engine=elasticsearch7 --elasticsearch-host="localhost" --elasticsearch-port=9200

تثبيت ماجنتو على نظام التشغيل Ubuntu

حسنًا، نظرًا لأن نظام التشغيل Windows ليس مدعومًا لتشغيل ماجنتو عليه مثل نظام التشغيل Ubuntu، فستواجهك عدة مشاكل أثناء عملية التثبيت، وأولى هذه المشاكل ستكون بعد تشغيل الأمر السابق، وهي عبارة عن خطأ في سطر 170 بملف PatchApplier.php، وخطأ في سطر 72 بملف Gd2.php كما هو موضح بالصورة التالية:

ظهور الخطأ عند عملية تثبيت

ولحل هذه المشكلة، افتح الملف Gd2.php الموجود بالمسار التالي:

C:\xampp\htdocs\magento2\vendor\magento\framework\Image\Adapter\Gd2.php

ثم عدل الشيفرة البرمجية بالسطر التالي:

if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes)) {

لتصبح كما يلي:

if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) {

التعديل على الملف Gd2.php

الآن، احفظ الملف وأعد تشغيل أمر تثبيت ماجنتو السابق مرةً أخرى في موجه الأوامر، ومن المفترض أن تكتمل عملية التثبيت بنجاح هذه المرة.

حفظ الملف وإعادة تشغيل أمر تثبيت ماجنتو مرةً أخرى في موجه الأوامر

تهانينا، لقد ثَبَّتَّ Magento 2.4.5 بنجاح على خادم استضافة يعمل بنظام التشغيل ويندوز.

  • أخيرًا: حان الوقت لجني ثمار المجهود الذي بذلناه، بأن نتحقق من عمل الواجهة الأمامية والخلفية للمتجر دون مشاكل، لذا عليك هنا الذهاب إلى المتصفح وكتابة أحد عناوين خادم الاستضافة. في حالتنا سأكتب اسم النطاق الخاص بمتجرنا، وهو: http://bedding.store.com

المشكلة الثانية التي ستواجهك هي عدم عرض الواجهة الأمامية للمتجر بطريقة سليمة كما هو موضح بالصورة التالية.

مشكلة عدم عرض الواجهة الأمامية للمتجر بطريقة سليمة

ولحل هذه المشكلة، افتح الملف Validator.php الموجود بالمسار التالي:

C:\xampp\htdocs\magento2\vendor\magento\framework\View\Element\Template\File\validator.php

ثم عدّل الشيفرة البرمجية بالسطر التالي:

$realPath = $this->fileDriver->getRealPath($path);

لتصبح كما يلي:

$realPath = str_replace('\\', '/', $this->fileDriver->getRealPath($path));

حل مشكلة عدم عرض الواجهة الأمامية للمتجر بطريقة سليمة

بعد ذلك افتح الملف di.xml الموجود بالمسار التالي: C:\xampp\htdocs\magento2\app/etc/di.xml، ثم عدل الشيفرة البرمجية بالسطر التالي:

Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink

لتصبح كما يلي:

Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

طريقية مشكلة عدم عرض الواجهة الأمامية للمتجر بطريقة سليمة

الآن، اكتب الخمسة أوامر التالية لإعادة فهرسة وترقية قاعدة البيانات، من خلال نشر ملفات العرض الثابتة، ومسح ذاكرة التخزين المؤقتة وإلغاء خاصية التحقق بخطوتين أثناء تسجيل الدخول للواجهة الخلفية، وهذه الأوامر مجمعة بسطر واحد كما يلي:

php bin/magento indexer:reindex && php bin/magento setup:upgrade && php bin/magento setup:static-content:deploy -f && php bin/magento cache:flush && php bin/magento module:disable Magento_TwoFactorAuth

في النهاية، أعد تحميل الواجهة الأمامية والخلفية للمتجر وستجدهم يعملان دون مشاكل.

الخطوة السابعة: تنزيل عينة من البيانات (خطوة اختيارية)

لإضافة عينة من البيانات لمتجرنا لملئه ببعض المنتجات والقوائم والفئات والصور كما فعلنا في نظام Ubuntu، اكتب الخمسة أوامر التالية لجلب عينة البيانات، من خلال إعادة فهرسة وترقية قاعدة البيانات، ونشر ملفات العرض الثابتة ومسح ذاكرة التخزين المؤقتة، وهذه الأوامر مجمعة بسطر واحد كما يلي:

php bin/magento sampledata:deploy && php bin/magento indexer:reindex && php bin/magento setup:upgrade && php bin/magento setup:static-content:deploy -f && php bin/magento cache:flush

وفي حالة عدم ظهور صور المنتجات على المتجر، يمكنك حل هذه المشكلة بكتابة الأمر التالي:

php bin/magento catalog:image:resize

أحسنت، بهذا يكون أصبح لديك الآن متجر بنظام ماجنتو 2.4.5 يعمل على خادم استضافة بنظام ويندوز وبه عينة من البيانات.

خاتمة

وإلى هنا نكون قد وصلنا إلى نهاية هذا الدرس من هذا الدليل الذي تعرفنا فيه على خطة بناء متجر إلكتروني متعدد اللغات ويدعم اللغة العربية، وتعرفنا على الأدوات التي سنستخدمها لمساعدتنا في بناء متجرنا، ثم بدأنا في إعداد خادم الاستضافة بالأدوات اللازمة لتحميل وتثبيت أحدث إصدار من نظام ماجنتو وهو الإصدار 2.4.5 وثبتناه على نظامي التشغيل Ubuntu و Windows.

وبما أن عملية تثبيت نظام ماجنتو منذ أن استحوذت شركة أدوبي عليه تُعَد أمرًا محبطًا للغاية وقد يستسلم العديد من المستخدمين نظرًا لكثرة خطوات تثبيته ووجود العديد من المشكلات أثناء عملية التثبيت، فإن واجهتك أي مشاكل أو لو كانت لديك استفسارات فلا تتردد في ذكرها لنا في التعليقات لنساعدك على تخطيها.

وفي النهاية نتمنى أن يكون هذا الدرس قد أضاف لكم معلومات جديدة ومفيدة، وفي الدرس القادم سوف نشرح الإعدادات الأساسية لتكوين المتجر.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...