skip to Main Content
طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو

طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو

Post Series: سلسة تطوير ماجنتو للمبتدئين

مرحباً بكم في أول درس من دروس تعلم الماجنتو للمبتدأين طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو.
سوف نقوم في هذا الدرس بشرح طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو و تهيئتها للدروس القادمة لشرح تطوير الاضافات و الثيمات عليها بعد ذلك.

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

متطلبات إطار عمل ماجنتو

قبل البدء بقراءة درس طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو؛ برجاء التعرف علي متطلبات عمل إطار عمل ماجنتو من هنا

الخطوة الأولي: تسطيب خادم nginx و php

NGINX هو برنامج مفتوح المصدر لخدمة الويب ، والبروكسي العكسي ، والتخزين المؤقت ، وموازنة الحمل ، وتدفق الوسائط ، والمزيد. … بالإضافة إلى إمكانات خادم HTTP ، يمكن أن يعمل NGINX أيضًا كخادم وكيل للبريد الإلكتروني (IMAP و POP3 و SMTP) وكوكيل عكسي وموازن التحميل لخوادم HTTP و TCP و هو خادم ممتاز إذا كنت تريد العمل كمطور ماجنتو

sudo apt update && sudo apt upgrade
sudo apt install nginx

سيقوم مساعد apt بتسطيب خادم nginx و تشغيله
الان قم بتفعيل خادم nginx للبدء التلقائي للنظام

sudo systemctl enable nginx

لقد انتهينا من تنصيب خادم nginx, الان تأكد ان خطوة التنصيب تمت بنجاح من خلال الدخول علي http://127.0.0.1 لتجد شاشة الترحيب الخاصة بnginx

شاشة ترحيب nginx

الخطوة الثانية :- إضافة مضيف وهمي virtual host للماجنتو علي nginx

الخطوة الأولي:- تسطيب خادم nginx

بعد خطوة تنصيب nginx الان نقوم باضافة مضيف وهمي virtual host يمكننا استخدامه اثناء التطوير علي ماجنتو و ليكن المضيف الوهمي المراد اضافته هو http://magento.local
1- نقوم بانشاء مجلد خاص لنضع به ملفات ماجنتو؛ إذا لم تقم بتنزيل ملفات ماجنتو حتي الان قم بتنزيل الاصدار الاخير من هنا

sudo mkdir /var/www/html/maegnto

الان قم بوضع ملفات الماجنتو علي هذا المسار /var/www/html/magento
2- اضافة ملف الاعداد الخاص بماجنتو 2 لملفات الاعداد الخاصة بnginx

sudo nano /etc/nginx/sites-available/magento.local

الامر السابق سيقوم بفتح ملف جديد داخل محرر nano لنكتب فيه الاوامر الاتية

upstream fastcgi_backend {
   server   unix:/var/run/php/php7.3-fpm.sock;
}
server {
    listen 80;
    server_name magento.local;
    set $MAGE_ROOT /var/www/html/magento;
    set $MAGE_MODE developer;
    include /var/www/html/magento/nginx.conf.sample;
    fastcgi_read_timeout 3000;
}

مجموعة الاسطر السابقة هي تعليمات لسيرفر nginx لربط دومين نيم magento.local علي مجلد /var/www/html/magento الذي قمنا بانشاءه مسبقاً و كذلك تفعيل وضع المطور الخاص بماجنتو

الان نقوم بتفعيل الدومين (المضيف الوهمي) الذي قمنا بانشاءه في الخطوات السابقة عن طريقة اضافة ملف الاعدادات الي مجلد sites-enabled الخاص بماجنتو

sudo ln -s /etc/nginx/sites-available/magento.local /etc/nginx/sites-enabled/

لنتأكد ان الاعدادات الخاصة بنا كلها اعدادات صحيحة نقوم بتنفيذ الامر التالي

sudo nginx -t

اذا كانت الاعدادت صحيح يجب ان تحصل علي الرسالة الاتية. اذا كان هناك بعض الاخطاء الخاصة ب php لا تقلق سنقوم بستطيبها في الخطوة التالية

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

حسناً جميع الاعدادت صحيحة . لنقوم الان باعادة تشغيل nginx

sudo systemctl restart nginx

الان نقوم باضافة الدومين (المضيف الوهمي) الي ملف /etc/hosts

sudo nano /etc/hosts
127.0.0.1 magento.local

