تثبيت وتهيئة وتأمين ماجنتو على أوبونتو وسنت أو إس

تثبيت وتهيئة وتأمين ماجنتو علىأوبونتو 18.04/20.4/22.04 أو سنت أو إس 7/8

Magento هي منصة تجارة إلكترونية مفتوحة المصدر شائعة مكتوبة بلغة PHP. إنها توفر نظام عربة تسوق مرنة وتحكم في مظهر ومحتوى ووظائف متجرك على الإنترنت. يمكن تثبيت Magento على توزيعات لينكس مختلفة مثل أوبونتو ودبيان وسنت أو إس ورد هات الخ.

في هذا الدليل الشامل، سنناقش كيفية تثبيت وتهيئة وتأمين Magento 2 على أوبونتو 18.04 وسنت أو إس 7 من البداية.

المتطلبات الأساسية

قبل البدء في التثبيت، تأكد من أن خادمك يفي بالمتطلبات التالية:

  • أوبونتو 18.04/20.4/22.04 أو سنت أو إس 7/8 مع حق الوصول إلى الجذر أو مستخدم مع صلاحيات sudo.
  • خادم الويب أباتشي أو إنجينكس. سنستخدم أباتشي في هذا الدليل.
  • MySQL 5.6 أو MariaDB 10.0 أو أعلى.
  • PHP 7.4 أو أحدث مع الامتدادات المطلوبة مثل php-mysql و php-curl و php-gd و php-bcmath و php-mbstring و php-xml و php-zip الخ.
  • مدير الحزم Composer.
  • شهادة SSL للوصول HTTPS (اختيارية ولكن مستحسنة).

تأكد أيضًا من السماح لجدار الحماية الخاص بك بحركة HTTP و HTTPS إذا كنت قد مكّنت جدار الحماية على الخادم.

الخطوة 1 – تثبيت مكدس LAMP (لينكس، أباتشي، MySQL، PHP)

يتطلب Magento مكدس LAMP أو LEMP للعمل بشكل صحيح. فيما يلي الخطوات لتثبيت أباتشي وMySQL وPHP على أوبونتو:

# تثبيت أباتشي  
$ sudo apt update
$ sudo apt install apache2
# تثبيت MySQL
$ sudo apt install mysql-server
# تأمين تثبيت MySQL
$ sudo mysql_secure_installation
# تثبيت حزم PHP المطلوبة
$ sudo apt install php php-cli php-mysql php-gd php-curl php-bcmath php-mbstring php-xml php-zip
# إعادة تشغيل أباتشي
$ sudo systemctl restart apache2

لتثبيت مكدس LAMP على سنت أو إس 7، يمكنك استخدام الأوامر التالية:

# تثبيت أباتشي
$ sudo yum install httpd
# بدء أباتشي
$ sudo systemctl start httpd
$ sudo systemctl enable httpd
# تثبيت MySQL 
$ sudo yum install mysql-server
# تأمين تثبيت MySQL
$ sudo mysql_secure_installation
# تثبيت مستودع EPEL
$ sudo yum install epel-release yum-utils
# تثبيت مستودع RPM لـ Remi
$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# تمكين مستودع PHP 7.3 Remi
$ sudo yum-config-manager --enable remi-php74
# تثبيت PHP
$ sudo yum install php php-cli php-mysqlnd php-opcache php-gd php-curl php-mcrypt php-xml php-mbstring
# إعادة تشغيل أباتشي  
$ sudo systemctl restart httpd

سيقوم هذا بتثبيت مكدس LAMP أساسي على كلا نظامي التشغيل مع PHP 7.3 على سنت أو إس 7.

الخطوة 2 – تثبيت Composer

Composer هو مدير التبعيات لـ PHP الذي يتيح لك تثبيت Magento وتبعياتها. فيما يلي الخطوات لتثبيت Composer:

# تنزيل وتثبيت Composer
$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

تحقق من التثبيت باستخدام:

$ composer --version

الخطوة 3 – تنزيل وتثبيت Magento

الآن نحن جاهزون لتثبيت Magento 2 باستخدام Composer.

أنشئ دليل الجذر لوثائق Magento:

$ sudo mkdir -p /var/www/html/magento2

انتقل إلى دليل الجذر للوثائق:

$ cd /var/www/html/magento2 

شغّل Composer لتثبيت Magento:

$ composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition .

