كيفية اعداد (LAMP) Apache و MariaDB و PHP على دبيان 10 ؟
سوف تجد في هذا البحث التالي :
يمكن تعريف 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
0 Comments
تقديم إقتراح