بعد حفظ الملف و الدخول علي http://magento.local من المفترض ان تجد واجهة التسطيب الخاصة بماجنتو او الملفات الخاصة بها . إذا حدث أي خطأ برجاء مراجعة الخطوات من البداية.

الخطوة الثانية : تسطيب php و متطلبات ماجنتو

سنقوم بتسطيب إصدار php7.3 عن طريق تنفيذ الاوامر التالية

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt install php7.3-fpm php7.3-common php7.3-curl php7.3-cli php7.3-mysql php7.3-gd php7.3-xml php7.3-json php7.3-intl php-pear php7.3-dev php7.3-common php7.3-mbstring php7.3-zip php7.3-soap php7.3-bcmath php7.3-opcache

الان نقوم بعمل بعض التعديلات علي اعدادات php لتناسب بيئة العمل ماجنتو

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

الان نقوم باضافة التعديلات الاتية

date.timezone = Africa/Cairo
memory_limit = -1
max_execution_time = 1800
zlib.output_compression = On
cgi.fix_pathinfo = 0
opcache.enable = 1 
opcache.save_comments = 1

نقوم بحفظ الاعدادات و اغلاق الملف. ثم نقوم باعادة تشغيل خدمة php-fpm

sudo systemctl start php7.3-fpm
sudo systemctl enable php7.3-fpm

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

sudo systemctl status php7.3-fpm

لنحصل علي النتيجة الاتية

حالة عمل php7.3-fpm
الخطوة الثالثة :- تسطيب خادم maria-db لقواعد البيانات

لإضافة خادم maria-db علي جهازك سنقوم بتنفيذ الامر التالي

sudo apt install mariadb-server

بعد الانتهاء من التسطيب نقوم بتشغيل سيرفر maria-db و اضافته لقائمة التشغيل التلقائي عند البدء عن طريق تنفيذ الاوامر التالية

sudo systemctl start mariadb
sudo systemctl enable mariadb

حسناً لقد قمنا بتسطيب و تفعيل خادم maria-db لقواعد البيانات؛ الان سنقوم باضافة كلمة مرور لمستخدم root الخاص بالخادم عن طريق تنفيذ الامر التالي

mysql_secure_installation

سيعرض علينا الخادم بعض الخيارات التي يجب الموافقة عليها او رفضها. سنقوم بتنفيذ الخيارات الاتية

Set a root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

بعد اضافة كلمة مرور للمستخدم root الان سنقوم باضافة قاعدة بيانات جديدة لاستخدامها في ماجنتو

mysql -u root -p

سيطلب منك الخادم كتابة كلمة المرور التي قمت بانشاءها سابقا. بعد الدخول سنقوم باضافة قاعدة مرور و مستخدم جديد لاستخدامهم عند تنصيب إطار العمل ماجنتو عن طريق تنفيذ الاوامر الاتية

create database magento;
create user magentouser@'localhost' identified by 'magentopass';
grant all privileges on magento.* to magentouser@'localhost';
flush privileges;
  • يقوم السطر الاول بانشاء قاعدة بيانات جديدة باسم magento
  • يقوم السطر الثاني بانشاء مستخدم جديد باسم magentouser و بكلمة مرور magentopass
  • السطر الثالث يعطي جميع صلاحيات القراء و الكتابة علي قاعدة بيانات magento للمستخدم المدعو magentouser
  • السطر الرابع لاعادة تكوين جداول الصلاحيات الخاصية بقواعد البيانات

قم بالخروج من اتصالك بقاعدة البيانات عن طريق تنفيذ الامر exit و الان قد انتهينا من تجهيز المتطلبات الخاصة بماجنتو ؛ لننتقل الان الي المرحلة النهائية و هي تنصيب الماجنتو

الخطوة النهائية :- تنصيب ماجنتو 2 علي nginx

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

بعد أن قمنا بتنصيب خادم nginx و php و كذلك خادم maria-db نكون قد أنتهينا من تهيئة السيرفر او الجهاز الشخصي لتنصيب الماجنتو. و حيث أن الماجنتو يعتمد علي composer و هو مقدم حزمات php لنقوم بتنصيبه أيضا عن طريق تنفيذ الامر التالي

sudo apt install composer

و لنتأكد انت التنصيب تم بشكل صحيح نقوم بالاستعلام عن اصدار composer الذي تم نصيبه عن طريق تنفيذ الامر الاتي

composer --version

