Sebelum menulis query pertama, komputer kita membutuhkan proses server MongoDB yang berjalan: program bernama mongod (MongoDB Daemon) yang menyimpan data, memproses perintah, dan menerima koneksi dari client. Chapter ini memandu kita memasang MongoDB Community 9.0 — edisi gratis dan open source — di Ubuntu/Debian, macOS, dan Windows, lalu menjalankan mongod beserta file konfigurasinya.
Peta langkah yang akan kita tempuh:
- Memasang paket resmi dari repositori MongoDB (
apt, Homebrew, atau MSI). - Menjalankan
mongodsebagai layanan sistem maupun secara manual. - Membaca file konfigurasi YAML dasar.
- Menguji instalasi dengan perintah sederhana.
Instalasi di Ubuntu / Debian #
Repositori bawaan distribusi Linux umumnya berisi versi lama atau tidak menyediakan MongoDB sama sekali, jadi kita memakai repositori resmi repo.mongodb.org yang selalu membawa versi terbaru (9.0 saat Course ini ditulis).
Pertama, pasang prasyarat dan impor kunci GPG MongoDB:
sudo apt-get install gnupg curl
curl -fsSL https://pgp.mongodb.com/server-9.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-9.gpg --dearmorKemudian daftarkan repositori. Baris berikut memakai codename noble (Ubuntu 24.04); sesuaikan dengan distribusi kita — jammy untuk Ubuntu 22.04, atau trixie dengan komponen main untuk Debian 13:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-9.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/9.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-9.0.listTerakhir, muat ulang indeks paket dan pasang MongoDB:
sudo apt-get update
sudo apt-get install -y mongodb-orgPaket mongodb-org adalah metapackage yang menarik beberapa komponen sekaligus:
| Paket | Isi |
|---|---|
mongodb-org-server | Binary mongod (server) |
mongodb-org-mongos | Binary mongos (router untuk sharded cluster) |
mongodb-org-tools | Utilitas impor/ekspor seperti mongodump, mongorestore |
mongodb-mongosh | Shell mongosh (dibahas tuntas di Chapter terpisah) |
Instalasi di macOS #
Instalasi di macOS menggunakan Homebrew dari tap resmi MongoDB:
brew tap mongodb/brew
brew trust mongodb/brew
brew install [email protected]Tiga perintah tersebut melakukan hal berbeda: tap menambahkan repositori formula MongoDB ke Homebrew, trust menandai tap sebagai sumber tepercaya, dan install memasang binary mongod versi 9.0. Homebrew otomatis memilih varian Mac Intel maupun Apple Silicon.
Instalasi di Windows #
Windows memakai installer grafis berbentuk berkas MSI. Unduh installer dari mongodb.com/try/download/community , lalu pada formulir unduhan pilih:
- Version:
9.0.x(Current), - Platform:
Windows x64, - Package:
msi.
Jalankan berkas .msi yang terunduh, lalu ikuti wizard:
- Pilih tipe setup Complete untuk lokasi dan komponen bawaan.
- Pada langkah Service Configuration, biarkan opsi Install MongoD as a Service tercentang. Installer akan mendaftarkan layanan bernama
MongoDB, membuat direktori data dan log, lalu menyalakan server begitu instalasi selesai. - Opsi Install MongoDB Compass boleh diabaikan sekarang — kita bahas Compass di Chapter tersendiri.
Setelah terpasang, layanan bisa dikelola dari terminal administrator:
net start MongoDB
net stop MongoDBMenjalankan mongod #
Sebagai layanan sistem (Linux) #
Paket apt mendaftarkan mongod sebagai layanan systemd, tetapi tidak otomatis menyalakannya. Jalankan dan aktifkan agar ikut menyala saat boot:
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongodStatus active (running) menandakan server hidup dan mendengarkan port 27017. File konfigurasi berada di /etc/mongod.conf, data di /var/lib/mongodb, dan log di /var/log/mongodb/mongod.log.
Sebagai layanan Homebrew (macOS) #
brew services start [email protected]
brew services stop [email protected]Homebrew menjalankan mongod di latar belakang dan membaca konfigurasi dari /opt/homebrew/etc/mongod.conf (Apple Silicon) atau /usr/local/etc/mongod.conf (Intel).
Manual dengan –dbpath #
Menjalankan mongod secara manual membantu kita memahami apa yang terjadi. Buat dahulu direktori data, lalu nyalakan server dengan opsi --dbpath:
mkdir -p ~/mongo-data
mongod --dbpath ~/mongo-dataBila berjalan mulus, log di terminal memunculkan baris kunci berikut (contoh ini diambil dari instance latihan pada port 28017; tanpa opsi --port, nilai yang tampil adalah 27017):
{"t":{"$date":"2026-10-17T13:14:41.790+00:00"},"s":"I","c":"NETWORK","id":23016,"ctx":"listener","msg":"Waiting for connections","attr":{"port":28017,"ssl":"off"}}Server berjalan di latar depan; hentikan dengan Ctrl+C saat berlatih. Direktori data harus ada sebelum server dinyalakan — jika tidak, mongod langsung berhenti dengan pesan galat:
{"t":{"$date":"2026-10-17T13:14:36.451+00:00"},"s":"E","c":"CONTROL","id":20557,"ctx":"initandlisten","msg":"DBException in initAndListen, terminating","attr":{"error":"NonExistentPath: Data directory /tmp/direktori-belum-ada not found. Create the missing directory or specify another path using (1) the --dbpath command line option, or (2) by adding the 'storage.dbPath' option in the configuration file."}}File konfigurasi YAML #
Daftar opsi baris perintah yang panjang cepat menjadi sulit dibaca. Karena itu instalasi resmi memakai file konfigurasi YAML — di Linux /etc/mongod.conf — yang dimuat lewat mongod --config <berkas>. Berikut contoh isinya:
storage:
dbPath: /var/lib/mongodb
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
net:
port: 27017
bindIp: 127.0.0.1Mari kita baca arti setiap blok:
storage.dbPath— direktori tempat berkas data WiredTiger disimpan; padanan opsi--dbpath.systemLog— tujuan log berkas, lokasinya, danlogAppend: trueagar log baru ditambahkan, bukan menimpa yang lama.net.port— port yang didengarkan server;27017adalah bawaan MongoDB.net.bindIp— alamat yang diizinkan menerima koneksi. Nilai127.0.0.1berarti hanya komputer lokal; ubah hanya bila client lain harus terhubung.
Setiap opsi baris perintah punya pasangan kunci YAML, jadi file ini menjadi satu sumber kebenaran konfigurasi server. Perubahan isi baru berlaku setelah mongod dijalankan ulang.
Uji Cepat Instalasi #
Tutup proses instalasi dengan dua pemeriksaan singkat. Pertama pastikan binary dikenali dan versinya benar:
mongod --versionOutput yang Dihasilkan:
db version v9.0.2
Build Info: {
"version": "9.0.2",
"gitVersion": "c4d309807b94ac30edcca32e35e88a9598eadfc8",
"openSSLVersion": "OpenSSL 3.5.7 9 Jun 2026",
"modules": [],
"allocator": "tcmalloc-google",
"javascriptEngine": "mozjs-wasm",
"environment": {
"distmod": "debian13",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}Kedua, pastikan server hidup dan merespons perintah dari mongosh (versi lengkap pemeriksaan ada di Chapter Verifikasi Instalasi):
db.version()Output yang Dihasilkan:
9.0.2db.adminCommand({ ping: 1 })Output yang Dihasilkan:
{
ok: 1,
'$clusterTime': {
clusterTime: Timestamp({ t: 1792243653, i: 1 }),
signature: {
hash: Binary.createFromBase64('AAAAAAAAAAAAAAAAAAAAAAAAAAA=', 0),
keyId: Long('0')
}
},
operationTime: Timestamp({ t: 1792243653, i: 1 })
}Dua hasil tersebut menandakan instalasi selesai: versi server 9.0.2 dan nilai ok: 1 yang membuktikan server menjawab perintah. Nilai clusterTime dan operationTime adalah cap waktu replika yang berubah setiap eksekusi — bentuk keluarannya yang penting, bukan angkanya.
Rangkuman #
- MongoDB Community 9.0 dipasang lewat repositori resmi
repo.mongodb.org(Ubuntu/Debian), tapmongodb/brew(macOS), atau installer MSI (Windows). mongodadalah proses server; jalankan sebagai layanan (systemctl/brew services) untuk pemakaian rutin, atau manual dengan--dbpathuntuk belajar.- Direktori data wajib dibuat sebelum
mongoddinyalakan; galatNonExistentPathmenandakan direktori belum ada. - File konfigurasi YAML (
mongod.conf) menggantikan opsi baris perintah dan dibaca lewatmongod --config. - Kombinasi
mongod --version,db.version(), dandb.adminCommand({ ping: 1 })cukup untuk memastikan instalasi sehat.