Recent Posts

header ads

كيفية تثبيت (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

Post a Comment

0 Comments