Instal MongoDB Menggunakan Vagrant Di Linux

Vagrant adalah perangkat lunak sumber terbuka yang menyediakan lingkungan pengembangan yang bersih, mudah dikonfigurasi, dapat direproduksi, dan portabel. Menggunakan Vagrant, kita dapat dengan mudah dan cepat membangun dan memelihara lingkungan pengembangan perangkat lunak virtual yang berbeda. Dalam panduan ini, kita akan melihat cara menginstal mongoDB menggunakan Vagrant di sistem operasi Linux.

Apa itu mongoDB? digunakan ketika Anda harus menangani data yang sangat besar. MongoDB menggunakan koleksi dan dokumen untuk menyimpan data. Dokumen adalah kumpulan key-value pair (JSON) yang disimpan di collections.

Di bawah ini adalah contoh dokumen dalam format JSON untuk referensi Anda.

{ title: 'Install MongoDB-5 In Linux Using Vagrant', url: 'https://emka.web.id/', Situs: 'emka', pemilik: 'emka', penulis: 'emka', tags: ['Edisi komunitas', 'Linux', 'NoSQL', 'MongoDB5'], mongo_version: 5 }

The versi terbaru mongoDB adalah 5. MongoDB tersedia dalam dua varian – edisi komunitas dan edisi perusahaan. Pada artikel ini, kita akan Menginstal mongoDB 5 community edition menggunakan Vagrant di Linux.
Prasyarat

Sebelum melanjutkan ke langkah selanjutnya, pastikan Anda telah menginstal Oracle VirtualBox dan Vagrant di mesin Linux Anda. Oracle VirtualBox tersedia di repositori resmi distribusi Linux populer, sehingga Anda dapat menginstalnya menggunakan manajer paket default distribusi Anda.

Dan kemudian, instal Vagrant di sistem Linux Anda seperti yang dijelaskan dalam tautan berikut.
Cara Menginstal Vagrant Di LinuxInisialisasi lingkungan Vagrant

For tujuan panduan ini, saya akan menggunakan Oracle Virtualbox sebagai hypervisor, yang merupakan penyedia default untuk Vagrant. Dan saya menggunakan kotak Vagrant Ubuntu 20.04 untuk menyebarkan mongoDB di dalamnya.

Buat direktori proyek baru untuk MongoB.

$ mkdir mongodb_vagrant

Beralih ke direktori proyek dan inisialisasi lingkungan gelandangan dengan menjalankan perintah berikut:

$ cd mongodb_vagrantm "ubuntufocal64"

Ini akan membuat file Vagrant baru di direktori proyek. Buka Vagrantfile di editor favorit Anda dan salin/tempel baris berikut di dalamnya:

# -*- mode: ruby ​​-*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "ubuntu/focal64" config.vm.box_check_update = false config.vm.define "MongoDB5" config.vm.network "public_network" config.vm.provision "shell", path: "mongo-bootstrap. sh" config.vm.provider "virtualbox" lakukan |v| v.memory = 2048 v.cpus = 2 v.name = "MongoDB-5" end end

Izinkan saya menjelaskan parameter penting dalam kode di atas.

Parameter vm.box menunjuk ke distribusi Linux dasar yang kita gunakan untuk menginstal MongoDB. Dalam kasus kami, ini adalah Ubuntu 20.04 LTS.

config.vm.box = "ubuntu/focal64"

Setiap kali Anda mem-boot VM, Vagrant akan memeriksa apakah ada pembaruan untuk kotak yang digunakan. Mengatur parameter box_check_update = false akan menonaktifkan pemeriksaan pembaruan. Ini opsional! Anda lebih suka memperbarui kotak Vagrant, Anda dapat menghapus baris ini:

config.vm.box_check_update = false

Setiap VM gelandangan ditetapkan dengan default sebagai namanya. Parameter vm.define dapat digunakan untuk menetapkan nama khusus untuk VM Anda. Dalam hal ini, saya telah menetapkan nama menjadi MongoDB5.

config.vm.define "MongoDB5"

