تثبيت خادم LAMP على دبيان 10 - الدليل الكامل

خادم LAMP (اختصار لـ Linux، Apache، MySQL، PHP/Perl/Python) هو خادم مفتوح المصدر يستخدم لتطوير تطبيقات الويب أو استضافة مواقع الويب بتكوين محدد. لكي يعمل تطبيق الويب، يجب أن يتضمن عدة عناصر: نظام تشغيل، خادم ويب، قاعدة بيانات، ولغة برمجة. هذه الميزات ضرورية لإنشاء موقع ويب ديناميكي. LAMP هو اختصار للبرامج التالية: L - نظام التشغيل Linux A - خادم Apache HTTP M - نظام إدارة قواعد البيانات MySQL P - لغة البرمجة PHP Installing a LAMP server يجب تثبيت كل مكون على حدة وبترتيب محدد. في هذا الدليل، سنتناول جميع خطوات تثبيت LAMP Stack على Debian 10. لأغراض هذا الدليل، نفترض أن لديك خادمًا مثبتًا ومهيئًا بما يلي:
  • وصول SSH كجذر
  • Debian 10 أو 11
  • وصول إلى المحطة الطرفية/سطر الأوامر

تثبيت خادم Apache

Apache هو خادم ويب مفتوح المصدر شائع يمكن استخدامه مع PHP. يتمتع Apache بوثائق ممتازة على الإنترنت وكان أحد الرواد في معظم تاريخ الإنترنت. تُستخدم خوادم Apache على نطاق واسع في جميع أنواع الاستضافة. للبدء، تأكد من تحديث ذاكرة التخزين المؤقتة apt باستخدام:

sudo apt update

 إذا كانت هذه هي المرة الأولى التي تستخدم فيها sudo في هذه الجلسة، فستحتاج إلى تقديم كلمة مرور المستخدم العادية للتحقق من أذوناتك. بعد تحديث ذاكرة التخزين المؤقتة، يمكنك تثبيت Apache باستخدام:

sudo apt install apache2

  بعد هذا الأمر، سيخبرك apt بالحزم التي يخطط لتثبيتها ومقدار مساحة القرص الإضافية التي ستشغلها. اكتب Y ثم ENTER للتأكيد والمتابعة. يمكنك إجراء فحص عشوائي على الفور للتأكد من أن كل شيء سار كما هو مخطط له عن طريق زيارة عنوان IP العام لخادمك في متصفح الويب الخاص بك (انظر الملاحظة أسفل العنوان التالي لمعرفة عنوان IP العام الخاص بك):

http://<your_server_ip>

العثور على عنوان IP العام لخادمك:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

أدخل العنوان في متصفحك، وسترى صفحة الويب الافتراضية لـ Apache، والتي توجد لأغراض إعلامية واختبارية. يجب أن تبدو كما يلي: Installing an Apache server إذا ظهرت هذه الصفحة، فهذا يعني أن خادم الويب الخاص بك قد تم تثبيته بشكل صحيح ويمكن الوصول إليه عبر الإنترنت.

تثبيت MySQL MariaDB

  بمجرد بدء تشغيل خادم الويب، حان الوقت لتثبيت MariaDB، وهو خادم قاعدة بيانات. سيقوم هذا الخادم بتنظيم قواعد البيانات التي يمكن لموقعك الإلكتروني تخزين المعلومات فيها وتوفير الوصول إليها. لتثبيت MariaDB، سنستخدم apt مرة أخرى لتثبيت الخادم:

sudo apt install mariadb-server

سيعرض هذا الأمر أيضًا قائمة بالحزم التي سيتم تثبيتها، إلى جانب مساحة القرص التي ستشغلها. اكتب Y ثم ENTER للتأكيد والمتابعة. بمجرد اكتمال التثبيت، قم بتشغيل البرنامج النصي للأمان المرفق مع MySQL، والذي سيزيل بعض الإعدادات الافتراضية الخطيرة ويقفل الوصول إلى نظام قاعدة البيانات. قم بتشغيل البرنامج النصي من خلال وحدة التحكم واتبع التعليمات التي تظهر على الشاشة: 

sudo mysql_secure_installation

