saltfactory's blog
    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







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