Tutorial

Cara Menginstal MongoDB pada Ubuntu 20.04

MongoDBUbuntuNoSQLDatabasesUbuntu 20.04

Versi sebelumnya dari tutorial ini ditulis oleh Melissa Anderson.

Pengantar

MongoDB, juga dikenal sebagai Mongo, adalah basis data dokumen sumber terbuka yang digunakan dalam banyak aplikasi web modern. MongoDB digolongkan sebagai basis data NoSQL karena tidak bergantung pada struktur basis data relasional berbasis tabel tradisional.

Alih-alih, MongoDB menggunakan dokumen seperti JSON dengan skema dinamis, yang berarti bahwa, tidak seperti basis data relasional, MongoDB tidak membutuhkan skema yang sudah ditentukan sebelum Anda menambahkan data ke basis data. Anda dapat mengubah skema kapan saja dan sesering apa pun jika diperlukan tanpa harus menyiapkan basis data baru dengan skema yang diperbarui.

Dalam tutorial ini, Anda akan menginstal MongoDB pada server Ubuntu 20.04, mengujinya, dan mempelajari cara mengelolanya sebagai layanan systemd.

Prasyarat

Untuk mengikuti tutorial ini, Anda akan membutuhkan:

Langkah 1 — Menginstal MongoDB

Repositori paket resmi Ubuntu menyertakan versi stabil dari MongoDB. Meskipun begitu, saat penulisan ini dilakukan, versi dari MongoDB yang tersedia dari repositori Ubuntu asali adalah 3.6, sementara rilis stabil terbaru adalah 4.4.

Untuk memperoleh versi terbaru dari perangkat lunak ini, Anda harus menyertakan repositori paket khusus MongoDB ke sumber APT Anda. Lalu, Anda akan dapat menginstal mongodb-org, meta-paket yang selalu selalu mengarahkan ke versi terbaru MongoDB.

Pertama-tama, impor kunci GPG publik untuk versi stabil terbaru dari MongoDB dengan menjalankan perintah berikut. Jika Anda berniat menggunakan versi dari MongoDB selain 4.4, pastikan untuk mengubah 4,4 dalam bagian URL dari perintah ini untuk menyelaraskan dengan versi Anda ingin instal:

  • curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

cURL adalah alat baris perintah yang tersedia di banyak sistem operasi yang digunakan untuk mentransfer data. Alat ini membaca data apa pun yang disimpan di URL yang dikirimkan kepadanya dan mencetak kontennya ke keluaran sistem. Dalam contoh berikut ini, cURL mencetak konten dari berkas kunci GPG lalu memasukannya ke dalam perintah sudo apt-key add - berikut, sehingga menambahkan kunci GPG ke daftar kunci tepercaya Anda.

Juga, perhatikan bahwa perintah curl ini menggunakan opsi -fsSL, yang secara bersamaan, pada dasarnya memberi tahu cURL untuk menjadi hening. Ini berarti bahwa jika karena alasan tertentu cURL tidak dapat menghubungi server GPG atau server GPG mati, cURL tidak akan secara tidak sengaja menambahkan kode kesalahan yang dihasilkan ke daftar kunci tepercaya Anda.

Perintah ini akan memberikan respons OK jika kunci telah berhasil ditambahkan:

Output
OK

Jika ingin memastikan kunci telah ditambahkan dengan benar, Anda dapat melakukannya dengan mengikuti perintah berikut:

  • apt-key list

Ini akan menghasilkan kunci MongoDB di suatu tempat dalam keluaran:

Output
/etc/apt/trusted.gpg -------------------- pub rsa4096 2019-05-28 [SC] [expires: 2024-05-26] 2069 1EEC 3521 6C63 CAF6 6CE1 6564 08E3 90CF B1F5 uid [ unknown] MongoDB 4.4 Release Signing Key <packaging@mongodb.com> . . .

