Cara Mudah instal MongoDB di Ubuntu 20.04
Pendahuluan
MongoDB adalah database dokumen yang digunakan dalam banyak aplikasi web modern. Ia diklasifikasikan sebagai database NoSQL karena tidak bergantung pada struktur database relasional berbasis tabel tradisional.
Sebaliknya, MongoDB menggunakan dokumen mirip JSON dengan skema dinamis, yang berarti bahwa, tidak seperti basis data relasional, MongoDB tidak memerlukan skema yang telah ditetapkan sebelum Anda menambahkan data ke basis data. Anda dapat mengubah skema kapan saja dan sesering yang diperlukan tanpa harus menyiapkan basis data baru dengan skema yang diperbarui.
Dalam tutorial ini Anda akan menginstal MongoDB di server Ubuntu 20.04, mengujinya, dan mempelajari cara mengelolanya sebagai systemdlayanan.
Prasyarat
Untuk mengikuti tutorial ini, Anda memerlukan:
Satu server Ubuntu 20.04. Server ini harus memiliki pengguna administratif non-root dan firewall yang dikonfigurasi dengan UFW. Atur ini dengan mengikuti panduan pengaturan server awal kami untuk Ubuntu 20.04 .
Langkah 1 Menginstal MongoDB
Repositori paket resmi Ubuntu menyertakan versi stabil MongoDB. Namun, pada saat tulisan ini dibuat, versi MongoDB yang tersedia dari repositori default Ubuntu adalah 3.6, sementara rilis stabil terbaru adalah 4.4.
Untuk mendapatkan versi terbaru dari perangkat lunak ini, Anda harus menyertakan repositori paket khusus MongoDB ke sumber APT Anda. Kemudian, Anda akan dapat menginstal mongodb-org, meta-paket yang selalu mengarah ke versi terbaru MongoDB.
Untuk memulai, impor kunci GPG publik untuk versi stabil terbaru MongoDB dengan menjalankan perintah berikut. Jika Anda ingin menggunakan versi MongoDB selain 4.4 Pastikan untuk mengubah 4.4 bagian URL perintah ini agar sesuai dengan versi yang ingin Anda instal:
curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
cURL adalah alat baris perintah yang tersedia di banyak sistem operasi yang digunakan untuk mentransfer data. Alat ini membaca data apa pun yang disimpan di URL yang diteruskan kepadanya dan mencetak konten ke keluaran sistem. Dalam contoh berikut, cURL mencetak konten berkas kunci GPG lalu menyalurkannya ke perintah berikut sudo apt-key add -, sehingga menambahkan kunci GPG ke daftar kunci tepercaya Anda.
Perhatikan juga bahwa curlperintah ini menggunakan opsi -fsSLyang, bersama-sama, pada dasarnya memberi tahu cURL untuk gagal secara diam-diam. Ini berarti bahwa jika karena suatu alasan cURL tidak dapat menghubungi server GPG atau server GPG sedang tidak berfungsi, ia tidak akan secara tidak sengaja menambahkan kode kesalahan yang dihasilkan ke daftar kunci tepercaya Anda.
Perintah ini akan kembali OK jika kunci berhasil ditambahkan:
OK
Jika Anda ingin memeriksa ulang apakah kunci telah ditambahkan dengan benar, Anda dapat melakukannya dengan perintah berikut:
apt-key list
Ini akan mengembalikan kunci MongoDB di suatu tempat dalam output:
...
/etc/apt/trusted.gpg
--------------------
pub rsa4096 2019-05-28 [SC] [expires: 2024-05-26]
2069 1EEC 3521 6C63 CAF6 6CE1 6564 08E3 90CF B1F5
uid [ unknown] MongoDB 4.4 Release Signing Key <[email protected]>
. . .
Sampai sini, instalasi APT Anda masih belum tahu di mana menemukan paket mongodb-org yang Anda perlukan untuk menginstal versi terbaru MongoDB.
Ada dua tempat di server Anda tempat APT mencari sumber daring paket untuk diunduh dan diinstal:
berkas sources.list dan direktori sources.list.d . sources.list adalah berkas yang mencantumkan sumber data APT yang aktif, dengan satu sumber per baris dan sumber yang paling disukai dicantumkan terlebih dahulu. Direktori sources.list.dmemungkinkan Anda menambahkan sources.listentri tersebut sebagai berkas terpisah.
Jalankan perintah berikut, yang akan membuat file di sources.list.d direktori bernama mongodb-org-4.4.list. Satu-satunya konten dalam file ini adalah satu baris yang berbunyi deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Baris tunggal ini memberi tahu APT semua hal yang perlu diketahui tentang sumbernya dan di mana menemukannya:
- deb: Ini berarti bahwa entri sumber merujuk pada arsitektur Debian biasa. Dalam kasus lain, bagian baris ini mungkin berbunyi deb-src, yang berarti entri sumber mewakili kode sumber distribusi Debian.
- [ arch=amd64,arm64 ]: Ini menentukan arsitektur tempat data APT akan diunduh. Dalam hal ini, ini menentukan arsitektur amd64dan arm64.
- https://repo.mongodb.org/apt/ubuntu: Ini adalah URI yang menunjukkan lokasi tempat data APT dapat ditemukan. Dalam kasus ini, URI menunjuk ke alamat HTTPS tempat repositori resmi MongoDB berada.
- focal/mongodb-org/4.4: Repositori Ubuntu dapat berisi beberapa rilis yang berbeda. Ini menentukan bahwa Anda hanya menginginkan versi 4.4paket mongodb-orgyang tersedia untuk focalrilis Ubuntu (“Focal Fossa” adalah nama kode Ubuntu 20.04).
- multiverse: Bagian ini mengarahkan APT ke salah satu dari empat repositori utama Ubuntu. Dalam hal ini, bagian ini mengarah ke multiverserepositori .
Setelah menjalankan perintah ini, perbarui indeks paket lokal server Anda sehingga APT tahu di mana menemukan mongodb-orgpaket tersebut:
sudo apt update
Setelah itu, Anda dapat menginstal MongoDB:
sudo apt install mongodb-org
Saat diminta, tekan Y dan kemudian ENTER untuk mengonfirmasi bahwa Anda ingin menginstal paket tersebut.
Setelah perintah selesai, MongoDB akan terinstal di sistem Anda. Namun, MongoDB belum siap digunakan. Selanjutnya, Anda akan memulai MongoDB dan mengonfirmasi bahwa MongoDB berfungsi dengan benar.
Langkah 2 — Memulai Layanan MongoDB dan Menguji Database
Proses instalasi yang dijelaskan pada langkah sebelumnya secara otomatis mengonfigurasi MongoDB untuk berjalan sebagai daemon yang dikontrol oleh systemd, yang berarti Anda dapat mengelola MongoDB menggunakan berbagai perintah systemctl. Jalankan perintah berikut systemctluntuk memulai layanan MongoDB:
sudo systemctl start mongod.service
Kemudian periksa status layanan. Perhatikan bahwa perintah ini tidak disertakan .servicedalam definisi file layanan. systemctl akan menambahkan sufiks ini ke argumen apa pun yang Anda berikan secara otomatis jika belum ada, jadi tidak perlu menyertakannya:
sudo systemctl status mongod
Perintah ini akan mengembalikan output seperti berikut, yang menunjukkan bahwa layanan aktif dan berjalan:
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2020-06-09 12:57:06 UTC; 2s ago
Docs: https://docs.mongodb.org/manual
Main PID: 37128 (mongod)
Memory: 64.8M
CGroup: /system.slice/mongod.service
└─37128 /usr/bin/mongod --config /etc/mongod.conf
Setelah mengonfirmasi bahwa layanan berjalan seperti yang diharapkan, aktifkan layanan MongoDB untuk memulai saat boot:
sudo systemctl enable mongod
Anda dapat memverifikasi lebih lanjut bahwa basis data beroperasi dengan menghubungkan ke server basis data dan menjalankan perintah diagnostik. Perintah berikut akan terhubung ke basis data dan menampilkan versi, alamat server, dan porta terkini. Perintah ini juga akan menampilkan hasil connectionStatusperintah internal MongoDB:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
connectionStatusakan memeriksa dan mengembalikan status koneksi basis data. Nilai 1untuk okbidang dalam respons menunjukkan bahwa server berfungsi sebagaimana mestinya:
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("1dc7d67a-0af5-4394-b9c4-8a6db3ff7e64") }
MongoDB server version: 4.4.0
{
"authInfo" : {
"authenticatedUsers" : [ ],
"authenticatedUserRoles" : [ ]
},
"ok" : 1
}
Perhatikan juga bahwa database berjalan pada port 27017 on 127.0.0.1, alamat loopback lokal yang mewakili localhost . Ini adalah nomor port default MongoDB.
Berikutnya, kita akan melihat cara mengelola instans server MongoDB dengan systemd.
Langkah 3 — Mengelola Layanan MongoDB
Seperti yang disebutkan sebelumnya, proses instalasi yang dijelaskan pada Langkah 1 mengonfigurasi MongoDB untuk dijalankan sebagai systemdlayanan. Ini berarti Anda dapat mengelolanya menggunakan perintah systemctl standar seperti yang Anda lakukan dengan layanan sistem Ubuntu lainnya.
Seperti yang disebutkan sebelumnya, systemctl status perintah ini memeriksa status layanan MongoDB:
sudo systemctl status mongod
Anda dapat menghentikan layanan kapan saja dengan mengetik:
sudo systemctl stop mongod
Untuk memulai layanan saat dihentikan, jalankan:
sudo systemctl start mongod
Anda juga dapat me-restart server saat sudah berjalan:
sudo systemctl restart mongod
Pada Langkah 2, Anda mengaktifkan MongoDB untuk memulai secara otomatis dengan server. Jika Anda ingin menonaktifkan startup otomatis ini, ketik:
sudo systemctl disable mongod
Kemudian untuk mengaktifkannya kembali agar bisa memulai saat boot, jalankan enableperintah lagi:
sudo systemctl enable mongod
Untuk informasi lebih lanjut tentang cara mengelola systemdlayanan, lihat Systemd Essentials: Bekerja dengan Layanan, Unit, dan Jurnal .
Kesimpulan
Dalam tutorial ini, Anda menambahkan repositori MongoDB resmi ke instans APT Anda, dan menginstal versi terbaru MongoDB.
Sebagai langkah selanjutnya, kami sangat menyarankan agar Anda memperkuat keamanan instalasi MongoDB Anda dengan mengikuti panduan kami tentang Cara Mengamankan MongoDB di Ubuntu 20.04 . Setelah diamankan, Anda dapat mengonfigurasi MongoDB untuk menerima koneksi jarak jauh .
Kami menganjurkan Anda untuk memeriksa dokumentasi resmi MongoDB , karena ini merupakan sumber yang bagus tentang berbagai kemungkinan yang disediakan MongoDB.