كيفية تثبيت (LAMP) Apache و MariaDB و PHP على دبيان 10 ؟

كيفية اعداد (LAMP) Apache و MariaDB و PHP  على دبيان 10 ؟


سوف تجد في هذا البحث التالي :

  1. ما هو LAMP ؟
  2. كيفية تثبيت Apache web server ؟ 
  3.  كيفية تثبيت جدار الحماية و ضبط جدار الحماية ؟
  4. كيفية تثبيت MariaDB ؟
  5. كيفية تثبيت php على نظامك ؟
  6. كيفية إنشاء Virtual Host من أجل التطبيق الخاص بك ؟

كيفية تثبيت (LAMP) Apache و MariaDB و PHP  على دبيان 10 ؟

ما هو LAMP ؟


يمكن تعريف LAMP بالتالي : هو عبارة عن مجموعة من البرامج مفتوحة المصدر يتم تثبيتها عادةً معًا لتمكين الخادم من استضافة مواقع الويب الديناميكية وتطبيقات الويب.


كيفية تثبيت Apache web server ؟ 


يمكن تثبيت أباتشي باستخدام مدير حزم دبيان APT أو من خلال حزم المصدر سوف أستخدم مدير حزم دبيان APT :

$ sudo apt update

$ sudo apt install apache2

الآن نحتاج لتثبيت جدار الحماية ufw من خلال معرفة :


 كيفية تثبيت جدار الحماية و ضبط جدار الحماية ؟


$ sudo apt install ufw 


بعد تثبيت جدار الحماية تحتاج لتفعيل المنافذ الهامة .

دعنا نستعرض بعض الخدمات المتاحة  من خلال التالي :

$ sudo ufw app list

  Transmission
  Transparent Proxy
  VNC
  WWW
  WWW Cache
  WWW Full
  WWW Secure
  XMPP
  Yahoo
  qBittorrent
  svnserve

في الوقت الحالي نحن نحتاج إلى منفذين هما 22 + 80 .

$ sudo ufw app info 'WWW' 
 
Profile: WWW
Title: Web Server
Description: Web server
Port:
  80/tcp


$ sudo ufw app info 'SSH'


Profile: SSH
Title: SSH server
Description: SSH server
Port:
  22/tcp


$ sudo ufw allow in 'SSH' && sudo ufw allow in 'www'


$ sudo ufw status

Status: inactive


$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup


$ sudo ufw verbose 
Status: active
To                         Action      From
--                         ------      ----
SSH                        ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
SSH (v6)                   ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)    


بعد ذلك دعنا نتأكد من أن الأمور تسير على ما يرام من خلال زيارة العنوان العنوان العام .

http://your_server_ip


في حال كنت لا تعرف عنوان ip الخاص بك يمكنك أستخدام التالي للخاص :


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


في حال كنت لا تعرف عنوان ip الخاص بك يمكنك أستخدام التالي للعام :


$ sudo apt install curl


$ curl http://icanhazip.com


بعد أن أنتهينا من إعداد خادم الويب يمكن البدء في إعداد قواعد البيانات من خلال معرفة :

كيفية تثبيت MariaDB ؟


$ sudo apt install mariadb-server


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


$ sudo mysql_secure_installation

- سوف يطلب منك أولاً Enter current password for root , قد يظن البعض أن هذه كلمة المستخدم الجذر للنظام , و هي ليس كذلك بل هي جذر مستخدم قاعدة البيانات فقط .

نحن لم نضع أي كلمة بعد لذلك يمكن المتابعة بضغط على enter .

- سوف يطلب منك : Set root password? [Y/n]

طريقة مصادقة خاصة للمستخدم الجذر تكون عادةً أكثر أمانًا من استخدام كلمة مرور لهذا أنا سوف أستخدم N .

- لهذا Remove anonymous users? [Y/n] سوف أستخدم نعم .

- لهذا Disallow root login remotely? [Y/n]  سوف أستخدم نعم .

- لهذا Remove test database and access to it? [Y/n]  سوف أستخدم نعم .

- لهذا Reload privilege tables now? [Y/n]  سوف أستخدم نعم .

- الآن يمكن تسجيل الدخول من خلال التالي :

$ sudo mariadb

- تذكر أنك سجلت الدخول على مستخدم الجذر , و لا زلت لا تملك أي مستخدمين .

ملاحظة : في الخطوات السابقة لم أقم بتعين كلمة مرور بهذا اصبحت الصلاحيات لمدير النظام بدل الحاجة من تذكر كلمة المرور في كل مرة .

- لكن هناك مشكلة أخرى في هذا النهج , هي أن التطبيقات التي سوف تتعامل مع قاعدة البيانات ليس لديها صلاحيات الجذر على نظامك و لن تتمكن من الوصول لقاعدة البيانات , و الحل إنشاء مستخدم جديد , و في تم إختراق قاعدة البيانات يمكنك السيطرة على الوضع بسهولة .

الخطوات هي التالي :

1- أنشاء قاعدة البيانات name .

2- أنشاء المستخدم مع الإمتيازات للقاعدة الجديدة .

