# آموزش نصب mongoDB

- پیوند: https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%86%d8%b5%d8%a8-mongodb/
- منتشرشده: 2022-05-11T07:30:59+00:00
- نویسنده: نگارنوین

در این مقاله با شما هستیم با آموزش نصب mongoDB پس تا انتهای این مطلب مثل همیشه مارا
همراهی کنید.

![آموزش نصب mongoDB](https://negarnovin.com/wp-content/uploads/2022/05/%D8%A2%D9%
85%D9%88%D8%B2%D8%B4-%D9%86%D8%B5%D8%A8-mongoDB-1024x576.jpg)

در واقع با آموزش زیر MongoDB Community Edition را روی Red Hat یا CentOS نصب می کنیم

**نکته مهم :** MongoDB Atlas یک گزینه سرویس میزبانی شده MongoDB در فضای ابری است
که نیازی به نصب سربار ندارد و یک ردیف رایگان برای شروع ارائه می دهد.

بررسی اجمالی
 از این آموزش برای نصب MongoDB ۵.۰ Community Edition بر روی Red Hat
Enterprise Linux، CentOS Linux یا Oracle Linux با استفاده از مدیریت بسته yum می 
باشد.

MongoDB فقط از نسخه های ۶۴ بیتی این پلتفرم ها پشتیبانی می کند.

MongoDB ۵.۰ Community Edition در RHEL / CentOS / Oracle همچنین از معماری ARM64 در
پلتفرم های منتخب پشتیبانی می کند.

MongoDB Community Edition را نصب کنید
 برای نصب MongoDB Community Edition با استفاده
از مدیریت بسته yum این مراحل را دنبال کنید.

پیکربندی سیستم مدیریت بسته (yum) :

یک فایل /etc/yum.repos.d/mongodb-org-۵.۰.repo ایجاد کنید تا بتوانید MongoDB را مستقیماً
با استفاده از yum نصب کنید:

  |  [mongodb-org-5.0] |  
 |  name=MongoDB Repository |  
 |  baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/ |  
 |  gpgcheck=1 |  
 |  enabled=1 |  
 |  gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc |

همچنین می توانید فایل های .rpm را مستقیماً از سایت دانلود کنید
 مخزن MongoDB . دانلودها
بر اساس نسخه Red Hat / CentOS (به عنوان مثال ۷)، سپس نسخه انتشار MongoDB (به عنوان
مثال ۵.۰)، سپس معماری (مانند x86_64) سازماندهی می شوند.

قبل از MongoDB ۵.۰، نسخه های انتشاری MongoDB با اعداد فرد، مانند ۴.۳، نسخه های توسعه
بودند. با شروع MongoDB ۵.۱، MongoDB دارای انتشار سریع سه ماهه است. برای اطلاعات 
بیشتر در مورد تفاوت های نسخه های پشتیبانی سریع و بلند مدت

بسته های MongoDB را نصب کنید :

