MongoDB adalah database NoSQL yang menawarkan kinerja tinggi, ketersediaan tinggi, dan penskalaan otomatis dari database tingkat perusahaan. MongoDB adalah database NoSQL, jadi Anda tidak dapat menggunakan SQL (Structured Query Language) untuk menyisipkan dan mengambil data, dan tidak menyimpan data dalam tabel seperti MySQL atau Postgres. Data disimpan dalam struktur "dokumen" dalam format JSON (disebut BSON di MongoDB). MongoDB diperkenalkan pada tahun 2009 dan saat ini sedang dikembangkan oleh MongoDB Inc.
MongoDB hanya menawarkan paket untuk 64-bit LTS (dukungan jangka panjang) versi Ubuntu. Misalnya 14,04 LTS (trusty), 16,04 LTS (xenial), 18,04 LTS (bionic) dan seterusnya.
Dalam tutorial ini saya akan menginstal MongoDB 4.0 di Ubuntu 18.04 LTS.
Prasyarat
- Server Ubuntu 18.04 - 64 bit
- Hak istimewa root
Apa yang akan kita lakukan dalam tutorial ini:
- Instal MongoDB
- Konfigurasi MongoDB
- Kesimpulan
Instal MongoDB di Ubuntu 18.04 LTS
Langkah 1 - Mengimpor Kunci Publik
Kunci GPG dari distributor perangkat lunak diperlukan oleh manajer paket Ubuntu apt (Alat Paket Lanjutan) untuk memastikan konsistensi dan keaslian paket. Jalankan perintah ini untuk mengimpor kunci MongoDB ke server Anda.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4
Langkah 2 - Buat file daftar sumber MongoDB
Buat file daftar MongoDB di /etc/apt/sources.list.d/ dengan perintah ini:
sudo echo "deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Langkah 3 - Perbarui repositori
perbarui repositori dengan perintah apt:
sudo apt-get update
Langkah 4 - Instal MongoDB
Sekarang Anda dapat menginstal MongoDB dengan mengetikkan perintah ini:
sudo apt-get install -y mongodb-org
Pemasang apt MongoDB membuat file mongod.service untuk Systemd secara otomatis, jadi tidak perlu lagi membuatnya secara manual.
Mulai MongoDB dan tambahkan sebagai layanan untuk dimulai saat boot:
sudo systemctl start mongod
sudo systemctl aktifkan mongod
Sekarang periksa apakah MongoDB telah dimulai pada port 27017 dengan perintah netstat.
sudo netstat -plntu
Konfigurasikan nama pengguna dan kata sandi MongoDB
Ketika paket MongoDB diinstal, Anda dapat mengonfigurasi nama pengguna dan kata sandi untuk server database:
Langkah 1 - Buka cangkang mongo
Sebelum menyiapkan nama pengguna dan sandi untuk MongoDB, Anda harus membuka shell MongoDB di server Anda. Anda dapat login dengan mengetik:
mongo
Jika Anda mendapatkan kesalahan Failed global initialization:BadValue Invalid or no user locale set. Harap pastikan variabel lingkungan LANG dan/atau LC_* disetel dengan benar, coba perintah:
export LC_ALL=C
mongo
Langkah 2 - Beralih ke admin database
Setelah Anda berada di shell MongoDB, alihkan ke database bernama admin :
use admin
Langkah 3 - Buat pengguna root
Buat user root dengan perintah ini :
db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})
Deskripsi: Buat admin pengguna dengan kata sandi admin123 dan izinkan/peran sebagai root dan databasenya adalah admin .
Sekarang ketik exit untuk keluar dari shell MongoDB.
exit
Dan Anda kembali ke shell Linux.
Langkah 4 - Aktifkan otentikasi MongoDB
Edit file layanan mongodb '/lib/systemd/system/mongod.service' dengan editor Anda.
sudo nano /lib/systemd/system/mongod.service
Di 'ExecStart ' baris 9, tambahkan opsi baru '--auth '.
ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf
Simpan file layanan dan keluar dari nano.
Muat ulang layanan systemd:
sudo systemctl daemon-reload
Langkah 5 - Mulai ulang MongoDB dan coba sambungkan
Sekarang restart MongoDB dan hubungkan dengan pengguna yang dibuat.
sudo service mongod restart
dan sambungkan ke shell MongoDB dengan perintah ini:
mongo -u admin -p admin123 --authenticationDatabase admin
dan Anda akan melihat output seperti ini:
Aktifkan akses eksternal dan konfigurasikan UFW Firewall
UFW adalah firewall default di Ubuntu. Dalam bab ini, saya akan menunjukkan cara mengkonfigurasi UFW untuk mengizinkan akses eksternal ke MongoDB.
Periksa status UFW
sudo ufw status
Ketika hasilnya adalah:
Status: inactive
Aktifkan UFW dengan perintah ini dan buka port SSH terlebih dahulu jika terhubung dengan SSH:
sudo ufw allow ssh
sudo ufw enable
sebelum Anda melanjutkan ke langkah berikutnya.
Untuk alasan keamanan, Anda harus mengizinkan akses ke port MongoDB 27017 hanya dari alamat IP yang perlu mengakses database. Secara default, localhost selalu dapat mengaksesnya, jadi tidak perlu membuka port MongoDB untuk IP 127.0.0.1.
Sintaks Firewall UFW
sudo ufw allow from <target> to <destination> port <port number>
Buka Port MongoDB di UFW
Untuk mengizinkan akses dari IP eksternal 192.168.1.10 ke MongoDB, gunakan perintah ini:
sudo ufw allow from 192.168.1.10 to any port 27017
Ganti alamat IP pada perintah di atas dengan Ip eksternal yang ingin Anda izinkan untuk mengakses MongoDB.
Jika Anda ingin membuka port MongoDB untuk IP apa pun, mis. jika Anda menjalankannya di jaringan lokal dan semua sistem di jaringan tersebut dapat mengakses MongoDB, gunakan perintah ini:
sudo ufw allow 27017
Periksa status firewall UFW dengan perintah ini:
sudo ufw status
MongoDB mendengarkan localhost secara default, untuk membuat database dapat diakses dari luar, kita harus mengkonfigurasi ulang untuk mendengarkan di alamat IP server juga.
Buka file mongod.conf di editor nano:
sudo nano /etc/mongod.conf
dan tambahkan alamat IP server di baris bind_ip seperti ini:
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,192,168.1.100
Ganti 192.168.1.100 dengan IP server Anda, lalu mulai ulang MongoDB untuk menerapkan perubahan.
sudo service mongod restart
Sekarang Anda dapat mengakses server database MongoDB melalui jaringan.
Gambar Mesin Virtual
Tutorial ini tersedia sebagai mesin virtual siap pakai dalam format OVA / OVF untuk pelanggan Howtoforge. Format VM kompatibel dengan VMWare dan Virtualbox serta alat lain yang dapat mengimpor format ova atau ovf. Anda dapat menemukan tautan unduhan di menu kanan di atas. Klik pada nama file untuk memulai pengunduhan.
Detail login VM adalah:
Masuk SSH
Nama pengguna: administrator
Sandi:howtoforge
Pengguna administrator memiliki izin sudo.
Harap ubah kata sandi setelah boot pertama.
VM dikonfigurasi untuk IP statis 192.168.1.100. Petunjuk tentang cara mengubah IP statis dapat ditemukan di sini.
Kesimpulan
MongoDB adalah database NoSQL terkenal yang menawarkan kinerja tinggi, ketersediaan tinggi, dan penskalaan otomatis. Ini berbeda dengan RDBMS seperti MySQL, PostgreSQL dan SQLite karena tidak menggunakan SQL untuk mengatur dan mengambil data. MongoDB menyimpan data dalam `dokumen` yang disebut BSON (representasi biner JSON dengan informasi tambahan). MongoDB hanya tersedia untuk rilis Ubuntu dukungan jangka panjang 64-bit.