حزمة برامج LAMP

تُعد حزمة LAMP ( لينكس، أباتشي، ماي إس كيو إل، بيرل/بي إتش بي/بايثون) واحدة من أكثر حزم البرامج شيوعًا لتطبيقات الويب الأكثر استخدامًا . يحتوي نموذج حزمة البرامج العامة الخاص بها على مكونات قابلة للتبديل إلى حد كبير. [ 1 ]
يمثل كل حرف في الاختصار أحد مكوناته الأربعة مفتوحة المصدر
- لينكس لنظام التشغيل
- خادم Apache HTTP
- MariaDB أو MySQL لنظام إدارة قواعد البيانات العلائقية
- لغة البرمجة هي Perl أو PHP أو Python
تتواجد مكونات حزمة LAMP في مستودعات البرامج لمعظم توزيعات لينكس .
تاريخ
صاغ مايكل كونزي اختصار LAMP في عدد ديسمبر 1998 من مجلة Computertechnik الألمانية المتخصصة في الحوسبة، حيث أثبت أن حزمة من البرامج المجانية والمفتوحة المصدر "يمكن أن تكون بديلاً عملياً للحزم التجارية باهظة الثمن". [ 2 ] ومنذ ذلك الحين، تعاونت O'Reilly Media و MySQL لنشر الاختصار والترويج لاستخدامه. [ 3 ] وباعتبارها واحدة من أوائل حزم البرامج مفتوحة المصدر للويب، فقد لاقى المصطلح والمفهوم رواجاً واسعاً. وتستطيع هذه الحزمة استضافة مجموعة متنوعة من أطر عمل وتطبيقات الويب، مثل WordPress و Drupal . [ 4 ]
مكونات البرمجيات

