نصب MongoDB در لینوکس به تطبیق نسخهٔ پایگاه داده، انتشار سیستمعامل و معماری CPU نیاز دارد. این آموزش برای نصب تازهٔ MongoDB Community 8.0 روی خانوادهٔ سازگار RHEL 9 با معماری x86_64 است؛ از جمله Rocky Linux، AlmaLinux یا CentOS Stream سازگار. دستورها مسیر ارتقای مستقیم یک دیتابیس قدیمی نیستند.
پیش از نصب MongoDB در لینوکس
cat /etc/os-release
uname -m
lscpu
نسخه و معماری را با جدول پلتفرمهای نصب MongoDB 8.0 تطبیق دهید. برای CPU و کرنل نیز الزامات تولید را بخوانید؛ در x86_64 وجود AVX و ریزمعماری مناسب اهمیت دارد. این نمونه برای CentOS Linux 7 یا معماری ARM آمادهٔ اجرا نیست.
اگر داده یا نصب قبلی دارید، همینجا مسیر نصب تازه را متوقف و دستورالعمل ارتقای همان نسخه را انتخاب کنید. تغییر مخزن و اجرای بستهٔ جدید روی فایلهای قدیمی، جای برنامهٔ مهاجرت نیست.
۱. مخزن رسمی و نصب بسته
با ویرایشگر مدیریتی، فایل /etc/yum.repos.d/mongodb-org-8.0.repo را بسازید. محتوای زیر فقط برای نمونهٔ RHEL 9 و x86_64 است:
[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-8.0.asc
sudo dnf install mongodb-org
mongod --version
mongosh --version
فهرست بستهها، نسخه و کلید امضا را پیش از تأیید بررسی کنید. مخزن ۸٫۰ اصلاحیههای همین شاخه را ارائه میدهد؛ این عبارت به معنی جدیدترین شاخهٔ کل محصول نیست. نسخهٔ mongosh نیز الزاماً با شمارهٔ mongod برابر نیست.
۲. تنظیم محلی و احراز هویت
فایل موجود /etc/mongod.conf را ویرایش کنید و تنظیمات بسته برای داده و گزارش را حفظ کنید. بخشهای net و security باید فقط یکبار و با تورفتگی درست YAML تعریف شوند:
net:
port: 27017
bindIp: 127.0.0.1
security:
authorization: enabled
این نمونه فقط اتصال محلی را میپذیرد. مسیر داده و مالک سرویس را از تنظیم واقعی بسته بخوانید؛ با chown بازگشتی روی مسیر حدسی کار نکنید. در سیستم دارای SELinux، سیاست مستند متناسب با مسیرها لازم است؛ برای رفع خطا SELinux را خاموش نکنید.
sudo systemctl enable --now mongod
sudo systemctl status mongod --no-pager
sudo ss -ltnp
اگر سرویس از قبل در حال اجرا بوده، برای اعمال تنظیم جدید restart لازم است. نتیجهٔ شنود باید با loopback انتخابشده تطبیق داشته باشد.
۳. ساخت نخستین مدیر در نصب خالی
استثنای localhost فقط در شرایط نصب بدون کاربر یا نقش قبلی، ایجاد نخستین مدیر را ممکن میکند. از همان سرور اجرا کنید:
mongosh --host 127.0.0.1 --port 27017
در پوستهٔ MongoDB:
use admin
db.createUser({
user: "useradmin",
pwd: passwordPrompt(),
roles: [{role: "userAdminAnyDatabase", db: "admin"}]
})
exit
رمز مستقل و قوی را در درخواست تعاملی وارد کنید. این حساب مدیریت کاربران، قدرتمند است و نباید حساب اتصال برنامه باشد. اگر ساخت کاربر مجاز نبود، وجود کاربر قبلی و تنظیمات را بررسی کنید؛ احراز هویت را برای عبور از خطا غیرفعال نکنید.
۴. حساب برنامه و آزمون واقعی
mongosh --host 127.0.0.1 -u useradmin --authenticationDatabase admin -p
پس از ورود مدیر، برای دیتابیس نمونه حساب محدود بسازید:
use appdb
db.createUser({
user: "appuser",
pwd: passwordPrompt(),
roles: [{role: "readWrite", db: "appdb"}]
})
exit
با حساب برنامه دوباره وصل شوید و فقط در دیتابیس آزمایشی دادهٔ نمونه بنویسید:
mongosh --host 127.0.0.1 -u appuser --authenticationDatabase appdb -p
use appdb
db.install_check.insertOne({purpose: "installation-test"})
db.install_check.findOne({purpose: "installation-test"})
این آزمون، ورود و مجوز خواندن و نوشتن همان حساب را بررسی میکند. پاسخ ping بهتنهایی آزمون کافی برای مجوزهای برنامه نیست. بدون احراز هویت نیز دسترسی به دادهٔ محافظتشده نباید مجاز باشد.
رفع خطا و استفادهٔ واقعی
برای خطای شروع، sudo journalctl -u mongod --no-pager -n 50 و مسیر گزارش تعیینشده در فایل تنظیم را ببینید. نبود unit را ابتدا با وضعیت نصب بسته بررسی کنید؛ daemon-reload بستهٔ نصبنشده را ایجاد نمیکند.
طبق راهنمای امنیت MongoDB، اتصال شبکهای به محدودیت مبدأ، TLS و حسابهای متناسب نیاز دارد. این مقاله استقرار تکنمونهٔ محلی است؛ دسترسپذیری بالا، تکثیر، بکاپ و بازیابی طراحی جداگانه میخواهند. حذف پوشهٔ داده بخشی از آزمون نصب یا رفع خطا نیست.
مطالعهٔ مرتبط
بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شدهاند.