
طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو
- 1.تنزيل جميع إصدارات ماجنتو 2 و ماجنتو 1
- 2.طريقة تسطيب ماجنتو 2 علي توزيعة أوبنتو
- 3.شرح قواعد solid principles بلغة PHP
مرحباً بكم في أول درس من دروس تعلم الماجنتو للمبتدأين طريقة تسطيب ماجنتو 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

الخطوة الثانية :- إضافة مضيف وهمي 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
لنحصل علي النتيجة الاتية

الخطوة الثالثة :- تسطيب خادم 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 من المتصفح










لإزالة تصاريح الكتابة من مجلد 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

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