learn

نصب MongoDB 8.0 در Ubuntu 24.04؛ مخزن رسمی و فعال‌سازی احراز هویت

نصب تازه MongoDB Community 8.0 روی Ubuntu 24.04، کنترل سرویس و محدودسازی شبکه؛ همراه با حساب مدیر و فعال‌سازی authorization پیش از استفاده واقعی.

برای نصب MongoDB، بسته مخزن رسمی پروژه را با نسخه دقیق Ubuntu تطبیق دهید. این آموزش فقط نصب تازه MongoDB Community 8.0 روی Ubuntu 24.04 با معماری x86_64 را پوشش می‌دهد؛ ارتقای دیتابیس موجود، replica set و نصب Atlas روند جدا دارند. پورت دیتابیس نباید برای انجام آموزش در اینترنت عمومی باز شود.

پیش‌نیاز و دریافت کلید مخزن

نسخه سیستم را با cat /etc/os-release و معماری را با dpkg –print-architecture بررسی کنید. اگر قبلاً بسته mongodb یا داده واقعی دارید، ابتدا توقف کنید و مسیر سازگاری و بکاپ را مشخص کنید. کلید را فقط از دامنه رسمی بگیرید و مشخصات آن را با مرجع رسمی تطبیق دهید.

sudo apt-get install gnupg curl
curl -fsSL https://pgp.mongodb.com/server-8.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor

اگر فایل کلید از قبل موجود است، دلیل و نسخه آن را بررسی کنید؛ پاسخ‌دادن خودکار به اعلان بازنویسی مناسب نیست.

افزودن مخزن مخصوص Noble و نصب

echo "deb [ arch=amd64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
sudo apt-get update
sudo apt-get install mongodb-org
sudo systemctl enable --now mongod
sudo systemctl status mongod --no-pager

این فایل مخزن باید برای نصب تازه باشد؛ آن را روی تنظیم موجودِ نسخه دیگر بدون برنامه مهاجرت ننویسید. نام سرویس mongod است، نه mongodb. در صورت شکست، journalctl -u mongod و مسیر لاگ واقعی را بررسی کنید.

ساخت مدیر روی اتصال محلی

ابتدا تأیید کنید bindIp در /etc/mongod.conf روی loopback است و فایروال دسترسی عمومی نمی‌دهد. با mongosh محلی به نصب تازه متصل شوید و در shell آن اجرا کنید:

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

این حساب نقش مدیریت کاربر دارد و نباید به‌عنوان حساب برنامه استفاده شود. گذرواژه را از اعلان تعاملی وارد کنید، نه در URL یا تاریخچه فرمان.

فعال‌سازی کنترل دسترسی

از پیکربندی بکاپ بگیرید و بخش security موجود را بدون ایجاد کلید تکراری YAML اصلاح کنید:

security:
  authorization: enabled

سپس سرویس را در پنجره نگهداری restart و ورود احرازشده را کنترل کنید. این نمونه برای standalone تازه است؛ در کلاستر، احراز هویت داخلی اعضا نیز لازم است.

sudo systemctl restart mongod
mongosh --host 127.0.0.1 --authenticationDatabase admin -u dbUserAdmin -p

کنترل قبل از استفاده برنامه

برای برنامه حساب جدا با دسترسی محدود به دیتابیس خودش بسازید. یک خواندن یا نوشتن محافظت‌شده بدون اعتبارنامه باید رد شود؛ صرف اتصال TCP معیار کافی نیست. برای ارتباط غیرمحلی، TLS، محدودیت مبدأ و شبکه خصوصی را طراحی کنید. پیش از داده واقعی، بکاپ و بازیابی را آزمایش کنید؛ نصب نسخه جدید روی data directory قدیمی، روش مجاز ارتقا نیست.

مطالعه مرتبط

منابع و مستندات

بازبینی محتوا و منابع: ۲۶ مهر ۱۴۰۵. دستورهای نمونه برای محیط مشخص‌شده‌اند؛ پیش از استفاده روی سرویس عملیاتی، سازگاری محیط و نسخه پشتیبان را بررسی کنید.

مطالب مرتبط

ارسال نظر

فهرست مطالب