MongoDB adalah sistem basis data NoSQL lintas platform yang ditulis dalam C++. MongoDB berbeda dari database SQL berbasis tabel tradisional seperti MySQL dan PostgreSQL dan dirancang khusus untuk penyimpanan data volume tinggi. MongoDB menggunakan dokumen mirip JSON dengan skema dinamis dan tidak memerlukan skema standar sebelum Anda menambahkan data ke database. MongoDB gratis, sumber terbuka, dan dilengkapi dengan serangkaian fitur yang kaya termasuk, penyimpanan, replikasi data, kueri Ad-hoc, penyeimbangan muatan, dan banyak lagi.
Dalam tutorial ini, kami akan menjelaskan cara menginstal dan mengamankan MongoDB di CentOS 8.
Prasyarat
- VPS CentOS 8 baru di Platform Cloud Atlantic.net.
- Kata sandi root yang dikonfigurasi di server Anda.
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih CentOS 8 sebagai sistem operasi dengan setidaknya 1GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server CentOS 8 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
dnf update -y
Langkah 2 – Tambahkan Repositori MongoDB
Anda dapat membuatnya dengan perintah berikut:
nano /etc/yum.repos.d/mongodb-org.repo
Tambahkan baris berikut:
[mongodb-org-4.2]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/gpgcheck=1enabled=1gpgkey=https:// www.mongodb.org/static/pgp/server-4.2.asc
Simpan dan tutup file setelah Anda selesai. Selanjutnya, Anda dapat melanjutkan untuk menginstal MongoDB di sistem Anda.
Langkah 3 – Instal MongoDB
Sekarang, Anda dapat menginstal MongoDB hanya dengan menjalankan perintah berikut:
dnf install mongodb-org -y
Setelah instalasi selesai, mulai layanan MongoDB dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start mongodsystemctl aktifkan mongod
Anda sekarang dapat memeriksa status layanan MongoDB menggunakan perintah berikut:
systemctl status mongod
Anda akan melihat output berikut:
● mongod.service - Server Database MongoDB Dimuat:dimuat (/usr/lib/systemd/system/mongod.service; diaktifkan; preset vendor:dinonaktifkan) Aktif:aktif (berjalan) sejak Jum 10-04-2020 10:58:18 EDT; 7 dtk yang lalu Dokumen:https://docs.mongodb.org/manual Proses:2904 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Proses:2902 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (kode=keluar, status=0/SUCCESS) Proses:2899 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (kode=keluar, status=0/SUCCESS) Proses :2897 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS) PID Utama:2906 (mongod) Memori:77.0M CGroup:/system.slice/mongod.service 2906 /usr/bin/mongod -f /etc/mongod.conf 10 April 10:58:17 centos8 systemd[1]:Memulai Server Database MongoDB... 10 April 10:58:17 centos8 mongod[2904]:about untuk fork proses anak, tunggu sampai server siap untuk koneksi. 10 April 10:58:17 centos8 mongod[2904]:proses bercabang:2906Apr 10 10:58:18 centos8 mongod[2904]:proses anak dimulai dengan sukses, induk keluar 10 April 10:58:18 centos8 systemd[1]:Memulai Server Database MongoDB.
Sekarang, MongoDB sedang berjalan dan mendengarkan pada port 27017. Anda dapat memverifikasinya dengan perintah berikut:
netstat -pnltu | grep 27017
Anda akan mendapatkan output berikut:
tcp 0 0 127.0.0.1:27017 0.0.0.0:* DENGARKAN 2906/mongod
Anda juga dapat mengakses shell MongoDB dengan perintah berikut:
mongo
Anda akan mendapatkan output berikut:
MongoDB shell versi v4.2.5menghubungkan ke:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbSesi implisit:sesi { "id" :UUID("b0f7656f-f939-4f50-87d2-01cbeca0849a") }Versi server MongoDB:4.2.5Selamat datang di shell MongoDB.Untuk bantuan interaktif, ketik "help".Untuk dokumentasi yang lebih komprehensif, lihat http://docs.mongodb.org/Questions? Coba grup dukungan http://groups.google.com/group/mongodb-userServer memiliki peringatan startup:2020-04-10T10:58:18.521-0400 I CONTROL [initandlisten]2020-04-10T10:58:18.521-0400 SAYA KONTROL [initandlisten] ** PERINGATAN:Kontrol akses tidak diaktifkan untuk database.2020-04-10T10:58:18.521-0400 I CONTROL [initandlisten] ** Akses baca dan tulis ke data dan konfigurasi tidak dibatasi.2020-04 -10T10:58:18.521-0400 SAYA KONTROL [initandlisten]2020-04-10T10:58:18.521-0400 I CONTROL [initandlisten]2020-04-10T10:58:18.521-0400 SAYA KONTROL [initdlisten] ** PERINGATAN:/ sys/kernel/mm/transparent_hugepage/enabled adalah 'selalu'.2020-04-10T10:58:18.521-0400 I CONTROL [initandlisten] ** Sebaiknya atur ke 'tidak pernah'2020-04-10T10:58:18.522- 0400 I CONTROL [initandlisten]---Mengaktifkan layanan pemantauan berbasis cloud gratis MongoDB, yang kemudian akan menerima dan menampilkan metrik tentang penerapan Anda (penggunaan disk, CPU, statistik operasi, dll). Data pemantauan akan b e tersedia di situs web MongoDB dengan URL unik yang dapat diakses oleh Anda dan siapa pun yang Anda bagikan URL tersebut. MongoDB dapat menggunakan informasi ini untuk membuat peningkatan produk dan menyarankan produk MongoDB dan opsi penerapan kepada Anda. Untuk mengaktifkan pemantauan gratis, jalankan perintah berikut:db.enableFreeMonitoring()Untuk menonaktifkan pengingat ini secara permanen, jalankan perintah berikut:db.disableFreeMonitoring() ---
Anda dapat keluar dari shell MongoDB dengan perintah berikut:
>keluar
Langkah 4 – Aktifkan Otentikasi MongoDB
nano /etc/mongod.conf
Tambahkan baris berikut di akhir file:
keamanan:otorisasi:diaktifkan
Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan MongoDB untuk menerapkan perubahan:
systemctl restart mongod
Langkah 5 – Buat Pengguna Admin MongoDB
Selanjutnya, Anda perlu membuat pengguna administratif dengan semua hak istimewa untuk melakukan tugas administratif.
Pertama, akses shell MongoDB dengan perintah berikut:
mongo
Anda akan mendapatkan output berikut:
MongoDB shell versi v4.2.5menghubungkan ke:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbSesi implisit:sesi { "id" :UUID("09e0e028-cd26-4f9d-9270-52b938925f99") }Versi server MongoDB:4.2.5
Selanjutnya ubah database menjadi admin dengan perintah berikut:
> gunakan admin
Selanjutnya, buat pengguna admin MongoDB bernama myadmin dengan perintah berikut:
> db.createUser( { pengguna:"myadmin", pwd:"password", peran:[ { peran:"userAdminAnyDatabase", db:"admin" } ] } )
Setelah pengguna dibuat, Anda akan mendapatkan output berikut:
Selanjutnya, keluar dari shell MongoDB dengan perintah berikut:
>keluar
Langkah 6 – Verifikasi Otentikasi MongoDB
Pada titik ini, MongoDB dikonfigurasi dengan otentikasi. Sekarang Anda akan diminta untuk memberikan nama pengguna dan kata sandi sebelum berinteraksi dengan MongoDB.
Selanjutnya, hubungkan MongoDB tanpa otentikasi:
mongo
Anda akan mendapatkan output berikut:
MongoDB shell versi v4.2.5menghubungkan ke:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbSesi implisit:sesi { "id" :UUID("fecf1846-13fd-4959-91da-5cf323781e13") }Versi server MongoDB:4.2.5
Sekarang, jalankan perintah berikut untuk mendaftar pengguna MongoDB:
> tampilkan pengguna
Anda akan mendapatkan kesalahan berikut:
2020-04-10T11:08:04.598-0400 E QUERY [js] uncaught exception:Error:command usersInfo memerlukan autentikasi :[email protected]/mongo/shell/utils.js:25:[email protected] /mongo/shell/db.js:1638:[email protected]/mongo/shell/utils.js:883:[email protected]/mongo/shell/utils.js:790:15@(shellhelp2):1 :1
Ini menunjukkan bahwa Anda tidak dapat membuat daftar pengguna tanpa mengautentikasi.
Sekarang, keluar dari MongoDB dengan perintah berikut:
>keluar
Langkah 7 – Akses MongoDB dengan Pengguna Administratif
Sekarang, mari kita hubungkan ke MongoDB dengan pengguna administratif:
mongo -u myadmin -p --authenticationDatabase admin
Anda akan diminta untuk memberikan kata sandi admin Anda seperti yang ditunjukkan di bawah ini:
MongoDB shell versi v4.2.5Masukkan kata sandi:
Berikan kata sandi admin Anda dan tekan Enter . Anda akan mendapatkan output berikut:
menghubungkan ke:mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodbSesi implisit:sesi { "id" :UUID("a39f723c-f1b5-4c93-9e67-ff82379dfb62") }Versi server MongoDB :4.2.5
Selanjutnya, ubah database menjadi admin dan daftarkan pengguna dengan perintah berikut:
> gunakan admin> tampilkan pengguna
Anda akan mendapatkan output berikut:
{ "_id" :"admin.myadmin", "userId" :UUID("bcd920c1-63fd-4b82-a8a6-eb6515d51a34"), "user" : admin", " "user" : peran ":[{" peran ":" useradminanydatabase "," db ":" admin "}]," mekanisme ":[" scram-sha-1 "," scram-sha-256 "]}Sekarang, keluar dari shell MongoDB dengan output berikut:
> keluarKesimpulan
Dalam panduan di atas, kita mempelajari cara menginstal MongoDB di CentOS 8. Kami juga telah menunjukkan cara mengaktifkan otentikasi MongoDB dan membuat pengguna administratif. MongoDB Anda di VPS Atlantic.Net Anda sekarang diamankan dengan nama pengguna dan kata sandi – jika Anda tidak memiliki VPS dari Atlantic.Net, mulailah dengan hosting VPS hari ini untuk menginstal MongoDB!
Linux