Di titik ini, instalasi APT Anda masih belum mengetahui lokasi paket mongodb-org tempat Anda perlu menginstal versi terbaru dari MongoDB.

Ada dua lokasi di server Anda yang menjadi tempat APT mencari sumber paket daring yang akan diunduh dan diinstal: berkas sources.list dan direktori sources.list.d. sources.list adalah berkas yang membuat daftar sumber aktif dari data APT, dengan satu sumber per baris dan sumber yang lebih diutamakan dicantumkan terlebih dahulu. Direktori sources.list.d memungkinkan Anda untuk menambah entri sources.list sebagai berkas terpisah.

Jalankan perintah berikut, yang menciptakan berkas di dalam direktori sources.list.d bernama mongodb-org-4.4.list. Konten satu-satunya dalam berkas ini adalah baris tunggal berisi deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse:

  • echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Baris tunggal ini memberi tahu semua hal yang perlu diketahui APT tentang sumber itu dan tempat menemukannya:

  • deb: Ini berarti bahwa entri sumber mereferensikan suatu arsitektur Debian reguler. Dalam kasus lain, bagian dari baris ini mungkin berisi deb-src, yang berarti entri sumber mewakili kode sumber distribusi Debian.
  • [arch=amd64,arm64]: Ini menentukan arsitektur data APT yang harus diunduh. Dalam hal ini, arsitekturnya ditentukan sebagai amd64 dan arm64.
  • https://repo.mongodb.org/apt/ubuntu: Ini adalah suatu URI yang menunjukkan lokasi untuk menemukan data APT. Dalam hal ini, URI mengarah ke alamat HTTPS yang merupakan lokasi repositori MongoDB resmi.
  • focal/mongodb-org/4.4: Repositori Ubuntu dapat memuat beberapa rilis berbeda. Ini menentukan bahwa Anda hanya menginginkan versi 4.4 dari paket mongodb-org yang tersedia untuk rilis focal dari Ubuntu (“Focal Fossa” menjadi nama kode Ubuntu 20.04).
  • multiverse: Bagian ini mengarahkan APT ke salah satu dari empat repositori Ubuntu utama. Dalam hal ini, mengarah ke repositori multiverse.

Setelah menjalankan perintah ini, perbarui indeks paket lokal server Anda sehingga APT tahu tempat menemukan paket mongodb-org:

  • sudo apt update

Setelah itu, Anda dapat menginstal MongoDB:

  • sudo apt install mongodb-org

Ketika diminta, tekan Y lalu ENTER untuk mengonfirmasi bahwa Anda ingin menginstal paket itu.

Ketika perintah selesai, MongoDB akan diinstal di sistem Anda. Namun, MongoDB belum siap digunakan. Selanjutnya, Anda akan memulai dan memastikan MongoDB berjalan dengan benar.

Langkah 2 — Memulai Layanan MongoDB dan Menguji Basis Data

Proses instalasi yang dijelaskan dalam langkah sebelumnya secara otomatis mengonfigurasi MongoDB untuk berjalan sebagai suatu daemon yang dikendalikan oleh systemd, yang berarti Anda dapat mengelola MongoDB menggunakan berbagai perintah systemctl. Namun, prosedur instalasi ini tidak secara otomatis memulai layanan.

Jalankan perintah systemctl berikut untuk memulai layanan MongoDB:

  • sudo systemctl start mongod.service

Kemudian, periksa status layanan. Perhatikan bahwa perintah ini tidak menyertakan .service dalam definisi berkas layanan. systemctl akan menambah akhiran ini ke argumen apa pun yang Anda masukkan secara otomatis jika akhiran ini tidak ada, sehingga Anda tidak perlu menambahkannya:

  • sudo systemctl status mongod

Perintah ini akan merespons dengan keluaran seperti berikut ini, yang mengindikasikan bahwa layanan sudah aktif dan berjalan:

