MongoDB adalah database dokumen yang bebas dan open-source. MongoDB adalah milik keluarga database NoSQL, yang berbeda dari database SQL tradisional berbasis tabel seperti MySQL dan PostgreSQL.

Dalam MongoDB, data disimpan dalam dokumen yang fleksibel, seperti JSON di mana field dapat bervariasi dari satu dokumen ke dokumen lainnya. Database tidak memerlukan skema yang telah ditentukan dan struktur data dapat diubah seiring waktu.

Dalam tutorial ini, kita akan membahas proses menginstal dan mengkonfigurasi versi terbaru MongoDB Community Edition pada mesin Ubuntu 18.04 dari repositori resmi MongoDB.

Sebelum melanjutkan dengan tutorial ini, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo.

Install MongoDB

Pada saat menulis artikel ini, versi terbaru MongoDB adalah versi 4.0.

Sebelum melanjutkan panduan proses instalasi, buka halaman dokumentasi MongoDB terlebih dahulu dan periksa apakah ada rilis baru yang tersedia.

Langkah-langkah berikut menjelaskan cara menginstal MongoDB di server Ubuntu Anda:

  1. Pertama, tambahkan kunci GPG MongoDB ke sistem Anda menggunakan perintah berikut:
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

    Setelah kunci diimpor, tambahkan repositori MongoDB dengan menggunakan perintah berikut :

    sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

    Jika Anda mendapatkan pesan error yang mengatakan add-apt-repository command not found , solusinya adalah instal paket software-properties-common.

    Untuk menginstal versi MongoDB yang lebih lama, cukup ganti 4.0 dengan versi pilihan Anda.

  2. Untuk dapat menginstal paket dari repositori MongoDB Anda harus memperbarui daftar paket terlebih dahulu:
    sudo apt update

    Sekarang repositori telah diaktifkan dan daftar paket diperbarui, Anda dapat menginstal paket mongodb-org dengan mengetik:

    sudo apt install mongodb-org

    Paket-paket berikut ini akan diinstal pada sistem Anda sebagai bagian dari paket mongodb-org:

    • mongodb-org-server – Daemon mongod dan konfigurasi init scripts yang sesuai.
    • mongodb-org-mongos – daemon mongos.
    • mongodb-org-shell – Shell mongo adalah antarmuka JavaScript interaktif untuk MongoDB. Shell ini digunakan untuk melakukan tugas administratif melalui baris perintah.
    • mongodb-org-tools – Berisi beberapa tools MongoDB untuk mengimpor dan mengekspor data, statistik, serta utilitas lainnya.
  3. Setelah instalasi selesai, jalankan daemon MongoDB dan aktifkan untuk memulai saat booting dengan mengetik:
    sudo systemctl start mongod
    sudo systemctl enable mongod
  4. Untuk memverifikasi apakah instalasi telah selesai dengan sukses, kita akan terhubung ke server database MongoDB menggunakan alat mongo dan melihat status koneksi:
    mongo --eval 'db.runCommand({ connectionStatus: 1 })'

    Outputnya akan terlihat seperti ini:

    MongoDB shell version v4.0.10
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 4.0.10
    {
      "authInfo" : {
        "authenticatedUsers" : [ ],
        "authenticatedUserRoles" : [ ]
      },
      "ok" : 1
    }

    Nilai 1 untuk field ok artinya telah berhasil.

Konfigurasi MongoDB

MongoDB menggunakan file konfigurasi yang di tulis dalam bahasa YAML. Anda dapat mengonfigurasi instance MongoDB Anda dengan mengedit file /etc/mongod.conf.

Pengaturan konfigurasi default sudah cukup baik untuk sebagian besar pengguna. Namun, untuk lingkungan produksi, disarankan untuk sedikit mengubah bagian keamanan dan mengaktifkan otorisasi seperti yang ditunjukkan di bawah ini:

nano /etc/mongod.conf
security:
  authorization: enabled

Opsi authorization memungkinkan Role-Based Access Control (RBAC) yang mengatur akses pengguna ke sumber daya dan operasi database. Jika opsi ini dinonaktifkan, setiap pengguna akan memiliki akses ke semua database dan melakukan tindakan apa pun.

Setelah membuat perubahan pada file konfigurasi MongoDB, restart layanan mongod dengan perintah:

sudo systemctl restart mongod

Untuk menemukan informasi lebih lanjut tentang opsi konfigurasi yang tersedia di MongoDB 4.0 kunjungi halaman dokumentasi konfigurasi.

Membuat User Administratif MongoDB

Jika Anda mengaktifkan otentikasi MongoDB, buat user administratif MongoDB yang akan digunakan untuk mengakses dan mengelola instance MongoDB.

Pertama akses mongo shell dengan:

mongo

Setelah Anda berada di dalam shell MongoDB ketik perintah berikut untuk terhubung ke database admin:

use admin
switched to db admin

Gunakan perintah berikut untuk membuat pengguna baru bernama mongoAdmin dengan peran userAdminAnyDatabase:

db.createUser(
  {
    user: "mongoAdmin", 
    pwd: "gantidenganpassword", 
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
Successfully added user: {
	"user" : "mongoAdmin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

Anda dapat memberi nama pengguna MongoDB administratif seperti yang Anda inginkan.

Keluar dari mongo shell dengan mengetik:

quit()

Untuk menguji perubahan, akses shell mongo menggunakan pengguna administratif yang telah Anda buat sebelumnya:

mongo -u mongoAdmin -p --authenticationDatabase admin
use admin
switched to db admin

Sekarang cobalah untuk menampilkan pengguna dengan perintah :

show users
{
	"_id" : "admin.mongoAdmin",
	"user" : "mongoAdmin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

Anda juga dapat mencoba mengakses shell mongo tanpa argumen (cukup ketik mongo) dan lihat apakah Anda dapat membuat daftar pengguna menggunakan perintah yang sama seperti di atas.

Kesimpulan

Anda telah belajar cara menginstal dan mengkonfigurasi MongoDB 4.0 di server Ubuntu 18.04 Anda.