3- إنشاء كلمة المرور للمستخدم الجديد .

MariaDB [(none)]> CREATE DATABASE  name;

- استعرضها .


MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| name               |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

- المستخدم الجديد مع كلمة المرور .


MariaDB [(none)]> GRANT ALL ON name.* TO 'user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> EXIT;
Bye


- الآن دعونا نسجل الدخول من جديد للمستخدم الجديد .

$ mariadb -u user -p


MariaDB [(none)]> EXIT;


كيفية تثبيت php على نظامك ؟


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

في معظم الحالات ، ستحتاج إلى تعديل الطريقة التي يخدم بها Apache الملفات. حاليًا ، إذا طلب مستخدم دليلًا من الخادم ، فسوف يبحث Apache أولاً عن ملف يسمى index.html.

نريد أن نطلب من خادم الويب تفضيل ملفات PHP على الآخرين ، لذا اجعل Apache يبحث عن ملف index.php أولاً.


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

أعد تحميل تهيئة Apache بـ:

$ sudo systemctl reload apache2

كيفية إنشاء Virtual Host من أجل التطبيق الخاص بك ؟


بشكل أفتراضي يأتي أباتشي مع مضيف في المسار التالي :

/var/www/html

و الإعداد في المسار التالي :

/etc/apache2/sites-available/000-default.conf

يمكن وضع ملفاتك فيه و كل شئ سوف يعمل , لكن في حال اردت استضافة عدة تطبيقات يمكنك المتابعة للتالي .


1- إنشاء دليل الويب الجذر .

$ sudo mkdir /var/www/name_virtual_host

2- تعيين ملكية الدليل لمدير النظام .

$ sudo chown -R $USER:$USER /var/www/name_virtual_host

3- أنشاء ملف التكوين الجديد .


$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/name_virtual_host.conf

4- تعديل الملف الجديد ليناسب تطبيقك .


$ sudo nano /etc/apache2/sites-available/name_virtual_host.conf

- ServerName example.com
- ServerAlias www.example.com
- ServerAdmin : ضع الإيميل
- DocumentRoot : ضع مسار التطبيق

5- تمكين هذا المضيف الظاهري:

$ sudo a2ensite name_virtual_host

6- لتعطيل الافتراضي :

$ sudo a2dissite 000-default

7- للتأكد من أن ملف التكوين الخاص بك لا يحتوي على أخطاء في بناء الجملة :

$ sudo apache2ctl configtest

8- إعادة تحميل اباتشي :

$ sudo systemctl reload apache2


  • مقدمة ل DNS ما هو DNS ؟ ا [ 1 ]
  • كيفية كتابة Backup Bash Shell Script ؟ 4
  • ما هو Script Execution في Bash Shell Script ؟
  • ما هي أسماء الملفات والأذونات في Bash Shell Script ؟
  • ما هو Bash Shell Scripting ؟ [1]
  • ما هو الفرق بين compiler و interpreter ؟
  • كيفية كتابة shell script في لينكس ؟
  • ما هو MariaDB Replication ؟
  • كيفية تثبيت دروبال على لينكس ؟
  • كيفية إنشاء مستودعات Git ؟ [3]
  • كيفية إعداد git لبيئة التطوير الخاصة بك بخمس دقائق ؟[2]
  • مقدمة سريعة في git . ا[1]
  • ما هو Git ؟ [0]
  • كيفية تثبيت Git على دبيان 10
  • كيفية عرض المستخدمين في لينكس ؟
  • كيفية إعداد مفاتيح SSH على دبيان 10 ؟
  • كيفية منع المستخدمين من إستخدام أوامر معينة في لينكس ؟
  • كيفية تثبيت sudo و تكوين مستخدم مع صلاحياته ؟
  • كيفية إدراة أضافات vim داخليا .
  • كيف ضبط vim الأعدادت الأساسية بعد التثبيت ؟
  • 6 أوضاع لمحرر النصوص vi Editor_Vim_Modes فماهي ؟[6]
  • كيفية تثبيت vim-airline ؟ [4]
  • كيفية تمكين الإكمال التلقائي في VIM ؟ [5]
  • كيفية تثبيت nerdtree مستكشف نظام الملفات للتكامل مع vi ا [3] ؟
  • كيفية تثبيت vim-pathogen ؟ [2]
  • كيفية تثبيت vim أفضل محرر نصوص للخبراء ؟ [1]
  • إنشاء Virtual Machine .. في دبيان .
  • كيفية تمكين حساب المستخدم العادي استخدام KVM ؟ [2]
  • إعداد KVM على لينكس .
  • كيفية تحرير أول نص لك بمحرر النصوص vim ؟ [0]
  • ما هي أفضل محررات النصوص المصدر المفتوح ؟
  • كيفية أستخدام apt لتحديث النظام في لينكس ؟
  • كيفية ضبط protocol المستخدم و services المستخدمة في لينكس ؟
  • كيفية كتابة نظام التشغيل على فلاشة ؟
  • تقسيم terminal لينكس
  • إرسال تعليق

    0 تعليقات