سيقوم هذا بتنزيل وتثبيت أحدث إصدار من Magento 2 CE في الدليل الحالي.

الخطوة 4 – إعداد قاعدة بيانات لـ Magento

يتطلب Magento قاعدة بيانات لتخزين بياناته. سنقوم بإنشاء قاعدة بيانات ومستخدم جديدين لـ Magento.

قم بتسجيل الدخول إلى شاشة MySQL:

$ sudo mysql -u root -p

أنشئ قاعدة بيانات جديدة:

CREATE DATABASE magento;

أنشئ مستخدم جديد ومنح الصلاحيات:

CREATE USER 'magento'@'localhost' IDENTIFIED BY 'كلمة_مرور_قوية';
GRANT ALL PRIVILEGES ON magento.* TO 'magento'@'localhost';

تفريغ الصلاحيات والخروج:

FLUSH PRIVILEGES;
exit

استبدل كلمة_مرور_قوية بكلمة مرور قوية من اختيارك.

الخطوة 5 – تهيئة Magento

سنقوم الآن بتهيئة Magento لاستخدام قاعدة البيانات التي أنشأناها للتو.

إعادة تسمية ملف التكوين الافتراضي:

$ mv app/etc/env.php app/etc/env.php.bak

ثم افتح app/etc/env.php في المحرر النصي:

$ sudo nano app/etc/env.php

وقم بتحديثه باستخدام بيانات اعتماد قاعدة البيانات الخاصة بك:

return [
    'db' => [
        'table_prefix' => '',
        'connection' => [
            'default' => [
                'host' => 'localhost',
                'dbname' => 'magento',
                'username' => 'magento',
                'password' => 'كلمة_مرور_قوية', 
                'model' => 'mysql4',
                'engine' => 'innodb',
                'initStatements' => 'SET NAMES utf8;',
                'active' => '1',
            ]
        ]
    ],
];

احفظ الملف وأغلقه بعد تحديث بيانات الاعتماد.

الخطوة 6 – إعداد الملكية والأذونات

لأسباب أمنية، يجب أن تكون ملفات Magento مملوكة من قبل مستخدم خادم الويب وتعيينها بالأذونات المناسبة.

ابحث عن مستخدم خادم الويب الخاص بك:

$ ps aux | grep apache  

بالنسبة لأوبونتو، عادةً ما يكون www-data. بالنسبة لـ CentOS، apache.

تعيين الملكية:

$ sudo chown -R www-data:www-data /var/www/html/magento2

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

$ sudo find /var/www/html/magento2 -type f -exec chmod 644 {} \;  
$ sudo find /var/www/html/magento2 -type d -exec chmod 755 {} \;
$ sudo chmod o+w /var/www/html/magento2/var  
$ sudo chmod o+w /var/www/html/magento2/pub/media
$ sudo chmod o+w /var/www/html/magento2/pub/static

سيقيد هذا الأذونات ويمنح وصولاً مناسباً لمستخدم خادم الويب لقراءة/كتابة الملفات.

الخطوة 7 – تثبيت Magento

الآن يمكننا المضي قدماً في التثبيت النهائي من واجهة الويب.

اذهب إلى http://عنوان_IP_الخادم/magento2 في المتصفح الخاص بك. سيبدأ معالج التثبيت.

  • حدد لغتك وانقر فوق التالي.
  • قبل الشروط والأحكام، أدخل تفاصيل حساب المسؤول الخاص بك وانقر فوق التالي.
  • عيّن إعدادات متجر الويب الخاصة بك مثل عنوان URL الأساسي والمنطقة الزمنية وما إلى ذلك ثم انقر فوق التالي.
  • بالنسبة للبيانات العينة، يمكنك تخطيها في الوقت الراهن.
  • وأخيراً، انقر فوق تثبيت الآن لاستكمال التثبيت.

ستقوم الإعدادات بإنشاء الجداول اللازمة في قاعدة البيانات وتثبيت Magento 2 CE!

الخطوة 8 – تهيئة عنوان URL الأساسي

للعمل بشكل صحيح، تحتاج إلى تعيين عنوان URL الأساسي لتثبيت Magento 2 الخاص بك.

اذهب إلى لوحة تحكم Magento الإدارية على http://عنوان_IP_الخادم/magento2/admin وقم بتسجيل الدخول باستخدام بيانات الاعتماد الإدارية الخاصة بك.

ثم انتقل إلى Stores > Configuration > General > Web.

