MongoDB · 2021-07-16 0

Remote Access MongoDB pada Ubuntu 20.04

Pendahuluan

MongoDB, juga dikenal sebagai Mongo, adalah open source database yang biasa digunakan dalam aplikasi web modern. Secara default, hanya dapat diakses secara lokal dari server. Jika ingin mengelola MongoDB dari komputer lain atau jarak jauh atau ingin menghubungkannya ke server aplikasi terpisah, ada beberapa perubahan yang perlu lakukan pada konfigurasi default. Dalam tutorial ini, akan dijelaskan bagaimana mengakses MongoDB dari komputer jarak jauh. Untuk melakukan ini, perlu mengkonfigurasi firewall agar port yang digunakan oleh MongoDB dapat diakses dari luar. Selain itu perlu mengganti konfigurasi pada file mongodb.conf. Kemudian, tahap akhir, tes akses MongoDB dari komputer lain.

Kebutuhan

  • Server dengan Ubuntu 20.04.
  • MongoDB yang sudah terpasang pada server.
  • Komputer lain untuk akses ke server

Step 1 – Konfigurasi Firewall

Cek port yang digunakan oleh MongoDB dengan command lsof.

sudo lsof -i | grep mongo 

Berikut contoh output dari command di atas:

mongod    42295     mongodb   11u  IPv4 136106     0t0  TCP localhost:27017 (LISTEN)

Jalankan command berikut untuk memberikan akses port agar dapat diakses dari luar server. Ganti trusted_server_ip dengan ip komputer.

sudo ufw allow trusted_server_ip to any port 27017

Untuk verifikasi status perubahan firewall, gunakan command ufw:

sudo ufw status

Berikut contoh output dari command di atas:

Status: active 
 To                         Action      From 
 --                         ------      ---- 
 OpenSSH                    ALLOW       Anywhere 
 27017                      ALLOW       trusted_server_ip
 OpenSSH (v6)               ALLOW       Anywhere (v6)

Step 2 – Konfigurasi file mongodb.conf

Untuk konfigurasi default, MongoDB biasanya ter-bind dengan ip 127.0.0.1, yang berarti MongoDB hanya menerima koneksi dari lokal server. Agar MonogDB dapat diakses dari komputer lain, perlu menambahkan bind dengan public ip server yang dapat diakses oleh komputer lain. Buka mongodb.conf, kemudian konfigurasi bindIp.

sudo nano /etc/mongodb.conf

Tambahkan server ip pada parameter bindIp. Ganti mongodb_server_ip dengan ip server yang dapat diakses oleh komputer lain.

bindIp: 127.0.0.1, mongodb_server_ip

Selanjutnya restart MongoDB dengan command:

sudo systemctl restart mongodb.service

Step 3 – Tes koneksi

Untuk mencoba koneksi ke server MongoDB, gunakan command:

nc -zv mongodb_server_ip 27017

Berikut contoh hasil dari command di atas jika berhasil:

Connection to 192.168.1.124 27017 port [tcp/*] succeeded!