이제 앱들과 SDK 통신할 Parse 서버를 구축한다.

아래 문서들을 참조하는데, 오픈 소스이다 보니 버그도 간혹 있으므로 참고한다. (현재 v2.1.6은 문제 없었음.)


https://github.com/ParsePlatform/parse-server

https://github.com/ParsePlatform/parse-server/wiki

https://www.npmjs.com/package/parse-server



1. nodejs & npm 설치


Node.js 버전 4.3 이상을 요구하므로 4.x 로 설치한다.

함께 설치되는 npm 도 최신버전으로 업데이트한다.

Python 2.x 도 필요하지만 기본적으로 2.7 버전대가 설치되므로 -v 로 버전 확인만 한다.


# curl -sL https://deb.nodesource.com/setup_4.x | bash -
# apt-get install -y nodejs
# apt-get install -y build-essential
 
# npm install npm -g
# nodejs -v
v4.4.0
# npm -v
3.8.1
cs



2. parse-server 설치


$ npm install -g parse-server mongodb-runner
$ mongodb-runner start
cs


(mongodb-runner 는 머하는지 모르겠음; 없어도 정상적으로 동작함)

위와 같이 npm 글로벌 설치를 하면 /usr/lib/node_modules/parse-server 가 홈디렉토리가 된다.

파스 서버의 설정 파일은 parse-server 디렉토리 밖의 특정 장소에 저장하는 것이 좋다. (npm update 시 삭제될 수 있음.)

아래 설정 파일 항목의 appId 와 masterKey 값은 https://dashboard.parse.com/apps 대시보드의 [App Settings - Security & Keys] 메뉴를 참고한다.

push 설정의 경우, 기존 푸시 사용자는 https://dashboard.parse.com/apps 대시보드의 [Push] 메뉴를 참고하고, 신규 사용자는 해당 디바이스 개발자에게 문의ㅎ


$ vi /usr/lib/node_modules/config-parse.json
{
  "databaseURI""mongodb://username:password@mongodb-ip/database-name",
  "appId""XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "masterKey""XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "push": {
    "android": {
      "senderId""1111111111111",
      "apiKey""XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    },
    "ios": {
      "pfx""/file/path/to/development_XXX.p12",
      "bundleId""com.oops4u.parse",
      "production"false
    },
    {
      "pfx""/file/path/to/product_XXX.p12",
      "bundleId""com.oops4u.parse",
      "production"true
    },
    {
      "pfx""/file/path/to/proudct_enterprise_XXX.p12",
      "bundleId""com.oops4u.enterprise.parse",
      "production"true
    }
  }
});
cs



3. parse-server 실행


$ parse-server --appId APPLICATION_ID --masterKey MASTER_KEY --databaseURI DATABASE_URI ...
cs


이런 식으로 실행을 해야 하지만 설정 파일을 미리 만들어 놓았으므로, 아래와 같이 설정 파일만 호출하면 된다.


# parse-server /usr/lib/node_modules/config-parse.json
Configuation loaded from /usr/lib/node_modules/config-parse.json
databaseURI: mongodb://username:password@your_domain/database_name
appId: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
masterKey: ***REDACTED***
push: [object Object]
port: 1337
mountPath: /parse
maxUploadSize: 20mb
serverURL: http://parse-server-domain:1337/parse
 
parse-server running on http://parse-server-domain:1337/parse
cs


기본적으로 parse-server 는 1337 포트를 사용한다.

변경하고 싶다면 parse-server 실행시 --port 1338 등의 매개변수를 추가할 수 있으며, 해당 포트는 방화벽 등에서 허용한다.

더 많은 옵션은 parse-server -h 로 확인.




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

,