سيوجهك هذا البرنامج النصي خلال عملية تأمين إعدادات MariaDB وإجراء بعض التغييرات عليها. سيُطلب منك أولاً إدخال كلمة مرور الجذر الحالية لقاعدة البيانات (لاحظ أن هذه ليست كلمة مرور الجذر للنظام). مستخدم الجذر لقاعدة البيانات هو مستخدم يتمتع بامتيازات إدارية كاملة على خادم قاعدة البيانات. نظرًا لأنك قمت للتو بتثبيت MariaDB ولم تقم بعد بإجراء أي تغييرات على التكوين، فستكون كلمة المرور هذه فارغة، لذا اضغط على ENTER عند المطالبة بذلك. السؤال التالي يسألك عما إذا كنت تريد تعيين كلمة مرور الجذر لقاعدة البيانات. نظرًا لأن MariaDB يستخدم طريقة مصادقة خاصة للمستخدم الجذر، والتي عادةً ما تكون أكثر أمانًا من استخدام كلمة مرور، فلا داعي لتعيين كلمة مرور في الوقت الحالي. اكتب N ثم ENTER. من هناك، اكتب Y ثم ENTER لتحديد الإعدادات الافتراضية لجميع الأسئلة اللاحقة. سيؤدي ذلك إلى إزالة المستخدمين المجهولين وقاعدة البيانات الاختبارية، وتعطيل تسجيل الدخول الجذر عن بُعد، وتحميل هذه القواعد الجديدة بحيث يطبق MariaDB التغييرات التي أجريتها على الفور. عند الانتهاء، أدخل وحدة تحكم MariaDB عن طريق كتابة:

sudo mariadb

سيؤدي هذا الأمر إلى توصيلنا بخادم MariaDB كمسؤول قاعدة البيانات الجذر، باستخدام sudo. يجب أن يبدو الناتج كما يلي:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 74

Server version: 10.3.15-MariaDB-1 Debian 10

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

 
لاحظ أنك لم تكن بحاجة إلى تقديم كلمة مرور لتسجيل الدخول كجذر. يعمل هذا لأن طريقة المصادقة الافتراضية لمستخدم الجذر MariaDB هي عبر unix_socket بدلاً من كلمة مرور. على الرغم من أن هذا قد يبدو في البداية وكأنه مشكلة أمنية، إلا أنه في الواقع يجعل خادم قاعدة البيانات أكثر أمانًا، حيث أن المستخدمين الوحيدين المسموح لهم بتسجيل الدخول كمستخدم جذر MariaDB هم مستخدمو النظام الذين يتمتعون بامتيازات sudo، والذين يسجلون الدخول من المحطة الطرفية أو من خلال تطبيق يعمل بهذه الامتيازات. دور المستخدم الجذر هو دور إداري فقط، لذا لا يمكنك توصيل تطبيق PHP الخاص بك. لزيادة الأمان، سنقوم بإعداد حسابات مستخدمين مخصصة مع الامتيازات المناسبة لكل قاعدة بيانات. لإظهار هذا الإعداد، سننشئ قاعدة بيانات باسم example_database ومستخدم باسم example_user. يمكنك استبدال هذه الأسماء بأي أسماء تريدها. لإنشاء قاعدة بيانات جديدة، قم بتشغيل الأمر التالي من وحدة تحكم MariaDB:

CREATE DATABASE example_database;

الآن سننشئ مستخدمًا جديدًا ونمنحه امتيازات كاملة على قاعدة البيانات التي أنشأناها. يقوم الأمر التالي بتعيين كلمة مرور هذا المستخدم إلى PASSWORD، ولكن يجب استبدال هذه القيمة بكلمة مرور آمنة وقوية:

GRANT ALL ON example_database.* TO 'example_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

سيمنح الأمر المستخدم example_user امتيازات كاملة على قاعدة البيانات example_database، مع منع هذا المستخدم من إنشاء أو تعديل قواعد بيانات أخرى على الخادم. يمكنك التحقق من الامتيازات للتأكد من أنها محفوظة ومتاحة دون الحاجة إلى إعادة التشغيل:

FLUSH PRIVILEGES;

