هذا المقال هو الجزء الثاني من مشروع شرح تثبيت خادم Nginx وتشغيل موقع عليه. للعودة إلى الفهرس، يمكن الضغط هنا.
تثبيت محرك قواعد البيانات سهل وبسيط جدا وممكن من خلال عدد من الطرق أهمها التثبيت من مستودع البرمجيات مباشرة، أو التثبيت من الكود المصدري للبرنامج. هنا سوف نشرح تثبيت محرك قواعد بيانات MariaDB النسخة 11.3 وهي آخر نسخة ثابتة من المحرّك.
تثبيت MariaDB
بما أن النسخة الأخيرة غير متوفرة في مستودعات Debian، يتوجب علينا سحب النسخة من مستودعات MariaDB. للقيام بذلك، هناك بعض الخطوات الإضافية.
تثبيت مفتاح التحقق من البرنامج
نقوم بتنفيذ الأوامر التالية من أجل تثبيت مفتاح التحقق من التوقيع الرقمي للبرنامج لاحقا:
apt-get install apt-transport-https curl
mkdir -p /etc/apt/keyrings
curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
تثبيت مستودع MariDB
نقوم بإنشاء الملف التالي:
/etc/apt/sources.list.d/mariadb.sources
وفيه نضع المحتوى التالي:
# MariaDB 11.3 repository list - created 2024-05-04 09:44 UTC
# https://mariadb.org/download/
X-Repolib-Name: MariaDB
Types: deb
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# URIs: https://deb.mariadb.org/11.3/debian
URIs: https://mirror.23m.com/mariadb/repo/11.3/debian
Suites: bookworm
Components: main
Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp
ومن ثم يمكن تحديث المستودعات من خلال الأمر التالي:
apt update
تثبيت MariaDB نسخة 11.3
بعد إتمام تحديث المستودعات، يمكن تنفيذ الأمر التالي من أجل بدء التثبيت
sudo apt-get install mariadb-server
عند الإنتهاء، يجب القيام ببعض الإعدادات الأولية.
إعدادات MariDB الأوليّة
ضبط إعدادات الأمان
قبل أن نقوم بتشغيل MariaDB للمرة الأولى، نُنفّذ الأمر التالي من أجل ضبط إعدادات الأمان:
mysql_secure_installation
الطلب الأول هو كلمة مرور المستخدم root. هذا المستخدم لا يملك كلمة مرور بعد وبالتالي يمكنك الضغط على Enter للمتابعة:
Enter current password for root (enter for none):
الطلب الثاني هو تأكيد التحويل إلى المصادقة من خلال Socket لحساب root.
Switch to unix_socket authentication [Y/n]
بشكل افتراضي، حساب root محمي ولا يمكن استخدامه من خارج الخادم. يمكن الإجابة بـ N من أجل تخطي تفعيل مصادقة Socket. أنا من ناحيتي أُفضّل ان يتم تفعيل المصادقة من خلال Socket بالتالي إجابتي هي Y.
الطلب الثالث هو ضبط كلمة مرور لحساب root:
Change the root password? [Y/n]
بما أن المستخدم لا يملك كلمة مرور، من الأفضل أن نقوم بعمل كلمة مرور ومن الأفضل أن تكون كلمة مرور شديدة القوة وعشوائية مثل التالي:
w3`fXThV1R%V,xTkdQ`8x>;f|~p=ZI
الطلب الرابع هو إزالة المستخدم الذي لا يملك هوية:
Remove anonymous users? [Y/n]
هم مجرد مستخدمين موجودين من أجل التجارب لا أكثر ومن المفضل ازالتهم. نقوم بالإجابة بـ Y.
الطلب الخامس هو رفض دخول مستخدم root من خارج الخادم. من المفضل جدا أن نُجيب بنعم:
Disallow root login remotely? [Y/n]
الطلب السادس هو إزالة قواعد البيانات الموجودة من أجل الإختبار. يُفضّل الإجابة بنعم:
Remove test database and access to it? [Y/n]
الطلب السابع هو إعادة تحميل جدول الصلاحيات. هنا أيضا نُجيب بنعم:
Reload privilege tables now? [Y/n]
بهذا تكون قد أنهينا الإعدادات الأولية لمحرك قواعد البيانات ويمكن تشغيله بدون أي مشكلة:
systemctl enable --now mariadb
يمكنك التأكد من أن المحرك يعمل من خلال الأمر التالي:
systemctl status mariadb
والنتيجة يجب أن تتشابه مع التالي:
بهذا نكون قد أنهينا تثبيت محرك قواعد البيانات ويمكن المتابعة إلى الموضوع التالي.