Install MongoDB Community on Debian Using .tgz Tarball
Overview
Although the recommended procedure to install is through thepackage manager, you can alsoinstall by directly downloading the .tgz
file. The followingtutorial downloads the .tgz
tarball directly to install MongoDB4.2 Community Edition on Debian Linux systems.
Note
To install a different version of MongoDB, please refer to thatversion’s documentation. To install the previous version, seethe tutorial for version 4.0.
Considerations
Production Notes
Before deploying MongoDB in a production environment, consider theProduction Notes document.
Platform Support
MongodDB 4.2 supports:
- Debian 10 “Buster” (Starting in version 4.2.1)
- Debian 9 “Stretch”
MongoDB only provides packages for the 64-bit builds of these releases.See Supported Platforms for more information.
Windows Subsystem for Linux (WSL) - Unsupported
MongoDB does not support WSL, and users on WSL have encounteredvarious issues installing on WSL. For examples, see:
Install MongoDB Community Edition
Note
The recommended procedure to install is through the packagemanager. However, as an alternative,you can install by downloading the .tgz
tarballs directly.
MongoDB .tar.gz
tarballs require installing the followingdependencies:
- Debian 10 "Buster"
- Debian 9 "Stretch"
- sudo apt-get install libcurl4 openssl
- sudo apt-get install libcurl3 openssl
Procedure
Download the MongoDB .tgz tarball.
Download the tarball for your system from the MongoDB Download Center.
Extract the files from the downloaded archive.
For example, from a system shell, you can extract using the tar
command:
- tar -zxvf mongodb-linux-*-4.2.1.tgz
Ensure the binaries are in a directory listed in your PATH environment variable.
The MongoDB binaries are in the bin/
directory of the tarball.You can either:
- Copy the binaries into a directory listed in your
PATH
variable, such as/usr/local/bin
(Update/path/to/the/mongodb-directory/
with your installationdirectory as appropriate)
- sudo cp /path/to/the/mongodb-directory/bin/* /usr/local/bin/
- Create symbolic links to the binaries from a directory listed inyour
PATH
variable, such as/usr/local/bin
(Update/path/to/the/mongodb-directory/
with your installationdirectory as appropriate):
- sudo ln -s /path/to/the/mongodb-directory/bin/* /usr/local/bin/
Run MongoDB Community Edition
- Production Notes
- Before deploying MongoDB in a production environment, consider theProduction Notes document.
- ulimit Considerations
- Most Unix-like operating systems limit the system resources that asession may use. These limits may negatively impact MongoDB operation.See UNIX ulimit Settings for more information.
- Directories
By default, MongoDB instance stores:
- its data files in
/var/lib/mongodb
- its log files in
/var/log/mongodb
If you installed via the package manager, the directories are createdduring the installation.
- its data files in
If you installed manually by downloading the tarballs, you can createthe directories using mkdir -p <directory>
or sudo mkdir -p<directory>
depending on the user that will run MongoDB. (See yourlinux man pages for information on mkdir
and sudo
.)
By default, MongoDB runs using the mongodb
user account. If youchange the user that runs the MongoDB process, you must also modifythe permission to the /var/lib/mongodb
and /var/log/mongodb
directories to give this user access to these directories.
To specify a different log file directory and data file directory, editthe systemLog.path
and storage.dbPath
settings inthe /etc/mongod.conf
. Ensure that the user running MongoDB hasaccess to these directories.
Note
The following instructions assume that you have downloaded theofficial MongoDB mongodb-org
packages, and not the unofficialmongodb
package provided by Debian, and are using the defaultsettings.
Create the data and log directories.
Note
Depending on user permissions, you may need to sudo mkdir -p<directory>
instead of mkdir -p <directory>
. Use or omitsudo
as appropriate. See your linux man pages for informationon mkdir
and sudo
.
Create a directory where the MongoDB instance stores its data. Forexample:
- sudo mkdir -p /var/lib/mongo
Create a directory where the MongoDB instance stores its log. For example:
- sudo mkdir -p /var/log/mongodb
The user that starts the MongoDB process must have read and writepermission to these directories. For example, if you intend to runMongoDB as yourself:
- sudo chown `whoami` /var/lib/mongo # Or substitute another user
- sudo chown `whoami` /var/log/mongodb # Or substitute another user
Run MongoDB.
To run MongoDB, run the mongod
process at the system prompt.
- mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork
For details on the command-line options —dbpath
and —logpath
, seeOptions.
Verify that MongoDB has started successfully.
Verify that MongoDB has started successfully bychecking the process output for the following line in thelog file /var/log/mongodb/mongod.log
:
- [initandlisten] waiting for connections on port 27017
You may see non-critical warnings in the processoutput. As long as you see the log line shown above, you can safelyignore these warnings during your initial evaluation of MongoDB.
Begin using MongoDB.
Start a mongo
shell on the same host machine as themongod
. You can run the mongo
shellwithout any command-line options to connect to amongod
that is running on your localhost with defaultport 27017:
- mongo
For more information on connecting using the mongo
shell, such as to connect to a mongod
instance runningon a different host and/or port, see The mongo Shell.
To help you start using MongoDB, MongoDB provides GettingStarted Guides in various driver editions. SeeGetting Started for the available editions.