
Ubuntu 20.04의 기본 APT 저장소에서 MongoDB를 설치하는 방법
2022-06-01 last update
9 minutes reading MongoDB Ubuntu 20.04 Ubuntu Databases NoSQL소개
MongoDB는 현대 웹 응용 프로그램에서 자주 사용하는 무료 소스 오픈 NoSQL 문서 데이터베이스입니다.
이 강좌에서는 MongoDB를 설치하여 서비스를 관리하고 원격 액세스를 활성화하도록 선택할 수 있습니다.
참고: 이 강좌는 이 문서를 작성할 때 기본 Ubuntu 저장소에서 제공하는 버전인 MongoDB의 3.6 버전을 설치합니다.그러나 우리는 일반적으로 최신 버전의 MongoDB, 즉 본문을 작성할 때의 4.4판을 설치하는 것을 권장한다.최신 버전의 MongoDB를 설치하려면 How To Install MongoDB on Ubuntu 20.04 from source 에서 이 안내서를 따르도록 권장합니다.
선결 조건
본 강좌를 배우려면 다음이 필요합니다.
1단계 - MongoDB 설치
Ubuntu의 공식 패키지 저장소에는 MongoDB가 포함되어 있습니다. 이것은 우리가
apt
를 사용하여 필요한 패키지를 설치할 수 있다는 것을 의미합니다.프로필에 설명된 대로 기본 저장소에서 사용할 수 있는 버전은 최신 버전이 아닙니다.최신 버전의 Mongo를 설치하려면 this tutorial 를 따르십시오.먼저 패키지 목록을 업데이트하여 저장소 목록의 최신 버전을 확인합니다.
- sudo apt update
이제 MongoDB 패키지 자체를 설치합니다.- sudo apt install mongodb
이 명령은 mongodb
패키지를 설치할 것과 의존 항목을 확인하는 것을 알려 줍니다.이 작업을 수행하려면 Y
를 누른 다음 ENTER
을 누릅니다.이 명령은 MongoDB의 안정적인 버전을 포함하는 여러 소프트웨어 패키지와 MongoDB 서버에 사용할 수 있는 유용한 관리 도구를 설치합니다.데이터베이스 서버는 설치 후 자동으로 시작됩니다.
이제 서버가 제대로 작동하고 있는지 확인하겠습니다.
2단계 - 서비스 및 데이터베이스 확인
설치 프로세스가 자동으로 MongoDB를 시작하지만 서비스가 시작되었는지, 데이터베이스가 정상적으로 작동하는지 확인합니다.
먼저 서비스 상태를 확인합니다.
- sudo systemctl status mongodb
다음 출력이 표시됩니다.Output● mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-10-08 14:23:22 UTC; 49s ago
Docs: man:mongod(1)
Main PID: 2790 (mongod)
Tasks: 23 (limit: 2344)
Memory: 42.2M
CGroup: /system.slice/mongodb.service
└─2790 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
이 출력에 따라 MongoDB 서버가 시작되고 실행 중입니다.우리는 실제 데이터베이스 서버에 연결하고 다음과 같은 진단 명령을 실행함으로써 이 점을 더욱 검증할 수 있다.이것은 현재 데이터베이스 버전, 서버 주소와 포트, status 명령의 출력을 출력합니다.
- mongo --eval 'db.runCommand({ connectionStatus: 1 })'
OutputMongoDB shell version v3.6.8
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("e3c1f2a1-a426-4366-b5f8-c8b8e7813135") }
MongoDB server version: 3.6.8
{
"authInfo" : {
"authenticatedUsers" : [ ],
"authenticatedUserRoles" : [ ]
},
"ok" : 1
}
응답 중인 1
필드의 값은 ok
서버가 정상적으로 작동하고 있음을 나타냅니다.다음은 서버를 관리하는 실례를 알아보겠습니다.
3단계 - MongoDB 서비스 관리
1단계에서 설명한 설치 프로세스는 MongoDB를
systemd
서비스로 구성합니다. 이는 표준 systemctl
명령과 Ubuntu의 모든 다른 시스템 서비스를 사용하여 관리할 수 있음을 의미합니다.서비스 상태를 확인하려면 다음을 입력합니다.
- sudo systemctl status mongodb
다음 내용을 입력하여 언제든지 서버를 중지할 수 있습니다.- sudo systemctl stop mongodb
서버가 중지될 때 서버를 시작하려면 다음을 입력합니다.- sudo systemctl start mongodb
다음 명령을 사용하여 서버를 다시 시작할 수도 있습니다.- sudo systemctl restart mongodb
기본적으로 MongoDB는 자동 시작 서버로 구성됩니다.자동 시작을 비활성화하려면 다음을 입력합니다.- sudo systemctl disable mongodb
다음 명령을 사용하여 언제든지 자동 시작을 다시 설정할 수 있습니다.- sudo systemctl enable mongodb
다음은 MongoDB에 설치된 방화벽 설정을 조정합니다.단계 4 - 방화벽 조정(옵션)
만약 initial server setup tutorial의 설명에 따라 서버에 방화벽을 사용했다면 인터넷에서 MongoDB 서버에 접근할 수 없습니다.
MongoDB 서버를 로컬에서만 사용하고 같은 서버에서 응용 프로그램을 실행하려면 권장되는 보안 설정입니다.단, 인터넷에서 MongoDB 서버에 연결하려면 UFW 규칙을 추가해서 연결을 허용해야 합니다.
MongoDB의 기본 포트
27017
에 어디서든 액세스할 수 있도록 하려면 sudo ufw allow 27017
를 실행할 수 있습니다.그러나 기본 설치에서 MongoDB 서버에 대한 인터넷 접근을 사용하면 누구나 데이터베이스 서버와 데이터에 제한을 받지 않고 접근할 수 있다.대부분의 경우 신뢰할 수 있는 일부 위치에서만 MongoDB를 액세스할 수 있습니다. 예를 들어 위탁 관리 응용 프로그램의 다른 서버만 액세스할 수 있습니다.다른 신뢰할 수 있는 서버에서만 MongoDB의 기본 포트에 액세스할 수 있도록 하려면
ufw
명령에서 원격 서버의 IP 주소를 지정할 수 있습니다.이렇게 하면 이 컴퓨터의 명시적 연결만 허용됩니다.- sudo ufw allow from trusted_server_ip/32 to any port 27017
ufw
를 사용하여 방화벽 설정의 변경 사항을 확인할 수 있습니다.- sudo ufw status
출력에 허용되는 포트 27017
트래픽을 보십시오.이 명령의 출력에는 MongoDB 서버에 IP 주소만 연결할 수 있도록 허용하는 경우Anywhere
대신 허용되는 위치의 IP 주소가 나열됩니다.OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
27017 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
27017 (v6) ALLOW Anywhere (v6)
UFW Essentials: Common Firewall Rules and Commands 에서 더 많은 액세스 제한 서비스에 대한 고급 방화벽 설정을 찾을 수 있습니다.포트가 열려 있어도 MongoDB는 로컬 주소
127.0.0.1
만 감청합니다.원격 연결을 허용하려면 서버의 공유 라우팅 IP 주소를 mongodb.conf
파일에 추가합니다.기본 텍스트 편집기에서 MongoDB 구성 파일을 엽니다.이 예제 명령 사용
nano
:- sudo nano /etc/mongodb.conf
MongoDB 서버의 IP 주소를 bindIP
값에 추가합니다.기존 IP 주소와 추가한 IP 주소 사이에 쉼표를 두어야 합니다./etc/mongodb.형태
...
logappend=true
bind_ip = 127.0.0.1,your_server_ip
#port = 27017
...
파일을 저장하고 편집기를 종료합니다.nano
를 사용하여 파일을 편집하는 경우 CTRL + X
, Y
을 누른 다음 ENTER
을 누릅니다.그런 다음 MongoDB 서비스를 다시 시작합니다.
- sudo systemctl restart mongodb
MongoDB는 현재 원격 연결을 감청하고 있지만 누구나 액세스할 수 있습니다.How To Secure MongoDB on Ubuntu 20.04에 따라 관리 사용자를 추가하고 잠급니다.결론
MongoDB를 구성하고 사용하는 방법에 대한 자세한 내용은 these DigitalOcean community articles 에서 확인할 수 있습니다.정부MongoDB documentation도 몽골DB가 제공할 가능성에 대한 중요한 자원이다.