پرش به مطلب اصلی

مخزن MongoDB برای لینوکس

MongoDB یکی از پایگاه‌داده‌های NoSQL پرکاربرد برای ذخیره‌سازی داده‌های ساختاریافته و نیمه‌ساختاریافته است. نصب و بروزرسانی نسخه‌های رسمی MongoDB معمولاً از طریق Repositoryهای اختصاصی این پروژه انجام می‌شود و دسترسی پایدار به این مخازن برای سرورهای عملیاتی اهمیت زیادی دارد.

مخزن MongoDB پارس‌پک با ارائه نسخه‌های آینه‌شده MongoDB، امکان نصب و بروزرسانی این پایگاه‌داده را از طریق زیرساخت داخلی فراهم می‌کند. در این راهنما، روش افزودن Repository و نصب MongoDB روی توزیع‌های مبتنی بر Debian/Ubuntu و خانواده RHEL توضیح داده شده است.

تنظیم Repository

Ubuntu

# ۱) پیش‌نیازها و ایمپورت کلید آینه
sudo apt-get update
sudo apt-get install -y curl ca-certificates gnupg
curl -fsSL https://repo.abrha.net/mongodb/ubuntu/gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/abrha-mongodb.gpg

# ۲) افزودن مخزن
echo "deb [ arch=amd64 signed-by=/usr/share/keyrings/abrha-mongodb.gpg ] https://repo.abrha.net/mongodb/ubuntu jammy/mongodb-org/8.0 multiverse" \
| sudo tee /etc/apt/sources.list.d/abrha-mongodb.list

# ۳) نصب
sudo apt-get update
sudo apt-get install -y mongodb-org

# بررسی
mongod --version

Debian

# ۱) پیش‌نیازها و ایمپورت کلید آینه
sudo apt-get update
sudo apt-get install -y curl ca-certificates gnupg
curl -fsSL https://repo.abrha.net/mongodb/debian/gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/abrha-mongodb.gpg

# ۲) افزودن مخزن
echo "deb [ arch=amd64 signed-by=/usr/share/keyrings/abrha-mongodb.gpg ] https://repo.abrha.net/mongodb/debian bookworm/mongodb-org/8.0 main" \
| sudo tee /etc/apt/sources.list.d/abrha-mongodb.list

# ۳) نصب
sudo apt-get update
sudo apt-get install -y mongodb-org

# بررسی
mongod --version

Red Hat / CentOS / Rocky / AlmaLinux

# ۱) ساخت فایل مخزن (EL 9)
sudo tee /etc/yum.repos.d/abrha-mongodb.repo >/dev/null <<'EOF'
[abrha-mongodb-8.0]
name=Abrha MongoDB 8.0
baseurl=https://repo.abrha.net/mongodb/redhat/$releasever/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://repo.abrha.net/mongodb/redhat/gpg
EOF

# ۲) نصب
sudo dnf install -y mongodb-org

# بررسی
mongod --version
نکته سازگاری نسخه‌ها

هر ترکیب نسخهٔ MongoDB با هر سیستم‌عاملی موجود نیست؛ برای مثال، MongoDB 8.0 روی نسخه‌های خیلی قدیمی سیستم‌عامل‌ها در دسترس نیست. اگر هنگام اجرای update با خطای 404 مواجه شدید، یعنی آن ترکیب روی آینه موجود نیست؛ در این حالت، نسخهٔ سازگار MongoDB یا سیستم‌عامل را انتخاب کنید.

نکات و عیب‌یابی

پشتیبانی از معماری سیستم

مخزن MongoDB پارس‌پک برای معماری amd64 / x86_64 ارائه شده است. پیش از تنظیم مخزن، مطمئن شوید معماری سیستم‌عامل سرور با این مخزن سازگار است.

انتخاب نسخه MongoDB متناسب با سیستم‌عامل

همه نسخه‌های MongoDB روی همه نسخه‌های سیستم‌عامل قابل نصب نیستند. برای مثال ممکن است یک نسخه جدیدتر MongoDB روی نسخه‌های قدیمی‌تر سیستم‌عامل در دسترس نباشد. اگر هنگام بروزرسانی مخزن یا نصب پکیج با خطای 404 مواجه شدید، نسخه MongoDB و نسخه سیستم‌عامل را بررسی کنید و ترکیب سازگار را انتخاب کنید.

کلید مورد استفاده در Ubuntu و Debian

در توزیع‌های مبتنی بر APT، متادیتای مخزن MongoDB توسط آینه پارس‌پک امضا می‌شود. بنابراین هنگام تنظیم Repository باید کلید آینه پارس‌پک را در سیستم ثبت کنید و مقدار signed-by در فایل Repository به همان فایل کلید اشاره داشته باشد.

کلید مورد استفاده در توزیع‌های مبتنی بر RHEL

در توزیع‌های مبتنی بر RHEL مانند AlmaLinux، Rocky Linux و CentOS، اعتبارسنجی پکیج‌ها با کلید رسمی MongoDB انجام می‌شود. اگر هنگام نصب با خطای GPG مواجه شدید، مسیر gpgkey را در فایل repo بررسی کنید.

خطای HTTPS یا گواهی در Ubuntu و Debian

اگر هنگام اجرای apt update با خطای مربوط به HTTPS، گواهی یا اتصال امن روبه‌رو شدید، ابتدا پیش‌نیازهای لازم را نصب یا بروزرسانی کنید:

sudo apt-get install -y apt-transport-https ca-certificates curl gnupg

سپس مراحل افزودن کلید و Repository را دوباره انجام دهید.

خطای کلید یا امضای نامعتبر در APT

اگر با خطای کلید یا امضای نامعتبر مواجه شدید، کلید آینه را دوباره ایمپورت کنید و مطمئن شوید مقدار signed-by در فایل Repository به همان فایل کلید اشاره می‌کند. این خطا معمولاً زمانی رخ می‌دهد که کلید اشتباه ثبت شده باشد یا مسیر فایل کلید در Repository درست نباشد.

خطای $releasever در توزیع‌های مبتنی بر RHEL

در برخی توزیع‌های مبتنی بر RHEL ممکن است مقدار $releasever به‌جای عدد اصلی نسخه، مقداری مانند 9.4 یا 9Server برگرداند. در این حالت، در فایل repo مقدار $releasever را با عدد اصلی نسخه، مثل 8، 9 یا 10 جایگزین کنید.

خطای 404 هنگام بروزرسانی مخزن

خطای 404 در مخزن MongoDB معمولاً به این معنی است که ترکیب انتخاب‌شده از نسخه MongoDB، نسخه سیستم‌عامل یا معماری سرور در مخزن وجود ندارد. در این حالت نسخه MongoDB یا نسخه توزیع را تغییر دهید و دوباره update را اجرا کنید.

جمع‌بندی

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