웹사이트 검색

Debian 11에서 MongoDB를 설치하고 보호하는 방법


이 페이지에서

  1. 전제 조건
  2. MongoDB 저장소 추가
  3. MongoDB 인증 활성화\n
  4. MongoDB 연결 확인\n
  5. MongoDB 제거
  6. 결론

MongoDB는 최신 애플리케이션 개발자를 위해 설계된 오픈 소스, 범용, 문서 기반 및 분산 데이터베이스입니다. 기존의 테이블 기반 관계형 데이터베이스 구조에 의존하지 않기 때문에 NoSQL 데이터베이스라고도 합니다. 테이블 스타일 방식이 아닌 JSON 형식으로 데이터를 저장합니다. 다양한 프로그래밍 언어와 쉽게 통합할 수 있습니다. Facebook, Cisco, Forbes, Adobe, Nokia 등 많은 유명 회사에서 사용합니다.

이 게시물에서는 Debian 11에서 MongoDB NoSQL 데이터베이스를 설치하고 보호하는 방법을 보여줍니다.

전제 조건

  • Debian 11을 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

MongoDB 리포지토리 추가

기본적으로 MongoDB 패키지는 Debian 11 기본 리포지토리에 포함되어 있지 않습니다. 따라서 MongoDB 공식 리포지토리를 APT에 추가해야 합니다.

먼저 다음 명령을 사용하여 필요한 종속 항목을 설치합니다.

apt-get install curl apt-transport-https software-properties-common gnupg2 -y

모든 종속성이 설치되면 다음 명령을 사용하여 GPG 키를 다운로드하고 추가합니다.

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -

다음으로 아래 명령을 사용하여 MongoDB 리포지토리를 APT 소스 목록 파일에 추가합니다.

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org.list

그런 다음 리포지토리를 업데이트하고 다음 명령을 사용하여 MongoDB 서버를 설치합니다.

apt-get update -y
apt-get install mongodb-org -y

성공적으로 설치한 후 MongoDB 서비스를 시작하고 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start mongod
systemctl enable mongod

다음으로 아래 명령을 사용하여 MongoDB 버전을 확인합니다.

mongod --version

다음 출력이 표시되어야 합니다.

db version v4.4.9
Build Info: {
    "version": "4.4.9",
    "gitVersion": "b4048e19814bfebac717cf5a880076aa69aba481",
    "openSSLVersion": "OpenSSL 1.1.1k  25 Mar 2021",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "debian10",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

MongoDB 인증 활성화

기본적으로 인증은 MongoDB에서 활성화되지 않습니다. 보안상의 이유로 MongoDB 인증을 활성화하는 것이 좋습니다.

이렇게 하려면 MongoDB에 대한 관리 사용자를 생성해야 합니다.

먼저 다음 명령을 사용하여 MongoDB 셸에 연결합니다.

mongo

연결되면 다음 명령을 사용하여 admin이라는 데이터베이스를 만듭니다.

> use admin

다음으로 관리 사용자를 만들고 비밀번호를 설정합니다.

> db.createUser(
{
user: "madmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

다음 출력이 표시되어야 합니다.

Successfully added user: {
	"user" : "madmin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

그런 다음 CTRL+D를 눌러 MongoDB 셸을 종료합니다. 그런 다음 다음 명령을 사용하여 MongoDB 구성 파일을 편집합니다.

nano /etc/mongod.conf

인증을 활성화하려면 다음 줄을 추가하십시오.

security:
 authorization: enabled

파일을 저장하고 닫은 다음 MongoDB 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart mongod

MongoDB 연결 확인

이 시점에서 MongoDB 인증이 활성화됩니다. 이제 다음 명령을 실행하여 사용자 이름과 암호를 사용하여 MongoDB 셸을 연결합니다.

mongo -u madmin -p

인증에 성공하면 다음과 같은 결과가 표시됩니다.

MongoDB shell version v4.4.9
Enter password: 
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8366d28f-55d3-4471-bd94-331329828181") }
MongoDB server version: 4.4.9
> 

그런 다음 데이터베이스를 admin으로 변경하고 다음 명령을 사용하여 모든 사용자를 나열합니다.

> use admin
> show users

다음 출력이 표시되어야 합니다.

{
	"_id" : "admin.madmin",
	"userId" : UUID("26dd5225-7bb6-4a57-96a0-7efc4e1a98ba"),
	"user" : "madmin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

MongoDB 제거

시스템에 MongoDB가 필요하지 않은 경우 시스템에서 제거할 수 있습니다.

먼저 다음 명령을 사용하여 MongoDB 서비스를 중지합니다.

systemctl stop mongod

그런 다음 다음 명령을 실행하여 MongoDB 패키지를 제거합니다.

apt-get remove mongodb-org --purge

그런 다음 다음 명령을 실행하여 MongoDB 로그 및 데이터 디렉터리를 제거합니다.

rm -rf /var/lib/mongodb

결론

축하합니다! Debian 11에 MongoDB를 성공적으로 설치하고 보호했습니다. 이제 웹 애플리케이션에서 MongoDB를 사용할 수 있습니다. 자세한 내용은 MongoDB 공식 문서를 참조하세요.