هناك مجموعة متنوعة من حزم البرامج المستخدمة في تطوير الويب أو نشر التطبيقات. ومن أشهرها: LAMP كومةفي هذه المقالة، سنغطي كل ما تحتاج إلى معرفته حول مجموعة LAMP.
ما هو LAMP Stack؟
LAMP هو اختصار لـ Linux، Apache, MySQLو PHPإنها حزمة برامج شائعة الاستخدام في تطوير الويب اليوم. نستخدمها غالبًا لبناء تطبيقات أو خدمات محددة.
على سبيل المثال، في حالة تطبيق ما، قد تعمل المكدسة بمثابة الأساس الذي يمكّنه من العمل.
أحد الأدلة الواضحة على ذلك هو WordPress، والذي يتطلب جميع مكونات حزمة LAMP. ومع ذلك، فليست هناك قاعدة ثابتة WordPress يجب على أي تطبيق آخر استخدام حزمة LAMP. توجد إصدارات مختلفة من LAMP، مثل LEMP وLAPP وLEAP وغيرها.
فهم مكونات مجموعة LAMP
كغيره من حزم البرامج، يتضمن LAMP مكونات تغطي جوانب أساسية متنوعة ضرورية لتشغيل أي تطبيق. يؤدي كل مكون من هذه المكونات دورًا محوريًا في نقل البيانات بين مكوناته. لنلقِ نظرة على الأدوار الوظيفية في LAMP.
لينكس – نظام التشغيل
لينكس هو نظام التشغيل (OS) المفضل لـ Apache و MySQLلذا، ليس من المستغرب أن يلعب لينكس دورًا محوريًا في حزم LAMP. هذا النظام الشبيه بيونكس يُشغّل كل شيء، من الحواسيب العملاقة إلى الهواتف الذكية. وهو أهم مكون برمجي في أي جهاز، إذ لا يمكنك فعل أي شيء بدون نظام تشغيل.
طبيعة لينكس مفتوحة المصدر تعني أنه يمكن لأي شخص استخدامه أو تعديله دون دفع رسوم ترخيص. هذه الميزة تجعل لينكس خيار ممتاز لمقدمي استضافة الويب الذين يريدون تقديم خطط الاستضافة بسعر معقول.
Apache - خادم الويب
Apache هو خادم ويب مفتوح المصدر يعمل على لينكس. خادم الويب مسؤول عن "الاستماع" و"الخدمة". في كل مرة يتلقى فيها طلبًا من متصفحات الويب، Apache يُمررها إلى مكونات LAMP الأخرى للمعالجة. عندما تكون جاهزة، Apache يرسل الصفحة المطلوبة إلى متصفح الويب.
مثل لينكس، Apache مفتوح المصدر ومجاني الاستخدام دون ترخيص. Apache خفيف الوزن، لذا لا يستهلك الكثير من موارد خادمك. طبيعته المرنة تجعله من الخيارات المفضلة لدى العديد من شركات استضافة المواقع.
MySQL - محرك قاعدة البيانات
تُعدّ محركات قواعد البيانات ركيزة أساسية في معظم أنظمة الحوسبة الحديثة. فهي تُدير البيانات، وتُتيحها للتطبيقات، وتُوفّر أدواتٍ لإدارتها. وتأتي محركات قواعد البيانات بأشكالٍ مُختلفة، بعضها مُصمّم لمهام مُحدّدة (مثل التجارة الإلكترونية)، بينما يُقدّم بعضها الآخر حلولاً شاملة.
MySQL هو نظام إدارة قواعد بيانات علائقية (RDBMS). تُعد قواعد البيانات العلائقية أكثر أنواع قواعد البيانات شيوعًا في تطبيقات الويب، فهي سهلة الاستخدام وتتيح الوصول السريع إلى البيانات.
PHP - لغة البرمجة النصية

