ديف أوبس

دليل تثبيت MongoDB على أوبونتو 18.04

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

التحضيرات الأولية لضمان استقرار البيئة

قبل أن نبدأ في خطوات التثبيت، من الضروري أن نؤكد أن نظام التشغيل الخاص بك محدث بالكامل، حيث أن التحديثات الأخيرة تضمن أن لديك أحدث الحزم والتصحيحات الأمنية التي تساهم بشكل مباشر في استقرار النظام وأمانه. يمكن تنفيذ ذلك عبر الأمر التالي في الطرفية:

sudo apt update && sudo apt upgrade -y

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

إضافة مستودع MongoDB الرسمي على أوبونتو 18.04

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

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

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

sudo apt update

وهذا يتيح للنظام التعرف على الحزم الجديدة المتاحة من المصدر المضاف، ويعد خطوة مهمة قبل الشروع في عملية التثبيت الفعلية.

تثبيت MongoDB على نظام أوبونتو 18.04

بمجرد تحديث النظام وإضافة المستودع، يمكن الانتقال إلى خطوة التثبيت التي تعتمد على الأمر التالي:

sudo apt install -y mongodb-org

هذا الأمر يقوم بتنزيل وتثبيت جميع الحزم الضرورية لتشغيل MongoDB، بما في ذلك برامج التشغيل، أدوات الإدارة، والملفات اللازمة لعمل قاعدة البيانات بكفاءة. يتطلب الأمر بعض الوقت، ويجب مراقبة مخرجات الأمر للتأكد من أن عملية التثبيت تمت بنجاح، وأنه لا توجد أخطاء أو تحذيرات تتطلب التدخل اليدوي.

تشغيل خدمة MongoDB وتفعيلها تلقائيًا عند بدء التشغيل

بعد التثبيت، من الضروري أن نبدأ تشغيل خدمة MongoDB لضمان عملها، وأيضًا تفعيلها بشكل تلقائي عند إقلاع النظام لضمان استمرارية الخدمة. يمكن تنفيذ ذلك عبر الأوامر التالية:

sudo systemctl start mongod
sudo systemctl enable mongod

هذه الأوامر تضمن أن خدمة MongoDB ستعمل تلقائيًا عند تشغيل النظام، وتكون جاهزة لاستقبال الطلبات من المستخدمين أو التطبيقات. للتحقق من حالة الخدمة، يمكن استخدام الأمر التالي:

sudo systemctl status mongod

الذي يعرض الحالة الحالية للخدمة، وإذا كانت تعمل بشكل صحيح، فإنك تكون قد أتممت مرحلة التثبيت الأولية بنجاح.

تهيئة الأمان في MongoDB

الأمان هو العنصر الأهم عند التعامل مع قواعد البيانات، خاصة تلك التي تحتوي على معلومات حساسة أو تتطلب وصولاً محدودًا. بعد أن أصبح MongoDB يعمل بشكل صحيح، تأتي خطوة تفعيل المصادقة وتحديد صلاحيات المستخدمين، وهو ما يضمن عدم وصول غير المصرح لهم إلى البيانات.

إنشاء مستخدم مسؤول وتعيين الصلاحيات

لتعزيز الأمان، يُنصح بإنشاء حساب مسؤول (مثلاً باسم “admin”) ومنحه صلاحيات كاملة على قاعدة البيانات. يتم ذلك من خلال الوصول إلى واجهة سطر الأوامر الخاصة بـ MongoDB، عبر الأمر:

mongo

ثم، داخل سطر الأوامر، يتم اختيار قاعدة البيانات الإدارية وإنشاء المستخدم الجديد على النحو التالي:

use admin
db.createUser({
  user: "admin",
  pwd: "your_strong_password",
  roles: [
    { role: "userAdminAnyDatabase", db: "admin" },
    "readWriteAnyDatabase"
  ]
})

قم باستبدال كلمة “your_strong_password” بكلمة مرور قوية تتضمن حروفًا كبيرة وصغيرة وأرقام ورموز، لتقليل احتمالية الاختراق.

تفعيل المصادقة عبر تحرير ملف الإعدادات

بعد إنشاء المستخدم، يجب تفعيل خاصية المصادقة في ملف الإعدادات الخاص بـ MongoDB، وهو الملف /etc/mongod.conf. يُستخدم محرر النصوص المفضل لديك لفتح الملف وتعديله:

sudo nano /etc/mongod.conf

داخل الملف، قم بتعليق السطر الخاص بـ bindIp، والذي يحدد عناوين IP المسموح لها بالوصول، بحيث يسمح بالوصول من أي عنوان، أو حدد عناوين IP المعتمدة فقط. ثم، أضف أو عدل قسم الأمان ليصبح كالتالي:

security:
  authorization: enabled

بعد إتمام التعديلات، احفظ الملف وأعد تشغيل خدمة MongoDB لتفعيل التغييرات:

sudo systemctl restart mongod

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

