2011. 9. 6. 11:08
Ubuntu+PHP+mongoDB 구축시 유의 사항
2011. 9. 6. 11:08 in Web/PHP
2011/08/03 - [HTML/JS/PHP] - VMWare+Ubuntu+APM(Apache,PHP,MYSQL)+RSYNC 로 웹 서버 환경 구축 하기
2011/09/02 - [HTML/JS/PHP] - ubuntu+php에서 mongoDB 설치하기
2010/10/04 - [Research/Ubuntu] - VMWare에서 ubuntu 설치후 SSH 연결하기
2010/10/01 - [Research/Ubuntu] - ubuntu에서 proxy 서버 설정하기
를 모두 마친 경우, mongodb를 php에서 사용하면 잘~ 되는데, 다음과 같은 몇몇 이슈들이 발생합니다.
여하튼 mongodb를 사용하기 위해서는 X64 OS를 사용해야 할 듯 합니다.
- mongodb의 32bit limitation
만약 Ubuntu X86인 경우 mongodb를 설치하고, $ mongod를 실행하면 다음과 같은 경고가 발생합니다.
...
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations
...
그것을 해결하기 위해서는, 당연히 Ubuntu X64를 설치하면 됩니다.
그러면, 위 Step (VMWare+...+mongoDB)을 진행하면, 32 bit 제약 오류는 발생하지 않습니다.
물론, X64 설치 Step은 위 포스트글 그대로 진행하면 됩니다. 특별한 차이점은 발생하지 않습니다. - X64 mongodb의 경고 (spider monkey)
보통 $ sudo apt-get install mongodb를 통해 설치했다면 발생합니다.
$ sudo apt-get install mongodb-10gen을 통해 설치했다면 발생하진 않더군요.
만일 발생한 상황이라면,
$ mongo 를 실행하여 mongo client를 설치하면 다음과 같은 경고가 발생합니다. (Ubuntu X64 설치시)
$ mongo
MongoDB shell version: 1.6.3
Mon Sep 5 02:02:49 *** warning: spider monkey build without utf8 support. consider rebuilding with utf8 support
connecting to: test
...
해당 warning을 해결 하기 위해서는 다음 URL을 참고하면 됩니다.
http://www.mongodb.org/display/DOCS/Building+for+Linux
중간에 git가 사용되는데, 만일 proxy 네트웍 환경이면 실패될 수 있습니다.
따라서 proxy 연결을 위해서는,
http://blog.naver.com/PostView.nhn?blogId=cst007&logNo=100110592104
를 참고하면 됩니다.
일단, 위 두개의 site를 참고하여 spider monkey를 build하는 과정은 다음과 같습니다.
$ sudo apt-get -y install tcsh git-core scons g++
...
update-alternatives: using /bin/tcsh to provide /bin/csh (csh) in auto mode.
$ sudo apt-get -y install libpcre++-dev libboost-dev libreadline-dev xulrunner-1.9.2-dev
...
ldconfig deferred processing now taking place
$ sudo apt-get -y install libboost-program-options-dev libboost-thread-dev libboost-filesystem-dev libboost-date-time-dev
...
ldconfig deferred processing now taking place
그리고 다음과 같이 git를 실행합니다.
$ sudo git clone git://github.com/mongodb/mongo.git
만일 proxy 환경에서는 다음과 같은 오류가 발생할 수 있습니다.
Cloning into mongo...
github.com[0: 207.97.227.239]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
그럼, 다음과 같이 진행합니다. (git가 실패된 경우 진행하십시요. /bin/gitproxy를 gedit/vi 로 편집필요)
$ sudo apt-get install socat
...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
$ sudo gedit /bin/gitproxy
_proxy=XXX.XXX.XXX.XXX
_proxyport=XXXX
exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport
$ sudo chmod 0711 /bin/gitproxy
$ sudo git clone git://github.com/mongodb/mongo.git
Cloning into mongo...
remote: Counting objects: 86137, done.
remote: Compressing objects: 100% (21766/21766), done.
...
$ cd mongo
mongo$ git tag -l
0.9.1
1.7-cut
idxv1
r0.0.3
...
r1.9.1
r1.9.2
r2.0.0-rc0
r2.0.0-rc1
mongo$ sudo git checkout r1.9.2
HEAD is now at dfcdcf1... BUMP 1.9.1
mongo$ sudo scons all
scons: Reading SConscript files ...
scons version: 2.0.1
python version: 2 7 1 'final' 0
Checking whether the C++ compiler worksyes
Checking for C library stdc++... yes
...
... (Long Build Job)
...
scons: done building targets.
mongo$ sudo scons --prefix=/opt/mongo install
scons: Reading SConscript files ...
scons version: 2.0.1
python version: 2 7 1 'final' 0
Checking whether the C++ compiler works(cached) yes
...
scons: done building targets.
되도록이면 $ sudo apt-get install mongodb-10gen을 통해 설치하도록 합시다.
'Web > PHP' 카테고리의 다른 글
ubuntu+php에서 mongoDB 설치하기 (0) | 2011.09.02 |
---|---|
PHP Shell (0) | 2011.08.03 |
VMWare+Ubuntu+APM(Apache,PHP,MYSQL)+RSYNC 로 웹 서버 환경 구축 하기 (0) | 2011.08.03 |