Senin, 13 April 2020

Panduan Instalasi dan Konfigurasi MongoDB di Ubuntu 18.04

Tags

instal_mongodb_ubuntu_18.04

MongoDB adalah general-purpose, berbasis dokumen, dan non-SQL database yang ditujukan untuk membangun aplikasi modern di era cloud ini. Database ini sepenuhnya gratis untuk digunakan karena dibangun berdasarkan open source software.

Dalam tutorial ini, kita akan belajar memasang MongoDB di mesin Ubuntu 18.04, membuat new database user, dan menambahkan beberapa data ke dalamnya menggunakan shell MongoDB. Selain itu juga cara menghapus MongoDB jika dirasa sudah tidak diperlukan lagi.

Instal MongoDB

Hal pertama mari kita instal MongoDB. Karena disini saya menggunakan Ubuntu 18.04, menginstal software MongoDB bisa menggunakan repositori default yang disertakan sistem operasi. Buka terminal dan jalankan perintah untuk memastikan daftar paket pada sistem sudah mutakhir:

$sudo apt update

Setelah selesai, instal MongoDB dengan menjalankan perintah ini:

$sudo apt install mongodb

Verifikasi Database.

MongoDB sekarang sudah terinstal dan mestinya harus berjalan secara otomatis di latar belakang menggunakan systemctl. Silahkan gunakan perintah berikut untuk memeriksa statusnya:

$sudo systemctl status mongodb

Jika MongoDB berjalan dan bekerja dengan benar, mestinya akan keluar output yang mirip dengan ini:

Output
 
 mongodb.service - An object/document-oriented database
   Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-13-04 12:39:05 CDT; 1 days ago
     Docs: man:mongod(1)
 Main PID: 871 (mongod)
   CGroup: /system.slice/mongodb.service
           └─871 /usr/bin/mongod --config /etc/mongodb.conf

Jika output sukses seperti diatas tidak keluar, maka layanan systemctl bisa dimulai secara manual:

$sudo systemctl start mongodb

Langkah terakhir adalah mengaktifkan MongoDB untuk memulai secara otomatis setiap kali sistem booting. Jalankan perintah berikut:

$sudo systemctl enable mongodb

MongoDB servis sekarang aktif dan berjalan menggunakan systemctl. Sebagai referensi untuk menghentikan servis bisa menggunakan perintah sudo systemctl stop mongodb.

Menyesuaikan Firewall

Tahap ini adalah opsional. Tetapi jika ingin menjalankan aplikasi web dan database di server yang sama, sangat disarankan untuk menyesuaikan firewall. Saya berasumsi bahwa pengaturan server awal telah selesai dilakukan dan firewall juga sudah aktif.

Yang pertama dan terpenting adalah mengizinkan akses ke MongoDB pada port default-nya 27017. Untuk mengizinkannya jalankan perintah berikut:

$sudo ufw allow 27017

Untuk mengizinkan akses ke server MongoDB dari sumber tepercaya seperti server hosting aplikasi web lain, jalankan perintah berikut:

$sudo ufw allow from ip_server_lainnya/32 to any port 27017

Untuk memverifikasi perubahan, jalankan:

$sudo ufw status

Kita bisa melihat output berikut:

Status: active

To                         Action      From
--                         ------      ----
27017                      ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
27017 (v6)                 ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

Cara Mengelola MongoDB Servis

Di bagian ini, mari kita pelajari beberapa perintah yang akan membantu dalam mengelola layanan systemctl MongoDB.

Perintah ini akan memberi status servis systemctl saat ini:

sudo systemctl status mongodb

Dan akan menampilkan output yang mirip dengan ini:

Output
 
 mongodb.service - An object/document-oriented database
   Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-13-04 12:39:05 CDT; 1 days ago
     Docs: man:mongod(1)
 Main PID: 871 (mongod)
   CGroup: /system.slice/mongodb.service
           └─871 /usr/bin/mongod --config /etc/mongodb.conf

Perintah ini akan menghentikan servis sepenuhnya:

sudo systemctl stop mongodb

Untuk memulai servis lagi, gunakan perintah ini:

$sudo systemctl start mongodb

Perintah systemctl restart akan, pertama menghentikan servis dan kemudian memulainya lagi (bisa juga untuk memulai MongoDB jika belum berjalan):

