자체 Parse 서버 구축을 위해 일단 parse.com 사이트를 방문한다.

메인 페이지의 parse-server Github 링크로 이동하면, Wiki 메뉴의 Parse 서버 구축과 마이그레이션 가이드에 구축 내용이 상세히 설명되어 있다.


전체적인 순서는 대충 이러하다:


    1. Parse.com DB 를 마이그레이션 하기 위한 MongoDB 구축 (Parse 사용 DB 가 MongoDB 이다.)
    2. DB 마이그레이션
    3. Parse 대시보드 구축
    4. 푸시 서비스할 parse-server 구축
    5. Web / Android / ios - parse-server 세팅
    6. 푸시 테스트



Database specifications


- MongoDB version 2.6.X / 3.0.X : 현재 최신버전은 3.2 이지만 권장사양인 3.0.x 를 설치했다.

- failIndexKeyTooLong 파라미터 값 false 지정

- SSL 접속 추천(권장 아님)



MongoDB install


Ubuntu 14.04 저장소에는 MongoDB 가 2.4 버전이므로 3.0 버전에 대한 저장소를 추가하여 설치한다.

문서 참고 - https://docs.mongodb.org/v3.0/


# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
# echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.0.list
# apt-get update
# apt-get install -y mongodb-org
# mongo -version
MongoDB shell version: 3.0.10
cs



MongoDB Setting


마이그레이션에 필요한 Database connection string 을 만들기 위해 DB 와 username/password 를 세팅한다.

/etc/mongod.conf 파일에서 외부 접속이 가능하도록 bindIp: 127.0.0.1 를 0.0.0.0 으로 변경한다.

1024 byte 가 넘는 Index key 를 허용하기 위해 failIndexKeyTooLong=false 도 설정한다.

MongoDB 는 기본적으로 27017 포트를 사용하므로 방화벽 등에서 허용해 준다.


# mongod --setParameter failIndexKeyTooLong=false
# vi /etc/mongod.conf
net:
  port: 27017
  bindIp: 0.0.0.0
# service mongod restart
# mongo
> use database_name
> db.createUser({ user: "username", pwd: "password", roles: [ "readWrite""dbAdmin" ] })
cs



MongoDB Migration


MongoDB 세팅을 마쳤으면 Parse 대시보드의 [App Setting - General] 메뉴에서 마이그레이션을 진행한다.

DB Connection 문자열은 mongodb://username:password@your_domain/database_name 가 될 것이며 ssl 을 사용한다면 뒤에 ?ssl=true 를 붙인다.

문제가 없다면 몇 분 뒤 마이그레이션이 완료된다.


마이그레이션을 마치고 데이터가 MongoDB 에 정상적으로 등록이 되었는지 확인한다.


# mongo
> use database_name
> show collections
> db.getCollection("_Installation").count()
> exit
 
# mongod --setParameter failIndexKeyTooLong=true
cs



WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

트랙백  0 , 댓글  2개가 달렸습니다.
  1. Parse-server까지는 마이그레이션을 못해서 Parse.com API + 자체 MongoDB 조합으로 쓰느라 bindip가 고대로 0.0.0.0으로 두고 있었는데 요 며칠사이에 랜섬이 날뛰어서 제대로 당했네요. 무작위로 때리는 느낌인데 마이그레이션 도중이라도 잠깐 bindip 열어두는것도 조심해야 할 것 같습니다.
    • 별일없으셔서 다행이네요~ 모든 ip 를 허용하는것 보다는 필요한 ip 를 지정해 주는게 더 좋겠습니다~ 각자의 환경에 맞게 잘 구축하시길~
secret