MongoDB 설치 및 세팅
설치
절차
본 설치 절차는 ubuntu 20.04를 기준으로 작성되었다.
- public key 가져오기
1
$ wget -qO - https://www.mongodb.org/static/pgp/server-{버전}.asc | sudo apt-key add -
{버전} 안에는 필요한 버전을 입력하면 되며 현재 있는 버전에 대해서 확인하고 싶다면 https://www.mongodb.org/static/pgp 에 접속하면 현재 받아올 수 있는 버전의 public key에 대해서 확인할 수 있다. key 가져오기에 성공하면 OK라고 찍힌다.
- 레포지토리 리스트에 Mongodb 추가
1
$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/{버전} multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-{버전}.list
위와 마찬가지로 {버전}에는 1에서 가져온 key의 버전을 입력해준다.
- 등록한 리스트를 설치시 반영할 수 있도록 업데이트 해준다.
1
sudo apt-get update
- MongoDB를 설치해준다.
1
sudo apt-get install -y mongodb-org
그러면 설치가 진행된다. 설치 했다고 끝이 아니다. 프로세스를 관리하기 위해서는 ubuntu가 어떤 init 시스템을 쓰는지 알아야한다. 다음 명령어를 입력해보자.
1
ps --no-headers -o comm 1
출력 결과에 따라 현재 ubuntu가 사용하고 있는 init 시스템이 다르다.
- systemd : systemctl
- service : service
- 서비스 구동 상태를 확인해준다. ```shell #systemctl 일경우 systemctl status mongod
#service 일 경우 service mongod status
1
2
3
4
5
6
7
8
9
10
결과가 active(running) 이라고 뜬다면 설치가 잘 되고 잘 구동되고 있는 것이다.
## 보안 설정
추가적으로 해야할 보안 설정이 있다.
### 계정 추가
다음 명령어를 입력하여 mongo shell에 엑세스 한다.
```shell
mongo
현재 계정 및 보안 설정이 아무것도 되어 있지 않으므로 바로 들어가진다. 일단 admin db를 사용한다.
1
use admin
이후 사용자를 만드는데, 일단 root 계정을 만들도록 하자
1
2
3
4
5
6
7
db.createUser(
{
user: "사용할 아이디",
pwd: "사용할 비밀번호",
roles: [{ "role" : "root" }]
}
)
이렇게 계정을 만들고 나서 ctrl+c로 mongo 쉘을 벗어난다 이후 init 시스템을 이용하여 mongodb를 잠시 셧다운 시킨다.
1
2
3
4
5
#systemctl 일경우
systemctl stop mongod
#service 일 경우
service mongod stop
config 파일 수정
설치하게되면 ubuntu 기준으로 /etc 경로에 mongod.conf라는 설정 파일이 생긴다. 여기의 몇몇 가진 파라미터를 바꾸어줘야하는데 당장 바꾸어줘야하는 내용은 아래와 같다.
1
2
3
4
5
6
7
8
9
10
...
net:
port: 27017 // DB를 구동하는 PORT
bindIp: 0.0.0.0 // 접근 가능한 IP 제한
...
security:
authorization: enabled // enabled시 db 접근시 인증 확인
...
이후 다시 mongod.conf 파일을 저장한 뒤 서비스를 다시 구동하면 된다.
1
2
3
4
5
#systemctl 일경우
systemctl start mongod
#service 일 경우
service mongod start
이렇게되면 DB에 접근 제한이 풀리고 당장 실습할 환경이 마련된다.
DB 설치마다 찾아보기 귀찮아서 하나 포스팅 해두는 것이며 그 다음 포스팅에는 세팅에 대해 세부 사항을 알아보겠다.