$sudo systemctl restart mongodb

Untuk menghentikan servis MongoDB agar tidak berjalan secara otomatis saat sistem booting, jalankan perintah ini:

$sudo systemctl disable mongodb

Dan jika ingin servis MongoDB mulai ketika sistem booting, gunakan perintah ini:

$sudo systemctl enable mongodb

Keenam perintah systemctl di atas akan membuat pengelolaan database MongoDB akan menjadi lebih mudah.

Buat User Root Database

Setelah MongoDB diinstal dan siap digunakan, kita dapat membuat akun root database dengan nama pengguna dan kata sandi unik. Tahapan ini akan memberi kita akses root untuk melakukan apa pun yang dibutuhkan dalam instance MongoDB.

Pertama, buka shell MongoDB:

$mongo

Dan kemudian beralih ke admin database dengan perintah berikut di dalam shell MongoDB:

> use admin

Buat pengguna root baru dengan perintah ini (ganti teks kuning dengan kredensial yang ingin digunakan):

> db.createUser({user:"admin123", pwd:"password", roles:[{role:"root", db:"admin"}]})

Agar perubahan tersebut berlaku, servis MongoDB harus direstart. Pertama, keluar dari shell MongoDB dengan cara mengetik CTRL + C). Kemudian, restart servis MongoDB dengan perintah ini:

$sudo systemctl restart mongodb

Pengguna baru sekarang sudah dibuat. Di bagian selanjutnya, kita akan terhubung ke database menggunakan pengguna tersebut dan kita coba untuk membuat database baru.

Koneksi ke MongoDB dan Buat Database Baru

Untuk menggunakan pengguna baru yang sudah dibuat di langkah sebelumnya, jalankan perintah berikut di terminal (bukan di mongo shell):

$mongo -u admin123 -p password --authenticationDatabase admin

Perintah itu akan membuka mongo shell sebagai pengguna terotentikasi. Selanjutnya buat database baru dan kita coba juga untuk menambahkan beberapa data ke dalamnya.

Pertama, gunakan perintah show dbs untuk menampilkan semua database yang telah dibuat pada instance MongoDB:

> show dbs

Hanya admin dan basis data lokal yang akan muncul karena kita belum membuat basis data:

Output
 
> show dbs
admin    0.078GB
local    0.078GB

Untuk membuat database, gunakan perintah berikut (ganti teks kuning dengan apa pun nama database yang diinginkan):

> use namaDatabse

Perintah ini memberitahu MongoDB untuk menggunakan database dengan nama tersebut. Basis data tidak akan dibuat sampai ada penambahan data ke dalamnya. Jadi, mari kita lanjutkan dengan mengeksekusi perintah di bawah ini yang akan membuat collection bernama produk dan menambahkan dokumen ke dalamnya dengan nama: "sepatu":

> db.products.save({name: "sepatu"})

Untuk mengambil semua item dalam collection produk bisa menggunakan perintah ini:

> db.products.find()

Output akan terlihat mirip di bawah ini:

Output
 
{ "_id" : ObjectId("5da949af258b2baeb57283c0"), "name" : "sepatu" }

Dan karena database baru sudah memiliki data di dalamnya sekarang, maka sekali lagi kita coba menjalankan perintah show dbs:

Output
 
> show dbs
admin            0.078GB
local            0.078GB
namaDatabase    0.078GB

Nah! database baru kita telah muncul dan menyimpan beberapa data di dalamnya.

Uninstall MongoDB

Untuk menghapus MongoDB dari mesin Ubuntu 18.04 bisa menggunakan beberapa perintah berikut.
Pertama, pastikan terlebih dahulu untuk menghentikan layanan systemctl:

$sudo service mongodb stop

Jika layanan MongoDB sudah berhenti, gunakan perintah apt purge untuk sepenuhnya menghapus MongoDB dari sistem:

$sudo apt-get purge mongodb*

MongoDB juga membuat file log di sistem dan karena kita sudah tidak memerlukannya lagi hapus juga menggunakan perintah berikut:

$sudo rm -r /var/log/mongodb
$sudo rm -r /var/lib/mongodb

Setelah itu, MongoDB akan sepenuhnya dihapus dari sistem.


EmoticonEmoticon