PHP هي لغة برمجة من جانب الخادم، ابتكرها راسموس ليردورف عام ١٩٩٤. يمكنك استخدامها كلغة برمجة نصية لتطوير الويب. على سبيل المثال، PHP يعمل مع HTML وCSS لإنشاء محتوى ديناميكي لمواقع الويب وتطبيقات الويب وغيرها من الخدمات عبر الإنترنت.
PHP هي إحدى اللغات الأساسية الثلاث المستخدمة في حزم LAMP. تشمل البدائل الأخرى Perl غالبًا ما تُحدد طبيعة تطبيق الويب لغة البرمجة النصية المُستخدمة في حزمة LAMP.
كيف تعمل مجموعة LAMP؟
يوفر كل تطبيق من تطبيقات حزمة LAMP مجموعة محددة من الخدمات، مما يساهم في وظيفة أعلى مستوى. وتتمثل هذه الوظيفة عادةً في إنشاء خادم ويب قادر على دعم تطبيقات متنوعة.
أولا، Apache يستقبل طلبًا من متصفح ويب. يُمرر الطلب إلى تطبيق الويب. يستعلم تطبيق الويب بعد ذلك من محرك قاعدة البيانات ويُرجع المعلومات المطلوبة. ثم تعود البيانات إلى Apache، والذي سيرسله إلى متصفح الويب الذي قدم الطلب.
يتواصل كل مكون من مكونات LAMP مع بعضه البعض عبر واجهات مصممة لتكون عامة ومجردة. تُعرف هذه الواجهات عادةً بواجهات برمجة التطبيقات (API). يجب أن يكون تصميم واجهة برمجة التطبيقات الجيد مرنًا بما يكفي لدعم تطبيقات متعددة، وأن يكون فعالًا في استخدام الموارد.
من يستخدم LAMP؟
بفضل تعدد استخدامات حزمة LAMP، فهي من أكثر حزم البرامج استخدامًا في قطاع استضافة الويب. يمكنك استخدام LAMP لتشغيل أي تطبيق ويب تقريبًا، بما في ذلك: WordPress، Drupal، Joomla، LMS، وأكثر من ذلك بكثير.
من منظور WordPress هذا وحده يجعل مجموعة برامج LAMP هي مجموعة البرامج المهيمنة في جميع أنحاء العالم. WordPress القوى أكثر من 40% من جميع المواقع الإلكترونية متصل بالإنترنت اليوم. إذا كنت تدير موقعًا إلكترونيًا يعمل على WordPress، فأنت تعمل أيضًا على مجموعة LAMP.
عيوب LAMP
على الرغم من أن حزمة LAMP توفر مزايا هامة، إلا أنها ليست مثالية. سنتناول هنا بعض عيوب استخدام LAMP وما قد يعنيه ذلك لبعض المستخدمين المتخصصين.
عدم وجود دعم للغات الجديدة
PHP صُممت لتطوير الويب، وظلت مُركزة على هذا المجال. في الوقت نفسه، طُوّرت لغات برمجة أخرى خصيصًا للاستخدام في مجالات مثل علم البيانات، مثل R. لا يدعم مُجمّع LAMP هذه اللغات، لذا ستحتاج إلى البدء من الصفر إذا كنت ترغب في استخدامها مع إعدادات خادمك.
نقص الدعم الأمني
تعتمد معظم مكونات البرمجيات مفتوحة المصدر على مساهمات المجتمع لتحسين ميزات الأمان. ورغم فعاليتها حتى الآن، إلا أنها قد تُسبب مشاكل نظرًا لعدم وجود جهة واحدة مسؤولة عن ضمان وصول جميع المستخدمين إلى أحدث تحديثات الأمان.
استخدام الموارد بشكل كبير
Apache و MySQL قد يُبطئ أداء تطبيقك حسب حجم البيانات التي يحتاجها. سيؤدي هذا التباطؤ إلى زيادة التكاليف إذا لم يُعالج (مع وجود طرق للتغلب عليه).
بدائل لمجموعة LAMP
على الرغم من شيوع استخدام LAMP، إلا أنه ليس حزمة البرامج الوحيدة المتاحة. إليك بعض حزم البرامج الأخرى التي قد ترغب في استخدامها كبدائل لحزمة LAMP:
1. كومة MEAN
MEAN هو اختصار لـ MongoDB وExpress وAngularJS وNode.js. MEAN إطار عمل جديد يحظى بشعبية كبيرة بين المطورين لأنه يسمح لهم ببناء تطبيقات باستخدام Javaنصوص برمجية على كلٍّ من الواجهة الأمامية والخلفية. أصبح MEAN خيارًا شائعًا للشركات الناشئة لأنه يُسهّل بناء تطبيقات قابلة للتطوير دون الحاجة إلى تعلم لغات أو أطر عمل جديدة.
2. مجموعة WAMP
المزج تعني Windows Apache MySQL PHPإنه مشابه لـ LAMP، باستثناء استبداله بنظام التشغيل لينكس. بدلاً من ذلك، يستخدم نظام ويندوز في حزمة WAMP. يؤدي هذا التضمين إلى تضمين أدوات أخرى مثل FTP العملاء والمحررين وما إلى ذلك.
3. حزمة XAMPP
XAMPP تعني Cross-platform (متعدد أنظمة التشغيل)، Apache, MySQL, PHPو Perlيتضمن التوزيع الافتراضي جميع المكونات الأربعة، ولكن يمكنك أيضًا تثبيتها بشكل منفصل. يتوفر XAMPP على أنظمة تشغيل Windows وmacOS وLinux، ويمكن استخدامه لإنشاء بيئة اختبار دون تثبيت حزمة LAMP كاملة على خادمك.
كيفية تثبيت LAMP Stack على Ubuntu؟
يفترض هذا الدليل الموجز أن لديك نسخة من لينكس مثبتة على خادمك. قد تختلف الأوامر الدقيقة نظرًا لتعدد إصدارات لينكس المتاحة. مع ذلك، من المفترض أن تكون العملية العامة متشابهة نسبيًا. سنستخدم أوبونتو 20.04.
تثبيت Apache خادم الويب
- قم بتحديث فهرس الحزمة المحلية لديك باستخدام تحديث sudo apt
- تثبيت Apache2 مع sudo apt install apache2
- لتأكيد أن Apache الخدمة قيد التشغيل، اكتب sudo systemctl status apache2
- بعد ذلك، نحتاج إلى تعديل إعدادات جدار الحماية وزيادة الأمان. الكتابة قائمة sudo ufw التطبيق سيعرض أوضاع جدار الحماية المتاحة. عادةً، ستكون هذه Apache, Apache كامل و Apache أمنا.
للبدء، استخدم فقط "Apache"حيث أنه سيمنع كل الوصول باستثناء المنفذ 80. قم بذلك باستخدام الأمر التالي؛ sudo ufw السماح 'Apache'
تثبيت MySQL
- Once Spa Apache تم تشغيله، ننتقل إلى التثبيت MySQL. مع تحديث فهرس المستودع الخاص بك بالفعل، يمكنك فقط تشغيل MySQL تثبيت الخادم باستخدام الأمر التالي؛ سودو عرضة تثبيت الخلية خادم
- مرة أخرى، يمكنك التحقق من التثبيت باستخدام الأمر systemctl؛ sudo systemctl بدء خدمة mysql
- كلها طازجة MySQL عمليات التثبيت بسيطة جدًا، وإحدى مهام التكوين الأساسية هي تعزيز الأمان. لحسن الحظ، تتوفر حزمة أمان يمكنك نشرها بسرعة؛ sudo mysql_secure_installation
سيؤدي تشغيل الأمر إلى ظهور سلسلة من أسئلة التكوين للبرنامج النصي لإجراء التغييرات الأمنية اللازمة.
تثبيت PHP
يأتي لينكس مع PHP في المستودع، ولكن ستحتاج إلى تثبيت الحزمة. يعتمد الأمر المستخدم على PHP الإصدار الذي تريد نشره. على سبيل المثال، لتثبيت PHP 7.4 قم بتشغيل sudo apt install php7.4.
الخلاصة
توفر حزمة LAMP أساسًا متينًا ومتعدد الاستخدامات لمختلف مواقع الويب أو التطبيقات. في معظم الحالات، لا يمكنك اختيار حزمة البرامج التي يقدمها مزود استضافة الويب الخاص بك. مع ذلك، لن يحتاج مستخدمو الاستضافة المشتركة إلى التعامل مع هذا - ما عليك سوى التحقق مما إذا كان المضيف يدعم التطبيق الذي تريده.
تدخل مجموعات البرامج مثل LAMP حيز التنفيذ عندما التحول إلى الخوادم الافتراضية الخاصة (VPS). هنا يمكنك الاستفادة الكاملة من تنوع LAMP أو حتى إنشاء بيئات مخصصة تناسب احتياجاتك.