Предуслови
Инсталирајте МонгоДБ 4.0 базу података
Тест Цоннецтион
Разматрање заштитног зида
Захтевај аутентификацију
Важно: Надоградње
Унцлеан Схутдовн
Предуслови
- Вултр сервер који ради са најновијим Арцх Линук-ом (погледајте овај чланак )
- Судо приступ:
- Команде које се морају покренути као роот имају префикс
#, а оне које се могу покренути као обичан корисник са $. Препоручени начин за покретање команди као роот је да, као обичан корисник, свакој од њих додате префикс sudo.
Инсталирајте МонгоДБ 4.0 базу података
МонгоДБ је у АУР-у (Арцх Усер Репоситори). Постоје 2 сета пакета које можете користити. Погледајте Прављење пакета на Арцх Линук-у (укључујући АУР) да бисте компајлирали и инсталирали било који скуп пакета:
- Саставите из извора. Користите АУР пакете
mongodbи евентуално mongodb-tools'. Имајте на уму да ово траје око 180 ГБ, а ово је дуга компилација. Са 4 језгра, потребно је око 7 сати. Ово је препоручени метод, јер користи Арцх-ове заставице компилације.
- Користите МонгоДБ-ов унапред изграђен бинарни програм. Користите АУР пакет
mongodb-binи евентуално mongodb-tools-bin. Овим се прескаче цела фаза компилације, преузима унапред изграђен бинарни фајл са монгодб.орг и пакује га са потребним конфигурационим датотекама.
Након инсталирања пакета, покрените МонгоДБ и нека се покреће након сваког покретања. Током овог првог покретања, он ће унапред доделити датотеке за свој дневник и друге податке, што може потрајати пре него што се база података заврши:
# systemctl enable --now mongodb
Тест Цоннецтион
Повежите се са МонгоДБ:
$ mongo
Да престанем:
> exit
Разматрање заштитног зида
Иако је конфигурисање заштитног зида увек добра идеја, МонгоДБ подразумевано слуша само порт 27017на локалном хосту, тако да неће примати спољни саобраћај.
Захтевај аутентификацију
Подразумевано, МонгоДБ дозвољава свакоме да се повеже на њега без икакве врсте аутентификације, што је очигледно безбедносни ризик.
Креирајте корисника роот базе података:
$ mongo
> use admin
> db.createUser(
... {
... user: "root",
... pwd: "YOUR-NEW-PASSWORD",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
> exit
Уредите /etc/mongodb.confи ако користите пакет mongodbдодајте:
security:
authorization: "enabled"
Ако користите mongodb-binдодавање пакета :
auth = true
Поново покрените МонгоДБ:
# systemctl restart mongodb
Сада, иако се и даље можете повезати на МонгоДБ без аутентификације, он неће ништа извести б��з њега:
$ mongodb
> db.getUsers()
... Error: command usersInfo requires authentication :
Повежите се на МонгоДБ као роот:
$ mongodb -u root
Алтернативно, повежите се на МонгоДБ, а затим се аутентификујте у њему:
$ mongodb
> use admin
> db.auth("root", "<YOUR-DATABASE-ROOT-PASSWORD>")
Важно: Надоградње
Пошто је МонгоДБ сада део АУР-а, pacmanнеће га аутоматски компајлирати и надоградити на нове верзије када надоградите цео свој Арцх систем. Мораћете ручно поново да компајлирате нову верзију и инсталирате нови пакет. Пре него што то урадите, важно је да погледате МонгоДБ-ове белешке о издању, да видите да ли постоје додатни кораци које треба да предузмете. Такође је добра идеја да направите резервну копију базе података пре надоградње.
Унцлеан Схутдовн
Ако се МонгоДБ не искључи чисто и не опорави се аутоматски користећи свој дневник при следећем покретању, можда ћете морати да покренете следеће:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/
У зависности од величине ваше базе података и коришћених индекса, овај процес може да се креће од неколико секунди до сати.