Anda dapat menjalankan perintah status global untuk memeriksa nama yang ditetapkan untuk VM:

$ vagrant global-status --prune id name provider state direktori ------------------------------------------------- ------------------------------------------------------- 76c3e81 MongoDB5 virtualbox berjalan /home/ emka/Work/Lab/vagrant/mongodb_vagrant

Parameter berikut menentukan bagaimana jaringan akan diatur untuk VM.

config.vm.network "public_network"

Saya telah menyiapkan Public_network. Saya juga belum memberikan nama antarmuka karena dapat bervariasi dan antarmuka yang akan dihubungkan akan diminta selama gelandangan seperti yang ditunjukkan pada output log di bawah ini.

==> MongoDB5: Antarmuka jaringan yang dijembatani yang tersedia: 1) wlo1 2) eno1 3 ) docker0 ==> MongoDB5: Saat memilih antarmuka, biasanya yang ==> MongoDB5: digunakan untuk terhubung ke internet. ==> MongoDB5: MongoDB5: Antarmuka mana yang harus dijembatani oleh jaringan? 1 ==> MongoDB5: Menyiapkan antarmuka jaringan berdasarkan konfigurasi... MongoDB5: Adaptor 1: nat MongoDB5: Adaptor 2: bridge ==> MongoDB5: Port penerusan... MongoDB5: 22 (guest) => 2222 (host) ( adaptor 1)

Saya telah menggunakan penyedia shell untuk menginstal dan mengatur MongoDB. Nama skripnya adalah mongo-bootstrap.sh. Anda dapat memberi nama skrip sesuai keinginan.

config.vm.provision "shell", path: "mongo-bootstrap.sh"

Parameter berikut akan mengkonfigurasi memori dan CPU untuk mesin virtual Anda. Saya telah mengatur memori ke 2gigs dan 2 Vcores. Anda dapat menambah dan mengurangi nilai dengan memodifikasi parameter v.memory dan v.cpus.

config.vm.provider "virtualbox" do |v| v.memory = 2048 v.cpus = 2 v.name = "MongoDB-5" end

Nama yang ditetapkan untuk parameter v.name adalah apa yang akan ditampilkan di GUI Virtualbox Anda. digunakan untuk menginstal dan mengkonfigurasi mongoDB di kotak gelandangan.

Buat file bernama mongo-bootstrap.sh:

$ vi mongo-bootstrap.sh

Dan tambahkan potongan kode berikut di dalamnya:

#!/usr/bin/env bash # Menambahkan Repo echo "------- ------------------ MENAMBAHKAN REPO ------------------------------ -------" wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list # Memperbarui Indeks Paket dan Menginstal MongoDB-5 echo "------------------- ------- MEMPERBARUI INDEKS PAKET -------------------------------------" sudo apt perbarui echo "-------------------------- INSTALL PAKET ------------------- -------" sudo apt install -y mongodb-org net-tools # Mulai dan Aktifkan Mongod echo "----------------------- -- MULAI & AKTIFKAN MONGOD --------------------------" Sudo systemctl aktifkan --sekarang mongod sleep 20 # Buat gema pengguna "--- ----------------------- BUAT PENGGUNA VAGRANT ------------------------ --" mongosh /etc/mongod.conf #security: security: otorisasi: "enabled" EOB echo "-------------------------- RESTART MONGOD --------------------------" sudo systemctl restart mongod

Tekan ESC dan ketik :wq untuk menyimpan file dan menutupnya.

Izinkan saya memberi Anda deskripsi singkat dari setiap bagian dalam kode di atas.

Secara default, ada versi mongoDB yang lebih lama yang dikirimkan bersama Ubuntu. Jika Anda ingin mongodDB versi terbaru, Anda harus menambahkan repositori resmi di file mongo-bootstrap.sh.

Bagian kode berikut akan menangani penambahan repositori, memperbarui Indeks paket, menginstal mongoDB, dan memunculkan daemon mongod.