[سرور مجازی فرانسه](https://negarnovin.com/%D8%B3%D8%B1%D9%88%D8%B1-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C-%D9%81%D8%B1%D8%A7%D9%86%D8%B3%D9%87/)

با دستور زیر می توانید این کار را انجام دهید

sudo yum install -y mongodb-org

همچنین، برای نصب نسخه خاصی از MongoDB، هر بسته کامپوننت را به صورت جداگانه مشخص 
کنید و شماره نسخه را به نام بسته اضافه کنید، مانند مثال زیر:

sudo yum install -y mongodb-org-5.0.8 mongodb-org-database-5.0.8 mongodb-org-server-
5.0.8 mongodb-org-shell-5.0.8 mongodb-org-mongos-5.0.8 mongodb-org-tools-5.0.8

شما می توانید هر نسخه موجود MongoDB را مشخص کنید. با این حال yum بسته ها را زمانی
که نسخه جدیدتر در دسترس قرار می گیرد ارتقا می دهد. برای جلوگیری از ارتقاء ناخواسته،
بسته را پین کنید. برای پین کردن بسته، دستور exclude زیر را به فایل /etc/yum.conf
خود اضافه کنید:

exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-org-shell,mongodb-
org-mongos,mongodb-org-tools

MongoDB Community Edition را اجرا کنید
 پیش نیازها حد نصاب بیشتر سیستم عامل های 
شبه یونیکس، منابع سیستمی را که ممکن است یک فرآیند استفاده کند، محدود می کنند. این
محدودیت ها ممکن است بر عملکرد MongoDB تأثیر منفی بگذارد و باید تنظیم شوند. تنظیمات
ulimit UNIX را برای تنظیمات توصیه شده برای پلتفرم خود ببینید.

توجه داشته باشید
 با شروع در MongoDB ۴.۴، اگر مقدار نهایی برای تعداد فایل های باز
کمتر از ۶۴۰۰۰ باشد، یک خطای راه اندازی ایجاد می شود.

مسیرهای دایرکتوری
 برای استفاده از دایرکتوری های پیش فرض به طور پیش فرض، MongoDB
با استفاده از حساب کاربری mongod اجرا می شود و از دایرکتوری های پیش فرض زیر استفاده
می کند:

/var/lib/mongo (دایرکتوری داده ها)
 /var/log/mongodb (دایرکتوری log) مدیر بسته، 
دایرکتوری های پیش فرض را در حین نصب ایجاد می کند. مالک و نام گروه mongod هستند.

برای استفاده از دایرکتوری های غیر پیش فرض
 برای استفاده از دایرکتوری داده و/یا دایرکتوری
گزارش غیر از دایرکتوری های پیش فرض:

دایرکتوری یا دایرکتوری های جدید ایجاد کنید.
 فایل پیکربندی /etc/mongod.conf را ویرایش
کنید و فیلدهای زیر را مطابق با آن تغییر دهید:

storage.dbPath برای تعیین یک مسیر فهرست داده جدید (به عنوان مثال /some/data/directory)

systemLog.path برای تعیین مسیر فایل لاگ جدید (به عنوان مثال /some/log/directory/
mongod.log) اطمینان حاصل کنید که کاربری که MongoDB را اجرا می کند به دایرکتوری یا
دایرکتوری ها دسترسی دارد:

sudo chown -R mongod:mongod <directory>

اگر کاربری را که فرآیند MongoDB را اجرا می کند تغییر دهید، باید به کاربر جدید دسترسی
به این دایرکتوری ها بدهید.

در صورت اجرا، SELinux را پیکربندی کنید

مهم
 اگر SELinux در حالت اعمال است، باید خط مشی SELinux خود را برای MongoDB با انجام
دو تنظیم خط مشی زیر سفارشی کنید:

اجازه دسترسی به cgroup
 خط مشی فعلی SELinux به فرآیند MongoDB اجازه دسترسی به /sys/
fs/cgroup را نمی دهد، که برای تعیین حافظه موجود در سیستم شما لازم است. اگر قصد دارید
SELinux را در حالت اجباری اجرا کنید، باید تنظیمات زیر را در خط مشی SELinux خود انجام
دهید:

مطمئن شوید که سیستم شما بسته چک سیاست را نصب کرده است:

sudo yum install checkpolicy

یک فایل خط مشی سفارشی mongodb_cgroup_memory.te ایجاد کنید:

cat > mongodb_cgroup_memory.te <<EOF
 module mongodb_cgroup_memory 1.0;

require {
 type cgroup_t; type mongod_t; class dir search; class file { getattr 
open read }; }

#============= mongod_t ==============
 allow mongod_t cgroup_t:dir search; allow
mongod_t cgroup_t:file { getattr open read }; EOF

پس از ایجاد، ماژول خط مشی سفارشی را با اجرای این سه دستور کامپایل و بارگذاری کنید:

checkmodule -M -m -o mongodb_cgroup_memory.mod mongodb_cgroup_memory.te
 semodule_package-
o mongodb_cgroup_memory.pp -m mongodb_cgroup_memory.mod sudo semodule -i mongodb_cgroup_memory.
pp

فرآیند MongoDB اکنون می تواند به فایل های صحیح با SELinux در حالت اجرا دسترسی پیدا
کند.

اجازه دسترسی به netstat برای FTDC
 خط مشی فعلی SELinux به فرآیند MongoDB اجازه نمی
دهد که /proc/net/netstat را باز کرده و بخواند، که برای ضبط داده های تشخیصی تمام 
وقت (FTDC) لازم است. اگر قصد دارید SELinux را در حالت اجباری اجرا کنید، باید تنظیمات
زیر را در خط مشی SELinux خود انجام دهید:

مطمئن شوید که سیستم شما بسته چک سیاست را نصب کرده است:

sudo yum install checkpolicy

یک فایل خط مشی سفارشی mongodb_proc_net.te ایجاد کنید:

cat > mongodb_proc_net.te <<EOF
 module mongodb_proc_net 1.0;

require {
 type cgroup_t; type configfs_t; type file_type; type mongod_t; type proc_net_t;
type sysctl_fs_t; type var_lib_nfs_t;

class dir { search getattr };
 class file { getattr open read }; }

#============= mongod_t ==============
 allow mongod_t cgroup_t:dir { search getattr};
allow mongod_t cgroup_t:file { getattr open read }; allow mongod_t configfs_t:dir
getattr; allow mongod_t file_type:dir { getattr search }; allow mongod_t file_type:
file getattr; allow mongod_t proc_net_t:file { open read }; allow mongod_t sysctl_fs_t:
dir search; allow mongod_t var_lib_nfs_t:dir search; EOF

پس از ایجاد، ماژول خط مشی سفارشی را با اجرای این سه دستور کامپایل و بارگذاری کنید:

checkmodule -M -m -o mongodb_proc_net.mod mongodb_proc_net.te
 semodule_package -
o mongodb_proc_net.pp -m mongodb_proc_net.mod sudo semodule -i mongodb_proc_net.
pp

مهم
 علاوه بر موارد فوق، اگر SELinux در حالت اعمال است، باید سیاست SELinux خود را
در دو مورد زیر سفارشی کنید:

شما به جای استفاده از dbPath، systemLog.path، یا pidFilePath پیش فرض در RHEL ۷.۰
یا جدیدتر، از یک مسیر فهرست سفارشی استفاده می کنید و/یا
 شما به جای استفاده از پورت
های پیش فرض MongoDB از یک پورت سفارشی استفاده می کنید.

استفاده از یک مسیر فهرست سفارشی MongoDB
 خط مشی SELinux را به روز کنید تا به سرویس
mongod اجازه دهید از دایرکتوری جدید استفاده کند:

sudo semanage fcontext -a -t <type> </some/MongoDB/directory.*>

که در آن یکی از انواع زیر را به صورت مناسب مشخص کنید:

mongod_var_lib_t برای فهرست داده ها
 mongod_log_t برای فهرست فایل لاگ mongod_var_run_t
برای فهرست فایل pid

خط مشی کاربر SELinux را برای دایرکتوری جدید به روز کنید:

sudo chcon -Rv -u system_u -t <type> </some/MongoDB/directory>

که در آن یکی از انواع زیر را به صورت مناسب مشخص کنید:

mongod_var_lib_t برای فهرست داده ها
 mongod_log_t برای دایرکتوری log mongod_var_run_t
برای فهرست فایل pid سیاست های به روز شده SELinux را در دایرکتوری اعمال کنید:

sudo restorecon -R -v </some/MongoDB/directory>

**روش دوم :**

برای اجرای MongoDB Community Edition بر روی سیستم خود این مراحل را دنبال کنید. این
دستورالعمل ها فرض می کنند که شما از تنظیمات پیش فرض استفاده می کنید.

سیستم Init

برای اجرا و مدیریت فرآیند mongod خود، از سیستم init داخلی سیستم عامل خود استفاده
خواهید کرد. نسخه های اخیر لینوکس تمایل به استفاده از systemd دارند (که از دستور 
systemctl استفاده می کند)، در حالی که نسخه های قدیمی لینوکس تمایل دارند از System
V init (که از دستور سرویس استفاده می کند) استفاده کنند.

اگر مطمئن نیستید که پلتفرم شما از کدام سیستم init استفاده می کند، دستور زیر را اجرا
کنید:

ps –no-headers -o comm 1

تبریک می گوئیم آموزش نصب mongoDB به پایان رسید با مقالات بعدی ما را حتما همانند 
همیشه همیاری و همدلی کنید.

### 📌 خلاصه

در این مقاله با شما هستیم با آموزش نصب mongoDB پس تا انتهای این مطلب مثل همیشه مارا
همراهی کنید تا براحتی این امکان را نصب کنید

## 🔗 مطالب مرتبط

 * [آموزش نصب دایرکت ادمین](https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%86%d8%b5%d8%a8-%d8%af%d8%a7%db%8c%d8%b1%da%a9%d8%aa-%d8%a7%d8%af%d9%85%db%8c%d9%86/)
 * [آموزش نصب CSF در دایرکت ادمین](https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%86%d8%b5%d8%a8-csf-%d8%af%d8%b1-%d8%af%d8%a7%db%8c%d8%b1%da%a9%d8%aa-%d8%a7%d8%af%d9%85%db%8c%d9%86/)
 * [آموزش نصب ioncube loader در دایرکت ادمین](https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%86%d8%b5%d8%a8-ioncube-loader-%d8%af%d8%b1-%d8%af%d8%a7%db%8c%d8%b1%da%a9%d8%aa-%d8%a7%d8%af%d9%85%db%8c%d9%86/)
