Ubuntu 20.04의 기본 APT 저장소에서 MongoDB를 설치하는 방법

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 에서 이 안내서를 따르도록 권장합니다.

선결 조건


본 강좌를 배우려면 다음이 필요합니다.
  • Ubuntu 20.04 서버initial server setup tutorial는 관리 권한이 있는 비루트 사용자와 UFW가 설치된 방화벽을 포함한다.
  • 1단계 - MongoDB 설치


    Ubuntu의 공식 패키지 저장소에는 MongoDB가 포함되어 있습니다. 이것은 우리가 apt 를 사용하여 필요한 패키지를 설치할 수 있다는 것을 의미합니다.프로필에 설명된 대로 기본 저장소에서 사용할 수 있는 버전은 최신 버전이 아닙니다.최신 버전의 Mongo를 설치하려면 this tutorial 를 따르십시오.
    먼저 패키지 목록을 업데이트하여 저장소 목록의 최신 버전을 확인합니다.
    1. sudo apt update
    이제 MongoDB 패키지 자체를 설치합니다.
    1. sudo apt install mongodb
    이 명령은 mongodb 패키지를 설치할 것과 의존 항목을 확인하는 것을 알려 줍니다.이 작업을 수행하려면 Y 를 누른 다음 ENTER 을 누릅니다.
    이 명령은 MongoDB의 안정적인 버전을 포함하는 여러 소프트웨어 패키지와 MongoDB 서버에 사용할 수 있는 유용한 관리 도구를 설치합니다.데이터베이스 서버는 설치 후 자동으로 시작됩니다.
    이제 서버가 제대로 작동하고 있는지 확인하겠습니다.

    2단계 - 서비스 및 데이터베이스 확인


    설치 프로세스가 자동으로 MongoDB를 시작하지만 서비스가 시작되었는지, 데이터베이스가 정상적으로 작동하는지 확인합니다.
    먼저 서비스 상태를 확인합니다.
    1. 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 명령의 출력을 출력합니다.
    1. mongo --eval 'db.runCommand({ connectionStatus: 1 })'
    Output
    MongoDB 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의 모든 다른 시스템 서비스를 사용하여 관리할 수 있음을 의미합니다.
    서비스 상태를 확인하려면 다음을 입력합니다.
    1. sudo systemctl status mongodb
    다음 내용을 입력하여 언제든지 서버를 중지할 수 있습니다.
    1. sudo systemctl stop mongodb
    서버가 중지될 때 서버를 시작하려면 다음을 입력합니다.
    1. sudo systemctl start mongodb
    다음 명령을 사용하여 서버를 다시 시작할 수도 있습니다.
    1. sudo systemctl restart mongodb
    기본적으로 MongoDB는 자동 시작 서버로 구성됩니다.자동 시작을 비활성화하려면 다음을 입력합니다.
    1. sudo systemctl disable mongodb
    다음 명령을 사용하여 언제든지 자동 시작을 다시 설정할 수 있습니다.
    1. 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 주소를 지정할 수 있습니다.이렇게 하면 이 컴퓨터의 명시적 연결만 허용됩니다.
    1. sudo ufw allow from trusted_server_ip/32 to any port 27017
    ufw를 사용하여 방화벽 설정의 변경 사항을 확인할 수 있습니다.
    1. sudo ufw status
    출력에 허용되는 포트 27017 트래픽을 보십시오.이 명령의 출력에는 MongoDB 서버에 IP 주소만 연결할 수 있도록 허용하는 경우Anywhere 대신 허용되는 위치의 IP 주소가 나열됩니다.
    Output
    Status: 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:
    1. 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 서비스를 다시 시작합니다.
    1. sudo systemctl restart mongodb
    MongoDB는 현재 원격 연결을 감청하고 있지만 누구나 액세스할 수 있습니다.How To Secure MongoDB on Ubuntu 20.04에 따라 관리 사용자를 추가하고 잠급니다.

    결론


    MongoDB를 구성하고 사용하는 방법에 대한 자세한 내용은 these DigitalOcean community articles 에서 확인할 수 있습니다.정부MongoDB documentation도 몽골DB가 제공할 가능성에 대한 중요한 자원이다.