Blok kode berikut akan membuat pengguna gelandangan dengan hak istimewa admin. Nama pengguna akan menjadi gelandangan dan kata sandi juga disetel menjadi gelandangan. Anda dapat mengatur nama pengguna dan sandi yang berbeda jika Anda menginginkannya.

Secara default, tidak ada kebijakan keamanan yang diberlakukan. Setiap pengguna dapat memanggil shell mongosh dan mulai menggunakan database. Untuk menerapkan kontrol akses berbasis peran, parameter berikut harus ditambahkan ke /etc/mongod.conf file.

Potongan kode ini akan menangani penambahan parameter dan memulai ulang daemon mongod agar perubahan menjadi efektif.
Heads Up: Sebelum mengaktifkan RBAC (Kontrol akses berbasis peran), pengguna admin harus dibuat, sehingga dia dapat memberikan akses ke pengguna lain di database mana pun.
Mulai mongoDB Vagrant machine

Setelah file Vagrant dan skrip bootstrap dibuat, Anda dapat memulai VM dengan menjalankan perintah berikut command:

$ vagrant up

Sekarang, tunggu sampai mesin di-boot dan instalasi mongoDB dan bagian konfigurasi ditangani oleh skrip bootstrap. Ini akan memakan waktu beberapa menit.

Untuk masuk ke VM, jalankan perintah berikut:

$ gelandangan ssh

MongoDB mendengarkan di port 27017. Anda dapat menggunakan perintah netstat untuk memeriksa apakah port dalam status mendengarkan.

$ sudo netstat -tlnup

Sample output :

Active koneksi Internet (hanya server) Proto Recv-Q Send-Q Alamat Lokal Alamat Asing Negara PID/Nama program tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 3306/mongod

Jalankan perintah berikut untuk memeriksa status mongodservice:
$ systemctl status mongod

Contoh output:

● mongod.service - Server Basis Data MongoDB Dimuat: dimuat (/lib/systemd/system/mongod.service; diaktifkan; preset vendor: diaktifkan) Aktif: aktif (berjalan) sejak Sel 2021- 17-08 10:24:36 UTC; 2 jam 21 menit yang lalu Dokumen: https://docs.mongodb.org/manual PID Utama: 3306 (mongod) Memori: 162,3M CGroup: /system.slice/mongod.service 3306 /usr/bin/mongod --config / etc/mongod.conf

Access mongoDB shell

Mongo shell adalah klien cli untuk terhubung ke mongoDB. Sekarang diganti dengan mongosh klien cli baru dari mongoDB V5.

Run mongosh di terminal untuk mulai menggunakan shell. Karena RBAC diaktifkan, Anda harus memberikan kredensial.

Anda dapat terhubung ke database MongoDB menggunakan monosh menggunakan string koneksi berikut.

$ mongosh mongodb://:@localhost:/

Di sini saya terhubung dengan pengguna gelandangan yang baru dibuat.

 $ mongosh mongodb://vagrant:[email protected]:27017/admin

Atau, Anda dapat memulai shell dan menjalankan perintah berikut untuk terhubung:

$ monosh

$ use admin

$ db.auth(“username”,”password”)

$ db.auth(“vagrant”,”vagrant”)

Manage mongoDB vagrant box dari command line

Perintah gelandangan berikut akan membantu Anda untuk mengelola mongoDB VM melalui CLI:

$ vagrant --global-status --prune # periksa status mesin $ vagrant halt # Hentikan VM $ vagrant destroy # Hancurkan VM dan disk VM terkait. $ gelandangan ssh # Masuk ke Host

Jarak JauhUntuk penggunaan perintah Vagrant yang lebih detail, lihat tutorial Vagrant kami:
Tutorial Vagrant – Memulai Dengan Vagrant Di LinuxConclusion

Dalam panduan langkah demi langkah ini, kita telah melihat cara mengatur mongoDB dengan mudah di kotak Vagrant Ubuntu 20.04. Jika Anda menguji proyek mongoDB atau mempelajari mongoDB, Anda dapat dengan cepat memutar kotak Vagrant dan menginstal mongodDB di kotak Vagrant seperti yang dijelaskan di sini.