Jadi kamu sudah memutuskan untuk menggunakan MongoDB, pilihan yang tepat alternative to MariaDB untuk membangun aplikasi MERN stack, platform analitik, atau sistem berbasis dokumen apa pun, tetapi sudah mentok dengan perintah Linux yang biasa dan berbagai error di terminal.
Tenang saja, panduan ini mencakup semua yang perlu kamu ketahui dari awal hingga akhir untuk menginstal MongoDB di Ubuntu.
MongoDB menggunakan X.Y.Z pengelolaan versi. 8.0 adalah utama seri rilis, dan 8.2 adalah kecil rilis dalam siklus 8.0 tersebut. Rilis minor menambahkan fitur di dalam siklus mayor yang sama dan, mulai dari 8.0, juga tersedia untuk instalasi on-prem pada kasus penggunaan tertentu (misalnya, Search dan Vector Search). MongoDB 8.0 di Ubuntu mendukung 24.04 (Noble), 22.04 (Jammy), dan 20.04 (Focal) pada sistem 64-bit, dengan dukungan ARM64 di platform tertentu.
Prasyarat GnuPG dan Curl
Sebelum menginstal versi resmi mongodb-org paket Ubuntu memerlukan dua prasyarat: GnuPG dan Curl. Alat-alat ini memberi Ubuntu izin untuk mengunduh MongoDB, karena Ubuntu sendiri mongodb paket ini tidak dikelola oleh MongoDB Inc. dan bertentangan dengan yang resmi mongodb-org paket. Jika Anda sudah menginstal mongodb pastikan untuk menghapusnya terlebih dahulu.
Selanjutnya, jalankan perintah sudo apt-get install gnupg curl. Curl adalah alat untuk mengunduh file dari internet dan diperlukan untuk mengambil kunci keamanan MongoDB. GnuPG digunakan oleh Ubuntu untuk memverifikasi keaslian perangkat lunak. Jika GnuPG tidak terpasang, Ubuntu tidak dapat memverifikasi paket MongoDB.
Pastikan terminal Anda berhasil menginstal GnuPG dan Curl. Jika berhasil, tampilannya akan seperti ini:
Mengimpor GPG Key MongoDB
Package manager Ubuntu, yaitu APT, menggunakan GPG key untuk memverifikasi paket sebelum diinstal. Tanpa GPG key ini, Ubuntu tidak mengizinkan repositori MongoDB ditambahkan. Ketik perintah berikut di terminal Anda untuk menambahkan key tersebut:
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
Jika berhasil, output terminal Anda akan terlihat seperti ini:
Singkatnya, perintah ini mengunduh tanda tangan keamanan MongoDB, mengonversinya ke format yang dapat dibaca Ubuntu, lalu menyimpannya di folder sistem yang aman. Berikut penjelasan setiap bagian dari baris perintah tersebut:
- curl -fsSL URL mengunduh key resmi MongoDB
- –dearmor mengonversi key dari format teks ke format biner agar dapat dibaca oleh Ubuntu
- -o /usr/share/keyrings/mongodb-server-8.0.gpg menyimpan file biner ke folder tempat Ubuntu menyimpan key yang dipercaya
Jika setiap perintah dijalankan dengan tepat, GPG key publik akan ditambahkan tanpa masalah. Namun, sebagian pengguna mengalami kendala saat mengunduh MongoDB karena GPG key yang tidak sesuai. Error seperti:
NO_PUBKEY
The following signatures couldn't be verified
public key not available
Muncul ketika Anda tidak mengikuti perintah GPG key sebelumnya dengan tepat, melainkan menggunakan sudo apt-key karena Ubuntu versi terbaru tidak merekomendasikannya.
Menambahkan Repositori MongoDB
Menambahkan repositori MongoDB akan membuat sebuah file yang memberi tahu Ubuntu bahwa paket MongoDB tersedia di alamat internet tertentu. Buat file list di /etc/apt/sources.list.d/mongodb-org-8.0.list dengan menulis baris repositori ke dalamnya menggunakan echo … | sudo tee …
Di sinilah prosesnya menjadi sedikit lebih rumit, karena setiap versi Ubuntu membutuhkan variasi perintah yang berbeda. Berikut ini kita akan membahas cara mengimpor file list pada ketiga versi Ubuntu yang telah disebutkan sebelumnya.
Ubuntu 24.04 (Noble)
Untuk membuat file list di Ubuntu 24.04, cukup jalankan echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list di terminal Anda.
Perintah ini mungkin terlihat rumit, tapi jangan khawatir. Setelah kita uraikan bagian per bagian, semuanya akan jelas.
- echo mencetak teks
- /etc/apt/sources.list.d adalah folder tempat Ubuntu menyimpan definisi sumber perangkat lunak. Setiap file berformat .list di dalam folder ini mengarahkan Ubuntu ke lokasi tertentu untuk mengunduh perangkat lunak
- Secara default, pengguna biasa tidak dapat menulis apa pun ke dalam folder sistem. kaus memberikan izin khusus kepada pengguna untuk menulis teks ke dalam file sistem, sementara menggunakan sudo
- mulia adalah nama kode untuk Ubuntu 24.04. Setiap versi Ubuntu memiliki nama kode, seperti:
| Versi | Nama Kode |
| 20.04 | Fokus |
| 22.04 | Jammy |
| 24.04 | Mulia |
Jika versi Ubuntu yang Anda gunakan tidak sesuai dengan perintah yang tepat, Ubuntu tidak akan mengenali repositori MongoDB.
Ubuntu 22.04 (Jammy)
Menambahkan file list ke Ubuntu Jammy caranya sama, tetapi Anda harus memasukkan perintah dengan mengganti mulia dengan jammyI'd be happy to help translate to Indonesian, but I notice the text to translate appears to be incomplete or unclear. Could you please provide the English text you'd like me to translate?
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Pastikan nama kode yang digunakan sesuai dengan versi Ubuntu Anda, jika tidak perintah akan gagal.
Ubuntu 20.04 (Focal)
Ikuti langkah yang sama di sini, tetapi alih-alih menggunakan mulia or jammy, masukkan focal:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Setelah repositori siap, Anda bisa melanjutkan ke proses instalasi mongodb-org.
Perbarui Database Paket
Setelah repositori dikenali oleh Ubuntu, Anda perlu memuat ulang database paket di dalamnya agar MongoDB ikut tercakup mulai sekarang. Jalankan perintah berikut:
sudo apt-get update
Perintah ini berlaku sama untuk semua versi Ubuntu. Jika dilewati, Ubuntu tidak akan menyertakan MongoDB. Jika perintah berhasil dijalankan, output terminal Anda akan terlihat seperti ini:
Setelah database paket dimuat ulang, saatnya mengunduh paket-paket MongoDB.
Instal MongoDB Community Server
Ada berbagai rilis MongoDB yang bisa diinstal, tetapi kebanyakan pengguna memilih versi stabil terbaru karena lebih andal. Untuk menginstal versi stabil terbaru, jalankan sudo apt-get install -y mongodb-org
Ubuntu kini telah mengunduh paket-paket MongoDB, menginstalnya, membuat akun pengguna dan direktori data untuk MongoDB, serta mendaftarkannya sebagai layanan sistem. Sampai di sini, kita sudah membahas cara mengunduh MongoDB di Ubuntu. Sekarang mari kita jalankan.
Cara Menjalankan MongoDB
Sekarang, agar MongoDB dapat berjalan, kita perlu memberi tahu service manager Ubuntu, yaitu "systemd", untuk mengenali MongoDB sebagai layanan latar belakang. Caranya, ketik perintah berikut di terminal Anda:
sudo systemctl start mongod
Jika perintah berhasil, Ubuntu akan menjalankan MongoDB sebagai aplikasi latar belakang. Namun jika perintah gagal, Anda mungkin akan menerima pesan error seperti Gagal memulai mongod.service.
Hal ini bisa terjadi karena beberapa masalah umum:
- Kesalahan file konfigurasi in /etc/mongod.conf (kesalahan indentasi YAML sering terjadi)
- Konflik Port (port 27017 sudah digunakan)
- Masalah izin akses pada direktori data atau log (var/lib/mongodb atau var/log/mongodb)
- Disk penuh or kondisi filesystem yang rusak
Tiga Perintah untuk Mendiagnosis Masalah
Mudah untuk menduga apa yang salah dengan konfigurasi Anda sehingga MongoDB tidak berjalan, tapi menentukan penyebab pastinya jauh lebih sulit. Berikut tiga cara mudah untuk mendiagnosis sumber error tersebut:
- Periksa status layanan: sudo systemctl status mongod –no-pager
- Periksa log detail (yang paling penting): sudo journalctl -u mongod –no-pager -n 100
- Periksa file log milik MongoDB
Perlu diperhatikan bahwa jika disk Anda penuh atau file sistem rusak, perbaikannya lebih berkaitan dengan perangkat keras daripada perangkat lunak. Jika setup server yang ada sudah ketinggalan zaman, pengguna mungkin perlu mengganti perangkat agar MongoDB dapat berjalan dengan baik.
Jika membeli server fisik bukan pilihan yang sesuai anggaran Anda, pertimbangkan untuk melihat Ubuntu VPS dari Cloudzy, untuk pengalaman server pribadi yang bersih dengan distro Ubuntu pilihan Anda. Layanan ini hadir dengan 24/7 dukungan dan hingga 40Gbps kecepatan jaringan, berkat Penyimpanan NVMe SSD dan DDR5 RAM penyimpanan
Selain itu, latensinya sangat rendah, 99.95% uptime, dan a 14 hari garansi uang kembali. Tak hanya itu, layanan ini juga tersedia di 12 lokasi di seluruh dunia dengan harga yang terjangkau.
Tiga Solusi Paling Umum untuk Menjalankan MongoDB
Tidak ada cara pasti untuk mengetahui masalah spesifik sistem Anda dengan MongoDB sekaligus memperbaikinya dalam satu langkah. Berikut beberapa solusi umum yang bisa Anda coba untuk menjalankan MongoDB.
- Kesalahan indentasi pada konfigurasi YAML. Misalnya Anda telah mengedit /etc/mongod.conf periksa kembali indentasinya dengan menjalankan sudo nano /etc/mongod.conf. File YAML cukup sensitif terhadap spasi, jadi pastikan setiap level hanya menggunakan dua spasi di /etc/mongod.conf.
- Port 27017 sedang digunakan. Jika ada proses lain yang menggunakan port 27017, hentikan proses tersebut atau ubah port MongoDB di mongod.conf. Jika Anda tidak yakin proses apa yang sedang berjalan di port 27017, jalankan saja sudo ss -lntp | grep 27017 untuk mencobanya
- Masalah izin pada direktori data. Terkadang MongoDB tidak memiliki izin yang cukup untuk berjalan di sistem Anda, sehingga sama sekali tidak bisa dijalankan. Pertama, jalankan sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, lalu restart MongoDB dengan sudo systemctl restart mongod
Menurut Situs resmi MongoDB, cara lain untuk mengatasi masalah ini adalah dengan memuat ulang daemon menggunakan sudo systemctl daemon-reload, kemudian jalankan perintah pertama, sudo systemctl start mongod, lagi.
Jika tidak ada mongod.service, proses instalasi tidak menempatkan unit systemd, jadi instal ulang mongodb-org paket diatur.
Setelah semua langkah di atas, Anda bisa memverifikasi apakah MongoDB berhasil berjalan dengan sudo systemctl status mongod. Jika terminal menampilkan aktif (berjalan), semuanya sudah beres. Namun masih ada beberapa konfigurasi tambahan yang bisa membuat pengalaman Anda jauh lebih lancar.
Otomatiskan MongoDB
MongoDB tidak otomatis berjalan setiap kali server dinyalakan; Anda perlu mengulangi beberapa langkah yang disebutkan setiap kali. Sebagai alternatif, Anda dapat mengatur Ubuntu untuk menjalankan MongoDB secara otomatis setelah masuk ke desktop.
Cukup jalankan sudo systemctl enable mongod di terminal Anda. Perintah ini akan menginstruksikan sistem untuk menjalankan MongoDB setiap kali reboot. Selain itu, Anda dapat me-restart proses mongod dengan menjalankan perintah sudo systemctl restart mongod. Pengguna juga dapat memantau proses ini untuk menemukan error atau pesan penting dengan memeriksa output di file:
/var/log/mongodb/mongod.log
Setelah semuanya siap, mari mulai menggunakan mongod Anda.
Membuka Shell MongoDB
Untuk berinteraksi dengan database, pengguna perlu membuka shell MongoDB dengan menjalankan perintah mongosh. Anggap saja ini sebagai terminal khusus untuk MongoDB atau konsol MySQL. Sebagai alternatif, Anda juga bisa berinteraksi dengan MongoDB menggunakan alat GUI, seperti driver MongoDB. Namun jika Anda ingin berinteraksi langsung dari terminal, mongosh adalah pilihan yang tepat untuk itu.
MongoDB Anda kini sudah berfungsi penuh, tetapi ada beberapa langkah tambahan yang perlu dilakukan agar lebih aman.
Aktifkan Autentikasi MongoDB
Secara default, MongoDB tidak memiliki perlindungan kata sandi karena Anda harus sudah memiliki akses untuk membuat pengguna. Berikut cara mudah untuk melakukannya
Buat Pengguna Admin
Pertama, Anda perlu beralih ke database admin dengan:
use admin
Kemudian buat pengguna dengan db.createUser({…}). Isi dengan
- Nama pengguna
- Kata sandi
- Peran
Untuk role, sebaiknya ketik root yang berarti akses penuh atau admin.
Aktifkan Autentikasi
Setelah pengguna kita siap, kita perlu mengedit file /etc/mongod.conf . File ini mengontrol perilaku MongoDB. Perlu diingat, setiap kali Anda mengedit file ini, Anda harus selalu me-restart mongod layanan setelahnya dengan sudo systemctl restart mongod. Yang perlu diubah di sini adalah satu parameter bernama authorization yang terlihat seperti ini:
security:
authorization:
Untuk menyelesaikan proses autentikasi, cukup ubah nilai authorization seperti ini:
security:
authorization: enabled
Mulai sekarang, MongoDB memerlukan login, sehingga autentikasi Anda telah selesai. Mari lanjutkan ke konfigurasi lain yang memanfaatkan MongoDB secara penuh.
Buka Firewall Anda
Seperti yang disebutkan sebelumnya, MongoDB berjalan pada port 27017. Karena firewall memblokir port secara default, Anda perlu memberi tahu firewall untuk mengizinkan aplikasi berjalan pada port 27017. Untuk melakukannya, jalankan perintah berikut:
ufw allow from YOUR_IP to any port 27017
Atau, Anda juga bisa menjalankan perintah ufw allow 27017, tetapi berhati-hatilah, karena menjalankan perintah ini akan mengizinkan seluruh internet mengakses port tersebut. Pilihan pertama lebih aman karena hanya mengizinkan lalu lintas dari alamat IP Anda.
Pengguna mungkin masih menghadapi masalah saat menjalankan MongoDB, seperti masalah akses jarak jauh. Baca terus untuk mengetahui cara mengatasinya.
Masalah Akses Jarak Jauh
MongoDB dijalankan dengan bindIp. bindIp membatasi MongoDB ke 127.0.0.1, yang hanya mengizinkan koneksi lokal. Oleh karena itu, jika Anda mencoba terhubung ke server MongoDB dari lokasi lain, akses akan ditolak, karena secara default MongoDB hanya mengizinkan koneksi lokal kecuali dikonfigurasi sebaliknya.
Kembali ke /etc/mongod.conf, dan Anda akan melihat tiga baris seperti ini:
net:
port: 27017
bindIp: 127.0.0.1
Jika Anda ingin mengizinkan koneksi jarak jauh ke mongod user Anda, ubah nilai di atas seperti ini:
net:
port: 27017
bindIp: 0.0.0.0
Setelah itu, restart mongod layanan dengan sudo systemctl restart mongod seperti setiap kali Anda melakukan perubahan pada file tersebut.
Anda kini telah memberikan mongod izin layanan untuk menerima koneksi jarak jauh. Namun berhati-hatilah, karena dengan melakukan ini, database Anda akan terekspos ke seluruh internet jika Anda belum mengautentikasi mongod user Anda. Banyak bot yang terus-menerus memindai port MongoDB yang terbuka, jadi pastikan user mongod Anda selalu memiliki kata sandi.
Ringkasan Keseluruhan
Selamat, Anda telah menyelesaikan semua langkah untuk membuat layanan MongoDB yang optimal untuk sistem Ubuntu Anda. Berikut juga peta langkah-langkah yang dibahas dalam artikel ini.
| Perintah | Apa Fungsinya |
| apt update | Perbarui daftar perangkat lunak |
| apt pasang | Instal perangkat lunak |
| curl | Unduh file |
| gpg | Kelola kunci enkripsi |
| echo | Cetak teks |
| kaus | Tulis ke file yang dilindungi |
| systemctl start | Mulai layanan |
| systemctl enable | Mulai saat boot |
| systemctl status | Periksa layanan |
| mongosh | Masuk ke shell MongoDB |
| Sunting /etc/mongod.conf | Aktifkan autentikasi |
| ufw | Kelola firewall |
| bindIp | Izinkan akses jarak jauh |
Semoga penjelasan di atas membantu kamu memahami keseluruhan prosesnya. Tapi jika mengatur MongoDB sendiri terasa terlalu rumit, coba jalankan MongoDB VPS untuk server Ubuntu 24.04 LTS pribadi kamu dengan MongoDB yang sudah terpasang.
Dilengkapi dengan 99.95% uptime, 24/7 dukungan, dan sebuah 14 hari garansi uang kembali. Selain itu, mendukung hingga 40 Gbps bandwidth berkat DDR5 RAM dan Penyimpanan NVMe SSD penyimpanannya. Tak perlu khawatir soal lokasi kamu, karena layanan ini juga tersedia di 12 lokasi di seluruh dunia dengan harga terjangkau.
Dengan semua langkah yang sudah dilalui, kamu kini berhasil menyiapkan layanan MongoDB sendiri yang lengkap dengan semua konfigurasi untuk menangani beban kerja dan bisnis tingkat produksi.