Requisits previs
Instal·leu la base de dades MongoDB 4.0
Prova de connexió
Consideració del tallafoc
Requereix autenticació
Important: Actualitzacions
Tancament brut
Requisits previs
- Un servidor Vultr amb Arch Linux actualitzat (vegeu aquest article )
- Accés Sudo:
- Les ordres que cal executar com a root tenen el prefix
#, i les que es poden executar com a usuari normal amb $. La manera recomanada d'executar ordres com a root és, com a usuari normal, posar-hi el prefix a cadascuna d'elles amb sudo.
Instal·leu la base de dades MongoDB 4.0
MongoDB es troba a l'AUR (Arch User Repository). Hi ha 2 conjunts de paquets que podeu utilitzar. Vegeu Creació de paquets a Arch Linux (inclòs l'AUR) per compilar i instal·lar qualsevol conjunt de paquets:
- Compilar des de la font. Utilitzeu paquets AUR
mongodbi possiblement mongodb-tools'. Tingueu en compte que això requereix uns 180 GB, i aquesta és una compilació llarga. Amb 4 nuclis, triguen unes 7 hores. Aquest és el mètode recomanat, perquè utilitza els indicadors de compilació d'Arch.
- Utilitzeu el binari preconstruït de MongoDB. Utilitzeu el paquet AUR
mongodb-bini possiblement mongodb-tools-bin. Això salta tota l'etapa de compilació, baixant un binari preconstruït des de mongodb.org i empaquetant-lo amb els fitxers de configuració necessaris.
Després d'instal·lar el paquet, inicieu MongoDB i feu que s'iniciï després de cada arrencada. Durant aquest primer inici, assignarà prèviament fitxers per al seu diari i altres dades, cosa que pot trigar una estona abans que la base de dades acabi de sortir:
# systemctl enable --now mongodb
Prova de connexió
Connecteu-vos a MongoDB:
$ mongo
Abandonar:
> exit
Consideració del tallafoc
Tot i que configurar un tallafoc sempre és una bona idea, de manera predeterminada, MongoDB només escolta el port 27017del localhost, de manera que no rebrà trànsit extern.
Requereix autenticació
De manera predeterminada, MongoDB permet que qualsevol s'hi connecti sense cap tipus d'autenticació, cosa que és evidentment un risc de seguretat.
Creeu un usuari de base de dades root:
$ mongo
> use admin
> db.createUser(
... {
... user: "root",
... pwd: "YOUR-NEW-PASSWORD",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
> exit
Editeu /etc/mongodb.confi, si feu servir el paquet, mongodbafegiu:
security:
authorization: "enabled"
Si utilitzeu el paquet, mongodb-binafegiu:
auth = true
Reinicieu MongoDB:
# systemctl restart mongodb
Ara, tot i que encara us podeu connectar a MongoDB sense autenticació, no realitzarà res sense ella:
$ mongodb
> db.getUsers()
... Error: command usersInfo requires authentication :
Connecteu-vos a MongoDB com a root:
$ mongodb -u root
Alternativament, connecteu-vos a MongoDB i, a continuació, autenticeu-vos-hi:
$ mongodb
> use admin
> db.auth("root", "<YOUR-DATABASE-ROOT-PASSWORD>")
Important: Actualitzacions
Com que MongoDB ara forma part de l'AUR, pacmanno el compilarà i actualitzarà automàticament a noves versions quan actualitzeu tot el vostre sistema Arch. Haureu de tornar a compilar manualment una versió nova i instal·lar el nou paquet. Abans de fer-ho, és important mirar les notes de llançament de MongoDB, per veure si cal fer algun pas addicional. També és una bona idea fer una còpia de seguretat de la base de dades abans d'actualitzar.
Tancament brut
Si MongoDB no s'apaga correctament i no es recupera automàticament amb el seu diari en el proper arrencada, és possible que hàgiu d'executar el següent:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/
Depenent de la mida de la vostra base de dades i dels índexs utilitzats, aquest procés pot anar des de segons fins a hores.