Sebelum memulai instalasi MongoDB di Debian server, ada beberapa pengaturan yang perlu dilakukan terlebih dahulu untuk memastikan keamanan dan kinerja server.
Langkah 1: Mengkonfigurasi Sistem
Pertama-tama, kita perlu membuat file servis baru untuk menonaktifkan fitur Transparent Huge Pages (THP) melalui skrip systemd. Jalankan perintah berikut:
sudo nano /etc/systemd/system/disable-thp.service
Paste script berikut ke dalam file:
[Unit]
Description=Disable Transparent Huge Pages (THP)
[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"
[Install]
WantedBy=multi-user.target
Simpan file dan keluar.
Langkah 2: Mengaktifkan Servis
Jalankan perintah berikut untuk merefresh systemd manager, lalu aktifkan servis disable-thp:
sudo systemctl daemon-reload
sudo systemctl enable --now disable-thp.service
Langkah 3: Mengatur Limitas pada MongoDB User
Buat file baru /etc/security/limits.d/mongodb.conf
dengan perintah berikut:
sudo nano /etc/security/limits.d/mongodb.conf
Paste konten berikut ke dalam file:
mongodb soft nofile 65535
mongodb hard nofile 65535
mongodb soft nproc 131072
mongodb hard nproc 131072
Simpan file dan keluar.
Instalasi MongoDB
Sekarang kita dapat memulai instalasi MongoDB. Jalankan perintah berikut:
sudo apt-get update
sudo apt-get install mongodb-server
Konfigurasi MongoDB
Buat file /etc/mongod.conf
dengan perintah berikut:
sudo nano /etc/mongod.conf
Uncomment opsi keamanan dan tambahkan baris berikut untuk mengaktifkan autentikasi:
security:
authorization: enabled
Simpan file dan keluar.
Membuat User Admin
Jalankan perintah berikut untuk membuat user admin baru:
mongo --port 27017 -u "admin" -p
Masukkan password yang kuat, lalu jalankan query berikut untuk membuat user admin baru:
use admin
db.createUser(
{
user: "myAdmin",
pwd: passwordPrompt(),
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
)
Mengaktifkan Autentikasi
Jalankan perintah berikut untuk me-restart MongoDB server dan mengaktifkan autentikasi:
sudo systemctl restart mongod
Membuat Database dan User Baru
Sekarang kita dapat membuat database dan user baru. Jalankan query berikut untuk membuat database baru mydb
:
use mydb
Lalu, buat user baru dengan perintah berikut:
db.createUser(
{
user: "myUser",
pwd: passwordPrompt(),
roles: [ { role: "readWrite", db: "mydb" },
{ role: "read", db: "reporting" } ]
}
)
Menguji Autentikasi
Jalankan perintah berikut untuk menguji autentikasi:
mongo --port 27017 -u "myUser" --authenticationDatabase "mydb" -p
Masukkan password yang kuat, lalu jalankan query berikut untuk memeriksa koneksi ke MongoDB server:
db.runCommand({connectionStatus : 1})
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi MongoDB di Debian server. Anda juga belajar cara membuat user admin baru, mengaktifkan autentikasi, dan membuat database serta user baru untuk aplikasi Anda.