이제 앱들과 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
- 손가락귀신
정신 못차리면, 벌 받는다.