saltfactory's blog

Database, Web, Mobile, Client, Programming Languages

  • 461,856
  • 59
  • 620
분류 전체보기 (211)
Freeboard (13)
iOS (37)
Android (15)
Javascript (17)
Appspresso (21)
Sencha (13)
Mac (12)
Phonegap (6)
Web (5)
Unix/Linux (12)
Ruby (16)
Java (13)
Python (4)
PHP (9)
Algorithms (0)
Database (18)

Mac에서 macports를 이용하여 mongoDB 설치하기

2011/04/10 00:00

macports 는 Mac에서 오픈소스를 설치와 패키지 관리를 쉽게 도와주는 툴이다. 맥을 이용하는 개발자에게 macports는 가장 유용한 툴 중에 하나일 것이다. mongoDB는 scalable, high-performance, open source, document-oriented database로써 NoSQL에 관심을 가지고 있는 분들이라면 한번쯤 들어봤을 데이터베이스이다. 앞으로 mongoDB에 대하여 연재를 하기위해서 macports를 이용하여 mongoDB를 설치해 보았다. 
macports의 설치 방법은 http://www.macports.org/install.php 에 자세히 설명하고 있다.
macports 설치를 마쳤으면 macports를 이용하여  mongoDB를 설치한다.

sudo /opt/local/bin/port install mongodb 


macports가 정상적으로 설치되어서 mongodb를 설치하면 다음과 같이 의존성을 검사하여 macports 저장소에서 의존성에 필요한 패키지를 패치하여 설치하기 시작한다.

Saltfactory:bin Saltfactory$ sudo /opt/local/bin/port install mongodb
--->  Computing dependencies for mongodb
--->  Dependencies to be installed: boost icu libpcap scons python26 spidermonkey nspr
--->  Fetching icu
--->  Attempting to fetch icu4c-4_6_1-src.tgz from http://download.icu-project.org/files/icu4c/4.6.1/
--->  Verifying checksum(s) for icu
--->  Extracting icu
--->  Applying patches to icu
--->  Configuring icu
....

설치를 마쳤으면 mongoDB 서버를 실행해본다.
 

sudo /opt/local/bin/mongod


mongoDB를 설치하였다고 서버를 실행하면 다음과 같은 에러를 만나면서 프로세스가 죽는다.

Saltfactory:bin Saltfactory$ sudo /opt/local/bin/mongod
/opt/local/bin/mongod --help for help and startup options
Sat Apr  9 22:22:52 [initandlisten] MongoDB starting : pid=76520 port=27017 dbpath=/data/db/ 64-bit 
Sat Apr  9 22:22:52 [initandlisten] db version v1.8.0, pdfile version 4.5
Sat Apr  9 22:22:52 [initandlisten] git version: nogitversion
Sat Apr  9 22:22:52 [initandlisten] build sys info: Darwin Saltfactory.local 10.7.0 Darwin Kernel Version 10.7.0: Sat Jan 29 15:17:16 PST 2011; root:xnu-1504.9.37~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_46_1
Sat Apr  9 22:22:52 [initandlisten] exception in initAndListen std::exception: dbpath (/data/db/) does not exist, terminating
Sat Apr  9 22:22:52 dbexit: 
Sat Apr  9 22:22:52 [initandlisten] shutdown: going to close listening sockets...
Sat Apr  9 22:22:52 [initandlisten] shutdown: going to flush diaglog...
Sat Apr  9 22:22:52 [initandlisten] shutdown: going to close sockets...
Sat Apr  9 22:22:52 [initandlisten] shutdown: waiting for fs preallocator...
Sat Apr  9 22:22:52 [initandlisten] shutdown: closing all files...
Sat Apr  9 22:22:52 closeAllFiles() finished
Sat Apr  9 22:22:52 dbexit: really exiting now
 
예외가 발생한 부분을 살펴보면 mongoDB가 사용하는 데이터폴드가 없어서 예외가 생겨서 중단되었다는 것을 확인 할 수 있다.

이제 mongoDB에 필요한 폴더들을 만들 차례이다.
1. mongoDB의 데이터베이스 파일들이 저장될 폴더를 만든다.

sudo mkdir /opt/local/var/mongodb/data/db


2. mongoDB의 로그가 저장될 폴더를 만든다.

sudo mkdir /opt/local/var/log/mongodb


3. mongoDB의 설정파일을 저장할 폴더를 만든다.

sudo mkdir /opt/local/etc/mongodb


4. mongoDB의 로그가 저장될 파일을 만든다

sudo  touch /opt/local/var/log/mongodb/mongodb.log


5. mongoDB의 설정파일을 만들고 설정을 저장한다.

sudo vi /opt/local/etc/mongodb/mongod.conf


dbpath=/opt/local/var/mongodb/data/db
bind_ip=127.0.0.1
fork=true
logpath=/opt/local/var/log/mongodb/mongodb.log
logappend=true


이제 설정은 끝났다. 이제 mongoDB 서버를 시작하면 다음과 설정파일을 가지고 시작하면된다.

sudo /opt/local/bin/mongod -f /opt/local/etc/mongodb/mongod.conf







 
저작자 표시 비영리 동일 조건 변경 허락

saltfactory