لينكس
لينكس هو نظام تشغيل حاسوبي شبيه بنظام يونكس، تم تجميعه وفقًا لنموذج تطوير وتوزيع البرمجيات الحرة والمفتوحة المصدر . توفر معظم توزيعات لينكس ، كمجموعات من البرامج المبنية على نواة لينكس ، والتي تُقدم عادةً عبر نظام إدارة الحزم ، إعدادات LAMP كاملة من خلال حزمها. وفقًا لموقع W3Techs في أكتوبر 2013، تتشارك دبيان وأوبونتو 58.5% من حصة سوق خوادم الويب ، بينما تتشارك RHEL وفيدورا وسنت أو إس مجتمعةً 37.3%. [ 5 ]
أباتشي
لطالما تم توفير دور خادم الويب الخاص بـ LAMP بواسطة Apache، ومنذ ذلك الحين تم تضمين خوادم ويب أخرى مثل Nginx .
يتم تطوير وصيانة أباتشي بواسطة مجتمع مفتوح من المطورين تحت رعاية مؤسسة برمجيات أباتشي . وبموجب ترخيص أباتشي ، يُعد أباتشي برنامجًا مفتوح المصدر . يدعم البرنامج مجموعة واسعة من الميزات، والعديد منها مُنفذ كوحدات مُجمّعة تُوسّع الوظائف الأساسية لأباتشي. تتراوح هذه الميزات بين دعم لغات البرمجة من جانب الخادم والمصادقة.
MySQL وبدائل قواعد البيانات
تم توفير دور MySQL الأصلي كنظام إدارة قواعد البيانات العلائقية لـ LAMP بالتناوب من قبل أنظمة أخرى مثل PostgreSQL و MariaDB (وهي نسخة معدلة من MySQL تم تطويرها بواسطة مطوريها الأصليين) وحتى قواعد بيانات NoSQL مثل MongoDB .
MySQL هو نظام إدارة قواعد بيانات SQL متعدد الخيوط ومتعدد المستخدمين، [6] استحوذت عليه شركة Sun Microsystems في عام 2008 ، ثم استحوذت عليه شركة Oracle Corporation في عام 2010. [ 7 ] منذ سنواته الأولى، أتاح فريق MySQL شفرة المصدر الخاصة به بموجب شروط رخصة جنو العمومية العامة ، بالإضافة إلى مجموعة متنوعة من الاتفاقيات الخاصة .
يُعد PostgreSQL أيضًا نظام إدارة قواعد بيانات علائقية كائنية متوافق مع معايير ACID ، وقد تم تطويره بواسطة مجموعة تطوير PostgreSQL العالمية.
MongoDB هي قاعدة بيانات NoSQL تتجنب بنية قاعدة البيانات العلائقية التقليدية لصالح مستندات تشبه JSON مع مخططات ديناميكية (تسمى التنسيق BSON )، مما يجعل دمج البيانات في أنواع معينة من التطبيقات أسهل وأسرع.
لغة PHP وبدائله
وقد تم أداء دور لغة PHP كلغة برمجة تطبيقات LAMP بواسطة لغات أخرى مثل Perl و Python.
لغة PHP هي لغة برمجة نصية من جانب الخادم، مصممة لتطوير مواقع الويب ، ولكنها تُستخدم أيضًا كلغة برمجة عامة الأغراض . يُفسَّر كود PHP بواسطة خادم الويب عبر وحدة معالجة PHP، التي تُنشئ صفحة الويب الناتجة. يمكن تضمين أوامر PHP مباشرةً في مستند HTML المصدر، بدلاً من استدعاء ملف خارجي لمعالجة البيانات. وقد تطورت أيضًا لتشمل واجهة سطر أوامر ، ويمكن استخدامها في تطبيقات رسومية مستقلة . [ 8 ] PHP برنامج مجاني مُرخص بموجب رخصة PHP ، وهي غير متوافقة مع رخصة جنو العمومية (GPL) نظرًا للقيود التي تفرضها رخصة PHP على استخدام مصطلح PHP . [ 9 ]
بيرل هي عائلة من لغات البرمجة الديناميكية عالية المستوى ، متعددة الأغراض، والمفسّرة . تشمل لغات هذه العائلة بيرل 5 وراكو . [ 10 ] توفر هذه اللغات إمكانيات متقدمة لمعالجة النصوص دون قيود طول البيانات التعسفية التي تفرضها العديد من أدوات سطر أوامر يونكس المعاصرة ، [ 11 ] مما يسهل التعامل مع ملفات النصوص . اكتسبت بيرل 5 شعبية واسعة في أواخر التسعينيات كلغة برمجة نصية CGI للويب، ويعود ذلك جزئيًا إلى قدراتها التحليلية . [ 12 ]
بايثون لغة برمجة عامة الأغراض، عالية المستوى، ومفسرة ، واسعة الانتشار. [ 13 ] تدعم بايثون نماذج برمجة متعددة ، بما في ذلك البرمجة الكائنية ، والبرمجة الإجرائية ، والبرمجة الوظيفية ، والبرمجة الإجرائية . تتميز بنظام أنواع ديناميكي ، وإدارة تلقائية للذاكرة ، ومكتبة قياسية ، واستخدام دقيق للمسافات البيضاء . [ 14 ] وكغيرها من اللغات الديناميكية ، تُستخدم بايثون غالبًا كلغة برمجة نصية ، ولكنها تُستخدم أيضًا في نطاق واسع من السياقات غير النصية.
التوافر العالي وموازنة الأحمال
تتطلب المواقع الإلكترونية التي تستقبل أعدادًا كبيرة من الطلبات، أو التي تقدم خدمات تتطلب وقت تشغيل عالٍ، مناهج محددة . قد تتضمن مناهج التوافر العالي لحزمة LAMP استخدام خوادم ويب وقواعد بيانات متعددة، بالإضافة إلى مكونات إضافية تُجري تجميعًا منطقيًا للموارد التي يوفرها كل خادم، فضلًا عن توزيع عبء العمل على عدة خوادم. يمكن توفير تجميع خوادم الويب عن طريق وضع موازن أحمال أمامها، على سبيل المثال باستخدام خادم Linux الظاهري (LVS). أما بالنسبة لتجميع خوادم قواعد البيانات، فيوفر MySQL آليات نسخ داخلية تُنفذ علاقة رئيسية/تابعة بين قاعدة البيانات الأصلية (الرئيسية) ونسخها (التابعة). [ 15 ]
قد تُحسّن هذه الإعدادات عالية التوافر من توافر مثيلات LAMP من خلال توفير أشكال مختلفة من التكرار ، مما يسمح لعدد معين من المكونات (خوادم منفصلة) بالتوقف مؤقتًا دون التأثير على مستخدمي الخدمات المُقدّمة ككل. كما تُعالج هذه الإعدادات المُكررة أعطال الأجهزة التي تُؤدي إلى فقدان البيانات على الخوادم الفردية بطريقة تمنع فقدان البيانات المُخزّنة بشكل جماعي. إلى جانب التوافر العالي، تُوفّر إعدادات LAMP هذه تحسينات شبه خطية في الأداء للخدمات التي يكون فيها عدد عمليات قراءة قاعدة البيانات الداخلية أعلى بكثير من عدد عمليات الكتابة/التحديث. [ 15 ]
المتغيرات
تم تكييف نموذج LAMP مع مكونات أخرى، على الرغم من أنه يتألف عادةً من برمجيات حرة ومفتوحة المصدر . ومع تزايد استخدام نموذج LAMP الأصلي، ظهرت اختلافات وأسماء بديلة لمجموعات أخرى من أنظمة التشغيل وخوادم الويب وقواعد البيانات ولغة البرمجة. على سبيل المثال، يُعرف التثبيت المكافئ على أنظمة تشغيل مايكروسوفت ويندوز باسم WAMP . ويُطلق على بديل تشغيل IIS بدلاً من Apache اسم WIMP . ومن بين المتغيرات التي تستخدم أنظمة تشغيل أخرى DAMP، الذي يستخدم نظام التشغيل داروين. [ 16 ]
يختلف خادم الويب أو نظام إدارة قواعد البيانات أيضًا. LEMP هو إصدار استُبدل فيه Apache بخادم الويب Nginx الأخف وزنًا . [ 17 ] أما الإصدار الذي استُبدل فيه MySQL بـ PostgreSQL فيُسمى LAPP، أو أحيانًا بالاحتفاظ بالاختصار الأصلي LAMP (Linux / Apache / Middleware (Perl, PHP, Python, Ruby) / PostgreSQL). [ 18 ]
يمكن دمج حزمة LAMP مع العديد من حزم البرامج المجانية والمفتوحة المصدر الأخرى، بما في ذلك:
- netsniff-ng لاختبارات الأمان وتحسين الحماية
- سنورت ، نظام كشف ومنع الاختراقات (IDS)
- أداة RRDtool للرسوم البيانية
- Nagios أو Collectd أو Cacti ، للمراقبة.
كمثال آخر، فإن البرنامج الذي تستخدمه ويكيبيديا ومشاريع مؤسسة ويكيميديا الأخرى لبنيتها التحتية الأساسية هو عبارة عن حزمة LAMP مخصصة مع إضافات مثل خادم لينكس الافتراضي (LVS) لموازنة الأحمال و Ceph و Swift لتخزين الكائنات الموزعة.
انظر أيضاً
- JAMstack
- لايم – مجموعة برمجيات مبنية على لغة إرلانج
- MEAN – مجموعة برامج جافا سكريبت لبناء مواقع وتطبيقات ويب ديناميكية
- مجموعة الحلول
- نظام إدارة محتوى الويب
- مثبت منصة الويب
مراجع
- ↑ "LAMP (Linux, Apache, MySQL, PHP)" . SearchEnterpriseLinux . مؤرشف من الأصل بتاريخ 28 نوفمبر 2021. تم الاطلاع عليه بتاريخ 15 ديسمبر 2021 .
- ↑ كونزي، مايكل (ديسمبر 1998). "LAMP: نظام نشر ويب مجاني مع دعم قواعد البيانات" . c't . مؤرشف من الأصل في 3 فبراير 1999. تم الاطلاع عليه في 15 يونيو 2024 .
- ↑ كاي، راسل (25 سبتمبر 2006). "كيفية استخدام LAMP" . كمبيوتر وورلد . مؤرشف من الأصل في 11 يوليو 2021. تم الاطلاع عليه في 15 ديسمبر 2021 .
- ↑ "مجموعة LAMP" . مركز IBM للتعلم السحابي . IBM. أكتوبر 2015. مؤرشف من الأصل في 15 ديسمبر 2021. تم الاسترجاع في 15 ديسمبر 2021 .
- ↑ "ديبيان/أوبونتو توسّعان هيمنتهما على سوق خوادم الويب لينكس" . W³Techs . تم الاطلاع عليه بتاريخ 16 ديسمبر 2021 .
- ↑ «أهم الأسباب التي تدفع مديري المنتجات إلى تضمين MySQL» . MySQL. مؤرشف من الأصل في 2 يوليو 2014. تم الاطلاع عليه في 27 يوليو 2014 .
- ↑ "شركة صن تُغلق قاعدة بيانات MySQL، وتتطلع إلى تطوير الويب في المستقبل" . InformationWeek. مؤرشف من الأصل بتاريخ 28 فبراير 2008. تم الاطلاع عليه بتاريخ 27 يوليو 2014 .
- ↑ "مقدمة: ما الذي يمكن أن يفعله PHP؟" . دليل PHP . مؤرشف من الأصل في 15 ديسمبر 2021. تم الاطلاع عليه في 16 ديسمبر 2021 .
- ↑ "تراخيص برمجيات حرة غير متوافقة مع رخصة جنو العمومية" . تراخيص متنوعة وتعليقات عليها . مؤسسة البرمجيات الحرة. مؤرشف من الأصل بتاريخ 16 ديسمبر 2021. تم الاطلاع عليه بتاريخ 16 ديسمبر 2021 .
- ↑ "حول بيرل" . perl.org. مؤرشف من الأصل بتاريخ 22 نوفمبر 2021. تم الاطلاع عليه بتاريخ 16 ديسمبر 2021 .
"بيرل" هي عائلة من اللغات، و"بيرل 6" جزء من هذه العائلة، لكنها لغة مستقلة لها فريق تطوير خاص بها. ولا يؤثر وجودها بشكل كبير على استمرار تطوير "بيرل 5".
- ↑ وول، لاري ؛ توم كريستيانسن؛ جون أوروانت (يوليو 2000). برمجة بيرل، الطبعة الثالثة . دار نشر أورايلي ميديا . رقم ISBN 0-596-00027-8.
- ↑ سميث، رودريك و. (21 يونيو 2002). شبكات لينكس المتقدمة . أديسون-ويسلي بروفيشنال. ص 594. ISBN 978-0-201-77423-8.
- ↑ "اتجاهات لغات البرمجة - رادار أورايلي" . Radar.oreilly.com. 2 أغسطس 2006. مؤرشف من الأصل في 24 سبتمبر 2021. تم الاطلاع عليه في 16 ديسمبر 2021 .
- ↑ "حول بايثون" . مؤسسة برمجيات بايثون. مؤرشف من الأصل بتاريخ 16 ديسمبر 2021. تم الاطلاع عليه بتاريخ 16 ديسمبر 2021 .
- 1 2 سيميتش، دراغان؛ ريستيتش، سريتشكو؛ أوبرادوفيتش، سلوبودان (أبريل 2007). "قياس مستويات الأداء المحققة لتطبيقات الويب ذات قواعد البيانات العلائقية الموزعة" (ملف PDF) . الإلكترونيات والطاقة . فاكتا يونيفرسيتاتيس. ص 31-43. مؤرشف (ملف PDF) من الأصل في 7 أكتوبر 2021. تم الاطلاع عليه في 16 ديسمبر 2021 .
- ↑ ماكنتوش، جيسون؛ توبوريك، تشاك؛ ستون، كريس (2003). نظام التشغيل ماك أو إس إكس باختصار . أورايلي وشركاؤه . الصفحات 327-333 . ISBN 978-0-596-00370-8.
- ↑ "مجموعة أدوات LEMP (لينكس، Nginx، MySQL، PHP)" . lemp.io. مؤرشف من الأصل بتاريخ 19 نوفمبر 2021. تم الاطلاع عليه بتاريخ 16 ديسمبر 2021 .
- ↑ "المستخدمون المميزون" . PostgreSQL. مؤرشف من الأصل بتاريخ 22 يناير 2014. تم الاطلاع عليه بتاريخ 22 يناير 2014 .
- برنامج خادم ويب مجاني
- برامج الإنترنت لنظام لينكس
- MariaDB
- MySQL
- بيرل
- PHP
- برامج تطوير مواقع الويب