يمكنك بعد ذلك الخروج من MariaDB:

exit

يمكنك التحقق مما إذا كان المستخدم الجديد لديه الأذونات المناسبة عن طريق تسجيل الدخول مرة أخرى إلى وحدة تحكم MariaDB باستخدام اسم المستخدم وكلمة المرور اللذين أدخلتهما سابقًا:

mariadb -u example_user -p

ملاحظة: سيؤدي استخدام -p في هذا الأمر إلى مطالبتك بكلمة المرور التي اخترتها عند إنشاء المستخدم example_user. بعد تسجيل الدخول إلى وحدة تحكم MariaDB، تأكد من أن لديك حق الوصول إلى قاعدة البيانات example_database:

SHOW DATABASES;

ستتلقى النتيجة التالية:

+--------------------+

| Database           |

+--------------------+

| example_database   |

| information_schema |

+--------------------+

2 rows in set (0.000 sec)

للخروج من MariaDB، اكتب:

exit

في هذه المرحلة، يكون نظام قاعدة البيانات قد تم تكوينه ويمكنك الانتقال إلى تثبيت PHP، المكون الأخير لخادم LAMP.

تثبيت PHP على LAMP

PHP هي لغة برمجة لعرض مواقع الويب الديناميكية. يمكنها تشغيل البرامج النصية والاتصال بقواعد بيانات MariaDB لتلقي المعلومات من خادم الويب وإرسالها إليه، وعرضها للمستخدم. سنستخدم apt مرة أخرى لتثبيت PHP، إلى جانب بعض الحزم الأخرى التي ستضمن تشغيل كود PHP على خادم Apache والتواصل مع قاعدة بيانات MariaDB:

sudo apt install php libapache2-mod-php php-mysql

من المفترض أن يتم تثبيت PHP دون أي مشاكل، ولكننا سنتحقق من أن كل شيء يعمل بشكل صحيح. في معظم الحالات، من الأفضل تغيير إعدادات Apache لجعل ملف index.php هو الملف الأول الذي يمكن الوصول إليه، بدلاً من index.html. حاليًا، إذا طلب مستخدم دليلًا من الخادم، فسيبحث Apache أولاً عن ملف باسم index.html. نريد أن نخبر خادم الويب أن يفضل ملفات PHP على الملفات الأخرى، لذلك نحتاج إلى تكوين Apache للبحث عن ملف index.php. للقيام بذلك، اكتب الأمر التالي لفتح ملف dir.conf في محرر نصوص بامتيازات الجذر:

sudo nano /etc/apache2/mods-enabled/dir.conf

سيبدو الملف كما يلي:

<IfModule mod_dir.c>

    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

</IfModule>

انقل ملف index.php (المميز أعلاه) إلى الموضع الأول بعد DirectoryIndex، كما يلي:

<IfModule mod_dir.c>

    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

</IfModule>

أخيرًا، احفظ الملف. إذا كنت تستخدم nano، فيمكنك القيام بذلك بالضغط على CTRL + X ثم Y و ENTER للتأكيد. الآن أعد تحميل Apache باستخدام:

sudo systemctl reload apache2

يمكنك التحقق من حالة apache2:

sudo systemctl status apache2

 

apache2.service - The Apache HTTP Server

   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)

   Active: active (running) since Mon 2019-07-08 12:58:31 UTC; 8s ago

     Docs: https://httpd.apache.org/docs/2.4/

  Process: 11948 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)

 Main PID: 11954 (apache2)

    Tasks: 6 (limit: 4719)

   Memory: 11.5M

   CGroup: /system.slice/apache2.service

           ├─11954 /usr/sbin/apache2 -k start

           ├─11955 /usr/sbin/apache2 -k start

           ├─11956 /usr/sbin/apache2 -k start

           ├─11957 /usr/sbin/apache2 -k start

           ├─11958 /usr/sbin/apache2 -k start

           └─11959 /usr/sbin/apache2 -k start

في هذه المرحلة، يكون خادم LAMP الخاص بك قد تم تكوينه. الآن يمكنك الاهتمام ببقية الإعدادات، مثل vhosts.

2026 © Linux Hosting - استضافة ويب منذ 2011