API를 개발하면 문서를 만들어야 하는데 이것을 쉽게 만들어주는 툴이 iodocs이다.
Git에 보면 간단한 설명이 있다.
I/O Docs Github 바로가기
I/O Docs is a live interactive documentation system for RESTful web APIs. By defining APIs at the resource, method and parameter levels in a JSON schema, I/O Docs will generate a JavaScript client interface. API calls can be executed from this interface, which are then proxied through the I/O Docs server with payload data cleanly formatted (pretty-printed if JSON or XML). Basic HTML text tags are enabled in the JSON schema.
Iodocs가 좋은 점은 doc인데도 불구하고 해당 페이지에서 직접 API를 날려 볼 수 있도록 되어 있다.
설치 방법은 yum을 이용해서 간단하게 설치하는 방법도 있으나 여기서는 하나씩 설치하는 방식을 사용한다.
INSTALLATION INSTRUCTIONS FOR NODE, NPM & REDIS Node.js - https://github.com/joyent/node/wiki/Installation npm (Node package manager) - https://github.com/isaacs/npm Redis - http://redis.io/download INSTALLATION INSTRUCTIONS FOR I/O DOCSFrom the command line type in:
git clone http://github.com/mashery/iodocs.git
cd iodocs
npm install
해당 사이트에 가면 위 1~3번을 설치하고 나면 간단하게 iodocs를 설치 할 수 있다고 나온다.
일단은 저걸 설치하려면 Git이 서버에 설치가 되어 있어야 한다. 일단 Git을 설치하자.
OS버전은 RedHat이며 각 설치 방법은 OS별로 다르다.
[root@iaas-5dol-sandbox ~]# yum install git-core
더보기 접기
[root@iaas-5dol-sandbox ~]# yum install git-core
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.8.2.1-1.el5 set to be updated
--> Processing Dependency: perl-Git = 1.8.2.1-1.el5 for package: git
--> Processing Dependency: perl(Term::ReadKey) for package: git
--> Processing Dependency: perl(Git) for package: git
--> Processing Dependency: perl(Error) for package: git
--> Running transaction check
---> Package perl-Error.noarch 1:0.17010-1.el5 set to be updated
---> Package perl-Git.x86_64 0:1.8.2.1-1.el5 set to be updated
---> Package perl-TermReadKey.x86_64 0:2.30-4.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================
Installing:
git x86_64 1.8.2.1-1.el5 EPEL5 7.4 M
Installing for dependencies:
perl-Error noarch 1:0.17010-1.el5 EPEL5 26 k
perl-Git x86_64 1.8.2.1-1.el5 EPEL5 49 k
perl-TermReadKey x86_64 2.30-4.el5 EPEL5 32 k
Transaction Summary
======================================================================================================================================
Install 4 Package(s)
Upgrade 0 Package(s)
Total download size: 7.5 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): perl-Error-0.17010-1.el5.noarch.rpm | 26 kB 00:00
(2/4): perl-TermReadKey-2.30-4.el5.x86_64.rpm | 32 kB 00:00
(3/4): perl-Git-1.8.2.1-1.el5.x86_64.rpm | 49 kB 00:00
(4/4): git-1.8.2.1-1.el5.x86_64.rpm | 7.4 MB 00:00
--------------------------------------------------------------------------------------------------------------------------------------
Total 29 MB/s | 7.5 MB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : perl-TermReadKey 1/4
Installing : perl-Error 2/4
Installing : git 3/4
Installing : perl-Git 4/4
Installed:
git.x86_64 0:1.8.2.1-1.el5
Dependency Installed:
perl-Error.noarch 1:0.17010-1.el5 perl-Git.x86_64 0:1.8.2.1-1.el5 perl-TermReadKey.x86_64 0:2.30-4.el5
Complete!
접기
이제 node.js를 설치해보자.
https://github.com/joyent/node/wiki/Installation 를 이용해서 직접 설치를 할 수 있으나.. 파이선을 버전에 맞게 다시 인스톨해줘야 하는 번거로움이 있어서 yum으로 인스톨을 하겠다.
필자의 경우 yum으로 install하려고 하니 nodejs가 없다고 나왔다.
더보기 접기
[root@iaas-5dol-sandbox ~]# yum install nodejs
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
No package nodejs available.
Nothing to do
접기
그냥 바이너리를 이용해서 설치하고 환경변수에 추가해주자
[root@iaas-5dol-sandbox program] wget http://nodejs.org/dist/v0.10.30/node-v0.10.30-linux-x64.tar.gz
[root@iaas-5dol-sandbox program]# tar xvfz node-v0.10.30-linux-x64.tar.gz
[root@iaas-5dol-sandbox program]# ln -s node-v0.10.30-linux-x64 node
[root@iaas-5dol-sandbox ~]vi .bash_profile
PATH=$PATH:$HOME/bin:/daum/program/node/bin
export PATH
자 이제 redis를 설치하자. redis를 iodocs에서 사용하는 이유는 iodocs 내부적으로 문서로 만든 API 자체를 날려볼 수 있기 때문인데 api가 oauth를 사용하는 경우에 인증을 저장할 공간이 필요하고 그것을 redis에 저장한다.
만약 oauth를 사용하지 않는 경우는 redis를 제거해도 되긴 한다. 여기선 일단 redis를 적용한 버전으로 진행한다.
[root@iaas-5dol-sandbox program] wget http://download.redis.io/releases/redis-2.8.13.tar.gz
[root@iaas-5dol-sandbox program] tar xvfz redis-2.8.13.tar.gz
[root@iaas-5dol-sandbox program] make
[root@iaas-5dol-sandbox program] make install
[root@iaas-5dol-sandbox program] ln -s redis-2.8.13 redis
이제 기본적인 것은 다 설치했으니 iodocs를 설치해보자.
[root@iaas-5dol-sandbox program] git clone http://github.com/mashery/iodocs.git
[root@iaas-5dol-sandbox program] cd iodocs
[root@iaas-5dol-sandbox program] npm install