MacOS에서 홈브루(HomeBrew) 로 패키지 설치하기

홈브루가 왜 필요한가 ?

HomeBrew는 MacOS 에서 패키지를 손쉽게 관리할 수 있게 하기 위하여 만들어졌다.

맥에서 우분투의 apt-get 나 CentOS 의 yum 과 같은 패키지 관리자를 원한다면 홈브루가 그 역할을 대신 해줄 것이다.

맥에서 패키지를 설치할 때 가장 좋은 대안이기 때문에 HomeBrew 를 사용하지 않는다면 복잡한 소스 설치를 통해서 직접 패키지를 설치해야 하는 불편함이 있을 것이기에 거의 필수로 사용하고 있는 대중적인 MacOS용 패키지 매니저 이다.

HomeBrew 의 기본명령어는 brew로 시작하며 brew install package명 과 같이  설치가 가능하다.

그럼 먼저 HomeBrew를 설치해 보겠다.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
위와 같이 터미널에서 입력하면 HomeBrew가 설치된다.
단 주의할 점은 root에서 설치하지 않고 일반 계정에서 설치해야 하며 , 패키지를  설치할 때에도 일반 계정에서 설치하면 된다는 것이다.
https://brew.sh/index_ko.html 에서도 HomeBrew를 설치할 수 있는 방법이 안내되어 있으니 참조하기 바란다.
패키지 설치하기 
brew install package명 과 같이 입력하여 설치하면 된다.
mongodb를 설치한다고 한다면 다음과 같다.
brew install mongodb
패키지 삭제하기
brew unlink package명 으로 삭제가 가능하다.
패키지를 서비스로서 시작하기
mongodb, mysql 등과 같이 서비스로서 구동되는 패키지라면 다음과 같이 구동시킬 수 있다.
이렇게 하면 맥이 구동될 때 항상 띄우게 된다.
brew services start mongo
만약 구동 서비스에 등록하지 않고 이번 한번만 실행하고 싶다면
brew services run mongo
서비스 중지는 다음과 같다.
brew services stop mongo
재가동을 한다면 다음 명령어를 입력한다.
brew services restart mongo

홈브루 업데이트 하기

모든 패키지의 버전 정보를 갱신하는 방법으로 brew update 를 실행한다.

brew update

패키지 업데이트 하기

패키지의 버전을 업그레이드 하기 위해서 brew upgrade [패키지명] 을 사용한다.

brew upgrade mongo

패키지 정보 얻기

패키지의 정보를 얻으려면 brew info [패키지명] 명령어를 입력한다. 버전정보와 여러가지 정보를 얻을 수 있다. 뭔가 패키지를 설치하다가 잘 구동이 안된다면 이 명령어로 현재 설치된 버전과 기타 정보를 얻을 수 있다.

brew info mongo

 

brew info 명령어로 아래와 같이 복수의 버전이 설치되어 있는 것을 확인한다면 버전을 전환할 수도 있다.

/usr/local/Cellar/mongodb/3.4.1 (17 files, 261.5MB)
 Poured from bottle on 2017-02-05 at 20:46:18
/usr/local/Cellar/mongodb/3.4.2 (17 files, 266.5MB) *
 Poured from bottle on 2017-03-12 at 19:11:59

switch 를 이용하여 버전을 전환하는 명령어는 다음과 같다. brew switch [패키지명] [버전]

brew switch mongo 3.4.1

끝나치면서 할말은 필자는 HomeBrew 로 대부분의 패키지 설치가 가능했으며, 별다른 불편함을 느끼지 못하였다.  Macports 라는 대안이 있기는 하지만 이미 대세는 HomeBrew 로 기울은 듯 하다.

 

우분투에서 MongoDB 설치하기

이 문서는 드래프트 문서이다. 사용하는데 크게 문제는 없으나, 일부 내용이 변경될 수 있다.

가장 인기 있는 리눅스 배포판인 Ubuntu 16.04 LTS(64bit) 를 기본으로 MongoDB를 설치한다. 많은 분들이 Ubuntu 로 서버를 구축하고 있으며, APT (for Advanced Package Tool) 를 통해 손쉽게 MongoDB 를 설치할 수 있고, 특히 AWS 나 Azure를 이용하여 서비스를 한다면 거의 기본적으로 선택하게 될 리눅스 배포판이다.

설치 방법은 간단하다.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

sudo apt update

sudo apt install -y mongodb-org
그 다음에는 MongoDB 를 실행하여 보자.
sudo service mongodb start

MongoDB가 정상적으로 데몬으로 등록되었는지 확인하려면

sudo service mongodb status

그럼 이제 mongo  명령어를 이용하여 MongoDB에 접속해 보겠다.

mongo

 

정상적으로 mongodb 가 접속이 되었다면 이제 MongoDB 를 사용할 수 있다.
mongodb를 실제 서비스에 적용하려면 비밀번호 인증을 거쳐서 접근할 수 있어야 하기 때문에 (물론 비밀번호를 걸지 않고 서비스는 가능하다.) 사용자 계정을 추가하고 삭제 및 관리, Database를 관리할 수 있는 root 계정이 필요하다.
그러면 이제 root계정을 만들어 보겠다. admin database 에 접근해서 root user 를 생성해 보겠다.

use admin
db.createUser({user: "root", pwd: "mypassword", roles: [{ role: "root", db: "admin" }] });

정상적으로 root 계정이 설정되었다면 /etc/mongod.conf 에서 MongoDB 에서

security:
 authorization: enabled

authorization 을 enabled 해준다.  key: value의 형식으로 되어 있는 YAML 문법으로 작성하기를 권장한다. 이미 기본으로 만들어진 설정파일이 YAML 로 되어 있을 것이므로 주석처리를 해제해주고 위와 같이 작성해 주면 된다.

다시 실행해 준다.

service mongod restart

이제 내 계정을 만들어 준다. 이 때 내가 원하는 db명을 선택해 준다.

use app    #app 대신에 내가 만들 db명을 선택
db.createUser(
 { user: "app",
 pwd: "mypassword",
 roles: ['readWrite','userAdmin'] } )

정상적으로 만들어 졌다면 quit 명령어로 빠져나오고

다시 접근해보자.

mongo -uapp -pmypassword app

정상적으로 접근이 되는 것을 확인할 수 있다.

 

다음 목차

  1. MongoDB 와 방화벽
  2. 기본적인 MongoDB 명령어 및 사용 방법
  3. Studio 3T(MongoChef), Robomongo, MongoHub 등의 MongoDB Client 를 이용해서 MongoDB 를 내 컴퓨터에서 관리하는 방법
  4. 백업 및 복구하는 방법
  5. Replica Set(RS)  으로 만드는 방법
  6. mongos 와 복수의 mongos 운영 전략
  7. 단일 샤드로 운영하기 (Config server 생성, Replica set)
  8. Replica Set으로 된 샤드 추가하기
  9. Arbiter Server 와 투표 알고리즘에 대해
  10. AWS 를 이용한 실제 구축
  11. node.js 에서 실제 접속해 보기(단일 서버, 레플리카 셋, 단일 샤드, 복수샤드에서의 운영방법)