GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal dan Mengamankan MongoDB 4 di CentOS 8

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:

berhasil menambahkan pengguna:{"user":"myadmin", "roles":[{"role":"userAdMinAnyDatabase", "db":"admin"}]}

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:

> keluar

Kesimpulan

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
  1. Cara Menginstal dan Mengamankan MongoDB di Debian 11

  2. Cara Menginstal MongoDB Pada CentOS 8 / RHEL 8

  3. Cara Menginstal MongoDB 4.4 / 4.2 di CentOS 7 / RHEL 7

  1. Cara Menginstal MongoDB di Ubuntu 20.04 dan CentOS 8

  2. Cara Menginstal FlintCMS di CentOS 7

  3. CentOS / RHEL :Cara Install dan Konfigurasi OpenSSH Server dan Client

  1. Cara Menginstal MongoDB di CentOS 8

  2. Cara menginstal mongodb di RHEL 8 / CentOS 8

  3. Cara Menginstal MongoDB di CentOS 7