{"id":4867,"date":"2025-07-28T12:34:22","date_gmt":"2025-07-28T09:34:22","guid":{"rendered":"https:\/\/computingforgeeks.com\/?p=4867"},"modified":"2025-07-28T12:34:28","modified_gmt":"2025-07-28T09:34:28","slug":"installing-mongodb-on-centos-fedora","status":"publish","type":"post","link":"https:\/\/computingforgeeks.com\/installing-mongodb-on-centos-fedora\/","title":{"rendered":"MongoDB 7.0 Installation on CentOS Stream and Fedora"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/09\/mongodb-7-install-fedora-centos-stream-1024x683.webp\" alt=\"\" class=\"wp-image-160186\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/09\/mongodb-7-install-fedora-centos-stream-1024x683.webp 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/09\/mongodb-7-install-fedora-centos-stream-300x200.webp 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/09\/mongodb-7-install-fedora-centos-stream-768x512.webp 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/09\/mongodb-7-install-fedora-centos-stream-630x420.webp 630w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/09\/mongodb-7-install-fedora-centos-stream-696x464.webp 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/09\/mongodb-7-install-fedora-centos-stream-1068x712.webp 1068w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/09\/mongodb-7-install-fedora-centos-stream.webp 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">mongodb installation on centos stream, fedora<\/figcaption><\/figure>\n\n\n\n<p>Welcome to our guide on installing MongoDB 7.0 on CentOS Stream and Fedora Linux. MongoDB is a powerful open-source NoSQL database written in C++, designed for high scalability, excellent performance, and strong reliability. It\u2019s well-suited for a variety of <a href=\"https:\/\/computingforgeeks.com\/install-and-use-winget-windows-package-manager-client\/\">applications<\/a>, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Evolving data requirements.<\/li>\n\n\n\n<li>Blogs and content management.<\/li>\n\n\n\n<li>Mobile and social networking sites<\/li>\n\n\n\n<li>E-commerce product catalogue.<\/li>\n\n\n\n<li>configuration management<\/li>\n\n\n\n<li>Real-time analytics and high-speed logging<\/li>\n<\/ul>\n\n\n\n<p>Follow the steps below to install, configure, and start using MongoDB on your CentOS Stream or Fedora Linux system. This guide will walk you through everything from setting up the necessary repositories to getting MongoDB up and running smoothly, so you can begin managing your databases with ease.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1 &#8211; Update System<\/h2>\n\n\n\n<p>We always work on an updated system<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-orange-color\">### CentOS ###\n<\/mark><\/em>sudo yum -y update\n\n<em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">### Fedora ###\n<\/mark><\/em>sudo dnf -y update<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2 &#8211; Add MongoDB RPM Repository<\/h2>\n\n\n\n<p>The first step in the installation of MongoDB 4 on CentOS \/ Fedora is to add the repositories to the system.<\/p>\n\n\n\n<p><strong><em>CentOS Stream 9:<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &lt;&lt;EOF | sudo tee \/etc\/yum.repos.d\/mongodb.repo\n&#91;mongodb-org-7.0]\nname=MongoDB Repository\nbaseurl=https:\/\/repo.mongodb.org\/yum\/redhat\/9\/mongodb-org\/7.0\/x86_64\/\ngpgcheck=1\nenabled=1\ngpgkey=https:\/\/pgp.mongodb.com\/server-7.0.asc\nEOF<\/code><\/pre>\n\n\n\n<p><strong><em>CentOS Stream 8:<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &lt;&lt;EOF | sudo tee \/etc\/yum.repos.d\/mongodb.repo\n&#91;mongodb-org-7.0]\nname=MongoDB Repository\nbaseurl=https:\/\/repo.mongodb.org\/yum\/redhat\/8\/mongodb-org\/7.0\/x86_64\/\ngpgcheck=1\nenabled=1\ngpgkey=https:\/\/pgp.mongodb.com\/server-7.0.asc\nEOF<\/code><\/pre>\n\n\n\n<p><strong><em>Fedora<\/em><\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &lt;&lt;EOF | sudo tee \/etc\/yum.repos.d\/mongodb.repo\n&#91;mongodb-org-7.0]\nname=MongoDB Repository\nbaseurl=https:\/\/repo.mongodb.org\/yum\/redhat\/9\/mongodb-org\/7.0\/x86_64\/\ngpgcheck=1\nenabled=1\ngpgkey=https:\/\/pgp.mongodb.com\/server-7.0.asc\nEOF<\/code><\/pre>\n\n\n\n<p>Update Yum cache index:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo yum clean all &amp;&amp; sudo yum makecache -y<\/code><\/pre>\n\n\n\n<p>List available YUM repositories:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">sudo yum repolist<\/mark>\nrepo id                                                                                   repo name\nappstream                                                                                 Rocky Linux 8 - AppStream\nbaseos                                                                                    Rocky Linux 8 - BaseOS\ncri-o                                                                                     CRI-O\ndocker-ce-stable                                                                          Docker CE Stable - x86_64\nepel                                                                                      Extra Packages for Enterprise Linux 8 - x86_64\nextras                                                                                    Rocky Linux 8 - Extras\nmongodb-org-7.0                                                                           MongoDB Repository\npackages-microsoft-com-mssql-server-2019                                                  packages-microsoft-com-mssql-server-2019\npackages-microsoft-com-prod                                                               packages-microsoft-com-prod\nremi-modular                                                                              Remi's Modular repository for Enterprise Linux 8 - x86_64\nremi-safe                                                                                 Safe Remi's RPM repository for Enterprise Linux 8 - x86_64<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3 &#8211; Install MongoDB on CentOS \/ Fedora<\/h2>\n\n\n\n<p>Next is to install <code>mongodb-org<\/code> package on CentOS Stream or Fedora Linux.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo yum -y install mongodb-org<\/code><\/pre>\n\n\n\n<p>You can check the version of MongoDB installed using the following command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\"> mongod --version<\/mark>\ndb version <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">v7.0.20<\/mark>\nBuild Info: {\n    \"version\": \"7.0.20\",\n    \"gitVersion\": \"b6513ce0781db6818e24619e8a461eae90bc94fc\",\n    \"openSSLVersion\": \"OpenSSL 3.2.4 11 Feb 2025\",\n    \"modules\": &#91;],\n    \"allocator\": \"tcmalloc\",\n    \"environment\": {\n        \"distmod\": \"rhel90\",\n        \"distarch\": \"x86_64\",\n        \"target_arch\": \"x86_64\"\n    }\n}<\/code><\/pre>\n\n\n\n<p>The installation of <code> mongodb-org<\/code> package will install:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>mongodb-org-server<\/strong>&nbsp;\u2013 This provides MongoDB daemon<\/li>\n\n\n\n<li><strong>mongod<\/strong> <strong>mongodb-org-mongos<\/strong>&nbsp;\u2013 This is a MongoDB Shard daemon<\/li>\n\n\n\n<li><strong>mongodb-org-shell<\/strong>&nbsp;\u2013 This provides a shell to MongoDB<\/li>\n\n\n\n<li><strong>mongodb-org-tools<\/strong>&nbsp;\u2013 MongoDB tools used for export, dump, import e.t.c<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4 &#8211; Additional MongoDB Configurations (optional)<\/h2>\n\n\n\n<p>You can customize MongoDB installation before starting the service.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Label MongoDB port<\/strong><\/h4>\n\n\n\n<p>If you have SELinux in enforcing mode, you may need to label port&nbsp;<code>27017<\/code>\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo semanage port -a -t mongod_port_t -p tcp 27017<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Allow MongoDB Port on the firewall<\/strong><\/h4>\n\n\n\n<p>If you have an active <code>firewalld<\/code> service on your server and would like MongoDB service to be accessible over the network, allow port <code>27017\/tcp<\/code>:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo yum -y install firewalld &amp;&amp; sudo systemctl enable --now firewalld\nsudo firewall-cmd --add-port=27017\/tcp --permanent\nsudo firewall-cmd --reload<\/code><\/pre>\n\n\n\n<p>You can also limit access based on source address\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo firewall-cmd --permanent --add-rich-rule \"rule family=\"ipv4\" \\\nsource address=\"<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">192.168.5.0\/24<\/mark>\" port protocol=\"tcp\" port=\"27017\" accept\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Using secondary disk for MongoDB data (Optional)<\/h3>\n\n\n\n<p>You can choose to use a dedicated disk to store MongoDB data.<\/p>\n\n\n\n<p><strong>Step 1<\/strong>: Partition secondary disk for MongoDB data:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">lsblk  | grep vdb<\/mark>\nvdb             252:16   0  50G  0 disk<\/code><\/pre>\n\n\n\n<p><strong>Step 2<\/strong>: Create a GPT partition table for the secondary disk, it can be more than one disk:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo parted -s -a optimal -- \/dev\/vdb mklabel gpt\nsudo parted -s -a optimal -- \/dev\/vdb mkpart primary 0% 100%\nsudo parted -s -- \/dev\/vdb align-check optimal 1<\/code><\/pre>\n\n\n\n<p><strong>Step 3<\/strong>: Create LVM volume, this will make it easy to extend the partition:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo pvcreate  \/dev\/vdb1\nsudo vgcreate vg0 \/dev\/vdb1\nsudo lvcreate -n mongo -l 100%FREE vg0<\/code><\/pre>\n\n\n\n<p><strong>Step 4<\/strong>: Create&nbsp;<code>XFS<\/code> filesystem on the Logical Volume created.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">sudo mkfs.xfs \/dev\/mapper\/vg0-mongo<\/mark>\nmeta-data=\/dev\/mapper\/vg0-mongo isize=512    agcount=4, agsize=6553344 blks\n         =                       sectsz=512   attr=2, projid32bit=1\n         =                       crc=1        finobt=0, sparse=0\ndata     =                       bsize=4096   blocks=26213376, imaxpct=25\n         =                       sunit=0      swidth=0 blks\nnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1\nlog      =internal log           bsize=4096   blocks=12799, version=2\n         =                       sectsz=512   sunit=0 blks, lazy-count=1\nrealtime =none                   extsz=4096   blocks=0, rtextents=0<\/code><\/pre>\n\n\n\n<p><strong>Step 5<\/strong>: Create a mount point and mount the partition<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"\/dev\/mapper\/vg0-mongo \/var\/lib\/mongo xfs defaults 0 0\" | sudo tee -a \/etc\/fstab\nsudo mount -a\nsudo chown -R mongod:mongod \/var\/lib\/mongo\nsudo chmod -R 775 \/data\/mongo<\/code><\/pre>\n\n\n\n<p><strong>Step 7:&nbsp;<\/strong>Confirm that the partition mount was successful:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">df -hT | grep  \/var\/lib\/mongo<\/mark>\n\/dev\/mapper\/vg0-mongo xfs        50G   33M   50G   1% \/var\/lib\/mongo<\/code><\/pre>\n\n\n\n<p><strong>Step 8:&nbsp;<\/strong>Set MongoDB data store location<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">sudo vim \/etc\/mongod.conf<\/mark>\n storage:\n dbPath:<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\"> \/var\/lib\/mongo <\/mark>\n journal:\n   enabled: true<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5 &#8211; Start MongoDB Service<\/h2>\n\n\n\n<p>The last step is to start and enable MongoDB service to start on boot <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl start mongod.service\nsudo systemctl enable mongod.service<\/code><\/pre>\n\n\n\n<p>Check status by running: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status mongod.service<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Connect to MongoDB shell<\/h4>\n\n\n\n<p>When MongoDB server is running, we can use MongoDB shell by executing <code>mongosh<\/code> command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">sudo mongosh<\/mark>\nCurrent Mongosh Log ID:\t6694d09ccf71458329482f8a\nConnecting to:\t\tmongodb:\/\/127.0.0.1:27017\/?directConnection=true&amp;serverSelectionTimeoutMS=2000&amp;appName=mongosh+2.2.12\nUsing MongoDB:\t\t7.0.12\nUsing Mongosh:\t\t2.2.12\n\nFor mongosh info see: https:\/\/docs.mongodb.com\/mongodb-shell\/\n\n\nTo help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https:\/\/www.mongodb.com\/legal\/privacy-policy).\nYou can opt-out by running the disableTelemetry() command.\n\n------\n   The server generated these startup warnings when booting\n   2024-07-15T07:32:15.347+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted\n   2024-07-15T07:32:15.347+00:00: \/sys\/kernel\/mm\/transparent_hugepage\/enabled is 'always'. We suggest setting it to 'never' in this binary version\n   2024-07-15T07:32:15.347+00:00: vm.max_map_count is too low\n------\n\ntest&gt;<\/code><\/pre>\n\n\n\n<p>For Authentication, check our guide on&nbsp;<a href=\"https:\/\/computingforgeeks.com\/how-to-configure-mongodb-authentication\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to configure MongoDB authentication.<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">MongoDB Book<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/books-to-learn-nosql-mongodb-databases\/\" target=\"_blank\" rel=\"noreferrer noopener\">Best Books To Learn NoSQL &amp; MongoDB Databases<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to our guide on installing MongoDB 7.0 on CentOS Stream and Fedora Linux. MongoDB is a powerful open-source NoSQL database written in C++, designed for high scalability, excellent performance, and strong reliability. It\u2019s well-suited for a variety of applications, such as: Follow the steps below to install, configure, and start using MongoDB on your &#8230; <a title=\"MongoDB 7.0 Installation on CentOS Stream and Fedora\" class=\"read-more\" href=\"https:\/\/computingforgeeks.com\/installing-mongodb-on-centos-fedora\/\" aria-label=\"Read more about MongoDB 7.0 Installation on CentOS Stream and Fedora\">Read more<\/a><\/p>\n","protected":false},"author":3,"featured_media":160186,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,316,461,29,299,50],"tags":[324,343,37408,37409,535],"class_list":["post-4867","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-centos","category-containers","category-databases","category-fedora","category-how-to","category-linux-tutorials","tag-databases","tag-mongodb","tag-mongodb-4-4-on-centos-7","tag-mongodb-4-4-on-fedora","tag-nosql"],"_links":{"self":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/4867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/comments?post=4867"}],"version-history":[{"count":3,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/4867\/revisions"}],"predecessor-version":[{"id":160190,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/4867\/revisions\/160190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media\/160186"}],"wp:attachment":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media?parent=4867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/categories?post=4867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/tags?post=4867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}