[MongoDB] 설치

OS : Rocky Linux 9

 

웹은 RDBMS 를 사용해서 많이 쓰고 있는데

분석 서비스에서 MongoDB 를 활용하기로 했다.

개발자의 입장이 아닌 시스템 엔지니어(운영), 시스템 보안 입장에서의 MongoDB 관련 글을 작성해보겠다.

 

 

설치 목표 버전은 8.0.X 버전이다.

repo 생성

# vi /etc/yum.repos.d/mongodb-org-8.0.repo
[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-8.0.asc

 

mongodb-org 를 설치한다.

# dnf makecache
# dnf -y install mongodb-org

 

설치 버전을 확인한다.

# rpm -qa | grep mongodb-org

 

 

DB 설치 시 보안에서 가장 먼저 할 일은 port 변경이다.

MongoDB 는 기본으로 27017 을 사용하는데 해당 글에서는 57017로 변경하도록 하겠다.

 

# vi /etc/mongod.conf

port 부분을 57017로 변경한다.

# systemctl start mongod

 

앞으로의 기본 세팅을 위해 root 계정을 생성한다.

 

먼저 mongosh 를 통해 접속한다.

# mongosh --port 57017

 

사용 DB를 admin 으로 변경한다.

> use admin

 

root 계정을 만든다.

> db.createUser({ user: "root", pwd: passwordPrompt(), roles: [ "root" ]})
password 입력

 

다시 쉘로 나가 security 설정을 한다.

# vi /etc/mongod.conf
security:
  authorization: enabled

해당 설정을 하면 계정 인증 없이는 DB 접근이 불가하다.

 

적용을 위해 MongoDB 를 재시작한다.

# systemctl restart mongod

 

이후 접속은 다음과 같이 한다.

# mongosh -u root -p --port 57017

 

root 계정은 운영팀만 사용하고,

서비스용 계정, 개발팀 조회용 계정 등은 별도로 관리한다.