Manager, Developer Education
Versi sebelumnya dari tutorial ini ditulis oleh Melissa Anderson.
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
.
Untuk mengikuti tutorial ini, Anda akan membutuhkan:
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:
OutputOK
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 a
dalah 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.
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:
OutputMongoDB 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
.
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.
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.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!