Output
● mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2020-06-09 12:57:06 UTC; 2s ago Docs: https://docs.mongodb.org/manual Main PID: 37128 (mongod) Memory: 64.8M CGroup: /system.slice/mongod.service └─37128 /usr/bin/mongod --config /etc/mongod.conf

Setelah mengonfirmasi bahwa layanan berjalan sesuai harapan, aktifkan layanan MongoDB untuk memulai saat boot:

  • sudo systemctl enable mongod

Anda dapat memverifikasi lebih lanjut bahwa basis data beroperasi dengan menghubungkannya ke server basis data dan mengeksekusi perintah diagnostik. Perintah berikut akan menghubungkannya ke basis data dan memberikan keluaran versi server saat ini, alamat server, dan portanya. Ini juga akan memberikan hasil dari perintah connectionStatus internal MongoDB:

  • mongo --eval 'db.runCommand({ connectionStatus: 1 })'

connectionStatus akan memeriksa dan memberikan status koneksi basis data. Nilai 1 untuk bidang ok dalam respons mengindikasikan bahwa server berjalan sesuai harapan:

Output
MongoDB shell version v4.4.0 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("1dc7d67a-0af5-4394-b9c4-8a6db3ff7e64") } MongoDB server version: 4.4.0 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

Juga, perhatikan bahwa basis data berjalan di porta 27017 di 127.0.0.1, alamat loopback lokal yang mewakili localhost. Ini adalah nomor porta asali dari MongoDB.

Selanjutnya, kita akan membahas cara mengelola instans server MongoDB dengan systemd.

Langkah 3 — Mengelola Layanan MongoDB

Seperti disebutkan sebelumnya, proses instalasi yang diuraikan dalam Langkah 1 mengonfigurasi MongoDB untuk berjalan sebagai layanan systemd. Ini berarti Anda dapat mengelolanya menggunakan perintah systemctl standar sebagaimana Anda melakukannya dengan layanan sistem Ubuntu lainnya.

Seperti disebutkan sebelumnya, perintah systemctl status memeriksa status layanan MongoDB:

  • sudo systemctl status mongod

Anda dapat menghentikan layanan kapan pun dengan mengetik:

  • sudo systemctl stop mongod

Untuk memulai layanan saat berhenti, jalankan:

  • sudo systemctl start mongod

Anda juga dapat memulai ulang server saat sudah berjalan:

  • sudo systemctl restart mongod

Dalam Langkah 2, Anda telah mengaktifkan MongoDB untuk memulai secara otomatis dengan server. Jika Anda ingin menonaktifkan pemulaian otomatis ini, ketikkan:

  • sudo systemctl disable mongod

Kemudian, untuk mengaktifkan kembali agar memulai saat boot, jalankan perintah enable kembali:

  • sudo systemctl enable mongod

Untuk informasi lebih lanjut tentang cara mengelola layanan systemd, lihat Hal Esensial Systemd: Bekerja dengan Layanan, Unit, dan Jurnal.

Kesimpulan

Dalam tutorial ini, Anda telah menambahkan repositori MongoDB resmi ke dalam instans APT, dan menginstal versi terbaru dari MongoDB. Kemudian, Anda telah menguji fungsionalitas Mongo dan mempraktikkan beberapa perintah systemctl.

Sebagai langkah selanjutnya, kami sangat menyarankan agar Anda memperkuat keamanan instalasi MongoDB dengan mengikuti panduan kami tentang Cara Mengamankan MongoDB pada Ubuntu 20.04. Setelah diamankan, Anda dapat mengonfigurasi MongoDB untuk menerima koneksi jauh.

Anda dapat menemukan tutorial lebih lanjut tentang cara mengonfigurasi dan menggunakan MongoDB di artikel komunitas DigitalOcean ini. Kami juga menyarankan Anda untuk melihat dokumentasi MongoDB yang resmi, karena itu merupakan sumber daya yang tepat mengenai kemungkinan yang diberikan MongoDB.

Creative Commons License