تحسينات إضافية وتخصيصات في ملف mongod.conf

عند إدارة قاعدة بيانات MongoDB، من المهم أن يكون لديك تحكم كامل في أداء النظام وإعداداته، خاصة في بيئات الإنتاج. يمكن تخصيص إعدادات ملف mongod.conf لتحسين الأداء، وزيادة مستوى الأمان، وتسهيل عمليات الصيانة.

تحسين أداء التخزين والذاكرة

واحدة من أهم الإعدادات هي تخصيص حجم الذاكرة المخصصة للتخزين المؤقت (cache). باستخدام الخاصية storage.wiredTiger.engineConfig.cacheSizeGB، يمكنك تحديد حجم الذاكرة المخصصة للذاكرة المؤقتة، مع الأخذ في الاعتبار أن تخصيص حجم كبير يزيد من سرعة الوصول للبيانات، ولكن يتطلب موارد كافية على مستوى النظام. مثال على إعداد مناسب:

storage:
  wiredTiger:
    engineConfig:
      cacheSizeGB: 4

بالإضافة إلى ذلك، يمكنك تحديد مسار ملفات السجلات systemLog.path، وتفعيل خاصية التدوير التلقائي للسجلات باستخدام systemLog.logAppend، مما يساهم في إدارة حجم ملفات السجلات بشكل فعال.

إعدادات الشبكة والوصول عن بُعد

لتسهيل عمليات الوصول عن بُعد، يمكن تكوين العنوان الذي يتم الاستماع إليه عبر الخاصية net.bindIp. مثلاً، إذا كنت تريد أن يقبل الاتصال من جميع العناوين، يمكنك تعليقه أو تحديد عنوان IP معين لزيادة الأمان. كما يمكن تفعيل التشفير عبر SSL/TLS لحماية البيانات أثناء النقل، وهو أمر مهم خاصة عند الوصول إلى البيانات من خلال شبكات غير آمنة.

نشر مجموعات الاستنساخ (Replica Sets)

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

إدارة MongoDB بشكل متقدم

عند تشغيل MongoDB في وضع الإنتاج، يصبح من الضروري أن تتوفر أدوات إدارة ورصد متقدمة لضمان الأداء، والأمان، والاستمرارية. من بين الأدوات الشائعة:

  • MongoDB Compass: أداة بصرية تسمح بتصفح البيانات، وتحليل الأداء، وإدارة الفهارس، وتحليل استعلامات الأداء.
  • MongoDB Cloud Manager: منصة سحابية توفر مراقبة الأداء، والنسخ الاحتياطي، وإدارة النسخ المتماثلة بشكل مركزي.
  • Prometheus وGrafana: أدوات مفتوحة المصدر لمراقبة الأداء، وتقديم تقارير وتحليلات مرئية لبيئة MongoDB.

النسخ الاحتياطي واستعادة البيانات

حماية البيانات ليست مهمة ثانوية، بل يجب أن تكون أولوية مطلقة. يمكن إعداد نظام نسخ احتياطي تلقائي عبر أدوات مثل mongodump وmongorestore، أو استخدام خدمات النسخ الاحتياطي السحابية التي توفر استمرارية في العمل وسهولة في استعادة البيانات. من المهم جدولة عمليات النسخ بشكل دوري، وتخزين النسخ الاحتياطية في مواقع آمنة، مع ضمان اختبار عمليات الاستعادة بشكل منتظم لضمان فاعليتها عند الحاجة.

إدارة الوصول عبر جدران الحماية

لحماية قاعدة البيانات من الوصول غير المصرح به، من الضروري إعداد جدران حماية مناسبة، مثل iptables أو UFW. يمكن السماح بالاتصالات فقط من عناوين IP المعتمدة، ومنع جميع الاتصالات غير المصرح بها. مثال على إعداد UFW للسماح فقط لعناوين IP معينة:

sudo ufw allow from 192.168.1.100 to any port 27017

ثم، تفعيل القواعد عبر:

sudo ufw enable

وبذلك، يتم تقليل خطر الاختراقات الخارجية وتحكم كامل في من يمكنه الوصول إلى قاعدة البيانات.

تحسين أداء الاستعلامات والفهرسة

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

التفاعل مع المجتمع والدعم الفني

يعد مجتمع مطوري MongoDB من أكبر المجتمعات التقنية، ويوفر دعمًا فنيًا، وحلولًا للمشكلات، وتحديثات أمنية مستمرة. من المهم متابعة المنتديات، والمقالات التقنية، ومستندات التوثيق الرسمية، لضمان أن تظل بيئة MongoDB محدثة وآمنة. بالإضافة إلى ذلك، تقدم شركة MongoDB خدمات دعم فني مدفوعة، تتيح للمؤسسات الحصول على استشارات تقنية، وتحديثات أمنية، وأدوات إدارة متقدمة.

ملخص شامل ومراجعة نهائية

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

المصادر والمراجع

زر الذهاب إلى الأعلى