عيّن عناوين URL الأساسية إلى اسم النطاق الخاص بك (مثال.com/magento2). وانقر فوق حفظ التهيئة.

سيقوم هذا بتهيئة عنوان URL الأساسي حتى تعمل الموارد والروابط بشكل صحيح.

الخطوة 9 – إعداد وظائف Cron

يتطلب Magento بعض وظائف cron في الخلفية للتعامل مع المهام المجدولة مثل إرسال البريد الإلكتروني وفهرسة وتنظيف البيانات إلخ.

إعداد cron لـ Magento:

$ crontab -e

أضف الأسطر التالية:

* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/html/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/update/cron.php >> /var/www/html/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento setup:cron:run >> /var/www/html/magento2/var/log/setup.cron.log

سيقوم هذا بتشغيل وظيفة cron Magento ووظيفة تحديث cron ووظيفة إعداد cron على التوالي وتسجيل الإخراج إلى ملفات سجل.

الخطوة 10 – تأمين Magento

يوفر Magento منصة مرنة لمواقع التجارة الإلكترونية. ومع ذلك، فإن التثبيت الافتراضي يجعل الموقع عرضة للاختراقات. سنناقش هنا بعض الخطوات لتأمين متجر Magento 2 الخاص بك أكثر.

استخدام HTTPS

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

بيانات اعتماد إدارية قوية

قم بتغيير اسم المستخدم الإداري الافتراضي واستخدم كلمة مرور آمنة للغاية. لدى حساب المسؤول إمكانية الوصول الكامل إلى متجرك وبياناتك وإعداداتك. حمِّيه باستخدام كلمة مرور طويلة ومعقدة.

يمكنك أيضًا إعداد المصادقة عبر عاملين لتسجيل الدخول إلى الإدارة.

حدد مسار الوصول إلى الإدارة

قم بتغيير مسار /admin الافتراضي للوحة التحكم الإدارية إلى شيء فريد مثل /secret-admin-access. هذا يمنع الوصول غير المصرح به عبر المسار المعروف جيدًا.

تعطيل تنفيذ الملفات

قم بتعطيل تنفيذ ملفات PHP في دلائل Magento مثل app و lib و dev و var و generated.

DisablePHPInDir /var/www/html/magento2/app  
DisablePHPInDir /var/www/html/magento2/lib
DisablePHPInDir /var/www/html/magento2/dev
DisablePHPInDir /var/www/html/magento2/var
DisablePHPInDir /var/www/html/magento2/generated

سيمنع هذا تنفيذ ملفات نصوص PHP خبيثة في حالة اختراق الموقع.

تقييد الأذونات

اتبع مبدأ الحد الأدنى من الامتيازات. ضع أذونات تقييدية للملفات/المجلدات القابلة للوصول عبر الويب. حدد الوصول بالكتابة فقط إلى المجلدات المطلوبة مثل وسائط، var، generated.

راقب النشاط المشبوه

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

احتفظ بتحديث البرامج

تطلق Magento تصحيحات أمنية وتحديثات ميزات بشكل متكرر. احتفظ بإصدار Magento والامتدادات الخاصة بك محدثة للحصول على آخر تصحيحات الأمان والتحسينات.

أضف امتدادات أمنية

هناك العديد من الامتدادات مثل Magento Security Scan و Magento Malware Scanner التي توفر حماية إضافية من خلال رصد التغييرات والتحقق من حقن البرامج الضارة وإجراء مراجعات أمنية إلخ.

استخدم جدار حماية تطبيقات الويب (WAF)

يوفر WAF حماية إضافية من خلال تحليل حركة مرور الويب وحظر الاستغلالات الشائعة مثل XSS و SQLi و RFI وما إلى ذلك. إنه يضيف طبقة أمان إضافية لمتجرك على الإنترنت.

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

خاتمة

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

بعض النقاط الرئيسية هي:

  • تثبيت مكدس LAMP أو LEMP كمتطلبات أساسية
  • استخدام Composer لتثبيت أحدث إصدار من Magento
  • إنشاء قاعدة بيانات وتهيئة بيانات الاعتماد
  • إكمال الإعداد الأولي من واجهة الويب
  • تعيين عنوان URL الأساسي ومهام cron المجدولة
  • تأمين الوصول الإداري وتمكين HTTPS وتقييد الأذونات
  • رصد المشكلات وتطبيق التحديثات/التصحيحات بانتظام

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

LEAVE A COMMENT