Preduvjeti
Instalirajte MongoDB 4.0 bazu podataka
Testna veza
Razmatranje vatrozida
Zahtijevaj autentifikaciju
Važno: Nadogradnje
Neočišćeno gašenje
Preduvjeti
- Vultr poslužitelj koji radi s najnovijim Arch Linuxom (pogledajte ovaj članak )
- Sudo pristup:
- Naredbe koje je potrebno pokrenuti kao root imaju prefiks
#, a one koje se mogu izvoditi kao obični korisnik $. Preporučeni način za pokretanje naredbi kao root je da, kao obični korisnik, svakoj od njih dodate prefiks sudo.
Instalirajte MongoDB 4.0 bazu podataka
MongoDB je u AUR-u (Arch User Repository). Postoje 2 seta paketa koje možete koristiti. Pogledajte Izrada paketa na Arch Linuxu (uključujući AUR) za prevođenje i instalaciju bilo kojeg skupa paketa:
- Sastavite iz izvora. Koristite AUR pakete
mongodbi eventualno mongodb-tools'. Imajte na umu da ovo traje oko 180 GB, a ovo je duga kompilacija. S 4 jezgre, potrebno je oko 7 sati. Ovo je preporučena metoda jer koristi Archove kompilacijske zastavice.
- Koristite unaprijed izgrađenu binarnu datoteku MongoDB-a. Koristite AUR paket
mongodb-bini eventualno mongodb-tools-bin. Time se preskače cijela faza kompilacije, preuzima unaprijed izgrađen binarni fajl s mongodb.org i pakira ga s potrebnim konfiguracijskim datotekama.
Nakon instalacije paketa, pokrenite MongoDB i neka se pokreće nakon svakog pokretanja. Tijekom ovog prvog pokretanja, unaprijed će dodijeliti datoteke za svoj dnevnik i druge podatke, što može potrajati prije nego što se baza podataka završi:
# systemctl enable --now mongodb
Testna veza
Povežite se s MongoDB:
$ mongo
Prestati:
> exit
Razmatranje vatrozida
Iako je konfiguriranje vatrozida uvijek dobra ideja, prema zadanim postavkama, MongoDB sluša samo port 27017na lokalnom hostu, tako da neće primati vanjski promet.
Zahtijevaj autentifikaciju
Prema zadanim postavkama, MongoDB svakome dopušta povezivanje s njim bez ikakve vrste provjere autentičnosti, što je očito sigurnosni rizik.
Napravite korisnika root baze podataka:
$ mongo
> use admin
> db.createUser(
... {
... user: "root",
... pwd: "YOUR-NEW-PASSWORD",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
> exit
Uredite /etc/mongodb.conf, a ako koristite paket mongodbdodajte:
security:
authorization: "enabled"
Ako koristite mongodb-bindodavanje paketa :
auth = true
Ponovno pokrenite MongoDB:
# systemctl restart mongodb
Sada, iako se još uvijek možete povezati s MongoDB bez provjere autentičnosti, on neće izvesti ništa bez njega:
$ mongodb
> db.getUsers()
... Error: command usersInfo requires authentication :
Povežite se s MongoDB kao root:
$ mongodb -u root
Alternativno, spojite se na MongoDB, a zatim se autentificirajte unutar njega:
$ mongodb
> use admin
> db.auth("root", "<YOUR-DATABASE-ROOT-PASSWORD>")
Važno: nadogradnje
Budući da je MongoDB sada dio AUR-a, pacmanneće ga automatski kompajlirati i nadograditi na nove verzije kada nadogradite cijeli svoj Arch sustav. Morat ćete ručno ponovno kompajlirati novu verziju i instalirati novi paket. Prije nego što to učinite, važno je pogledati bilješke o izdanju MongoDB-a da vidite postoje li dodatni koraci koje trebate poduzeti. Također je dobra ideja napraviti sigurnosnu kopiju baze podataka prije nadogradnje.
Neočišćeno gašenje
Ako se MongoDB ne isključi čisto i ne oporavi se automatski pomoću svog dnevnika pri sljedećem pokretanju, možda ćete morati pokrenuti sljedeće:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/
Ovisno o veličini vaše baze podataka i korištenim indeksima, ovaj proces može trajati od sekundi do sati.