اذا تم التنصيب بشكل صحيح ستلاحظ ظهور رقم الاصدار الذي تم تنصيبه كما بالشكل الاتي

Composer 1.10.1 2020-03-13 20:34:27
الخطوة الثانية:- تنزيل ماجنتو 2 و تسطيبه

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

/var/www/html/magento

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

cd /var/www/html/magento
composer install

بعد الانتهاء من تنزيل الحزم تأكد من صلاحيات المجلد و ملكيته للمستخدم الخاص بnginx و هو www-data عن طريق الاوامر الاتية

sudo chown -R www-data:www-data /var/www/html/magento
sudo chmod -R 777 /var/www/html/magento/var 

الان نقوم بالدخول علي الدومين الذي قمنا بانشاءه مسبقاً لبدء عملية التنصيب عن طريق الدخول علي http://magento.local من المتصفح

الموافقة علي بدء تسطيب ماجنتو
قم بالضغط علي الموافقة و البدء في عملية التنصيب Agree and Setup Magento

شاشة فحص الجاهزية لماجنتو 2
قم بالضغط علي Start Readiness Check لفحص جاهزية النظام للعمل
شاشة التأكد من جاهزية النظام للعمل ماجنتو 2
اذا قمت بجميع الخطوات السابقة بشكل صحيح يجب ان تحصل علي هذه النتيجة
شاشة اضافة قاعدة البيانات ماجنتو2
في هذه الخطوة سنقوم باضافة بيانات قاعدة البيانات التي قمنا بانشاءها مسبقا ثم الضغط علي Next
شاشة اعدادات الويب ماجنتو 2
في هذه الخطوة نقوم باعداد مسار لوحة التحكم بالاسم الذي نريده ثم الضغط علي Next
شاشة اعدادات اللغة و العملة ماجنتو 2
نقوم باختيار المنطقة الزمنية و كذلك اعدادات اللغة و العملة ثم الضغط علي Next
شاشة اضافة مستخدم لوحة تحكم ماجنتو2درس طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو
في هذه الخطوة نقوم باضافة مستخدم للوحة التحكم ثم الضغط علي Next
شاشة جاهزية النظام لبدء التنصيب ماجنتو2  درس طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو
إضغط علي Install Now لبدء عملية التنصيب
شاشة بدء التنصيب ماجنتو 2 درس طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو
سيقوم النظام ببدء عملية التنصيب و هذه الخطوة ربما تأخذ كثيراً من الوقت معتمدة علي قوة السيرفر او الجهاز الشخصي الذي تقوم باستخدامه
شاشة نجاح التنصيب ماجنتو 2 درس طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو
بعد الانتهاء من التنصيب سيعرض عليك النظام صفحة نجاح التنصيب و بها رابط الدخول لواجهة متجرك و كذلك رابط للدخول الي لوحة التحكم و كذلك ينصحك النظام بازالة تصاريح الكتابة من مجلد app/etc و هذا ماسنفعله في الخطوة القادمة

لإزالة تصاريح الكتابة من مجلد app/etc نقوم بتنفيذ الامر التالي

sudo chmod u-w /var/www/magento2/app/etc
الخطوة الأخيرة : إضافة اعدادات الكرون الخاصة بماجنتو

يستخدم ماجنتو مهمات كرون cron tasks لتنفيذ العديد من الاوامر منها تحديث المخازن و ارسال رسائل البريد الالكتروني كذلك تحديث النظام و الكثير من الاوامر الاخرى. في هذه الخطوة سنقوم بتفعيل اعدادات الكرون للماجنتو عن طريق تنفيذ الامر التالي

sudo -u www-data php bin/magento cron:install --force

سيقوم هذا الامر باضافة الاعدادات الخاصة بالكرون. لنتأكد من ان الامر قد تم تنفيذه بشكل سليم نقوم بتنفيذ الامر الاتي للاستعلام عن اوامر الكرون الموجودة علي السيرفر

crontab -u www-data -l
شاشة عرض المهمات الحالية بالكرون درس طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو
عند تنفيذ الامر بشكل صحيح يجب ان تري الاسطر الموجودة بالصورة السابقة

و بهذا نكون قد انتهينا من تنصيب الماجنتو و كذلك تنصيب خادم nginx و خادم maria-db و php7.3-fpm.
و بذلك نكون قد انتهينا من درس طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو

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

This Post Has 0 Comments

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Back To Top