- Vagrant : 간소화되고 Template화된 Virtual Machine 관리 서비스라고 볼 수 있다. 설치하고자 하는 운영체제들과 더불어 각각 적절하게 가상화된 하드웨어들을 분배해주고 이를 하나의 Template으로 고정하여 명령 하나로 정해진 머신 이미지를 내려받을 수 있는 서비스이다.
https://www.vagrantup.com/를 통해 Vagrant를 다운 받을 수 있으며,
https://app.vagrantup.com/boxes/search에서 템플릿화된 Vagrant Boxes들을 확인할 수 있다.
VM을 기동하고 상태를 확인한다. 또한 ssh 명령어를 통해 로그인을 시도해본다.
관련 명령어들은 다음과 같다.
| Command | Description |
|-------|-----------|
| vagrant up | VM 시동 |
| vagrant halt | VM 정지 |
| vagrant suspend | VM 휴면 |
| vagrant resume | VM 휴면 취소 |
| vagrant reload | VM 재시동 |
| vagrant status | VM 상태 확인 |
| vagrant destroy | VM 삭제 |
| vagrant ssh | ssh로 VM에 로그인 |
자바스크립트 언어를 사용하기로 했기에 이를 실행하기 위한 런타임 환경인 Node.js 자바스크립트 엔진을 설치한다.
nvm 설치 -> Shell 재시작 -> 재접속 후 로그인하여 Node.js 0.12.4 version 설치
자세한 사항은 간단하기에 생략한다.
오픈 소스 코드를 로컬에 받을 수 있고 손쉬운 버전관리를 위해 git도 설치한다.
sudo yum install git
VM은 Host Machine의 하드웨어를 분배받아 존재하는 독립적인 서버이다. 기본적으로는 Host Machine에서 접근할 수 없기에 접근 가능하도록 설정을 해준다.
이는 Vagrant의 configuration 파일은 Vagrantfile을 수정하여 실현한다.
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "private_network", ip: "192.168.33.10"
첫번째 수정으로 VM의 웹 서버의 80번 포트가 호스트 머신의 8080포트에 할당된다.
두번째 수정으로 VM의 IP주소가 이에 할당된다.
Host Machine에서 VM에 접근가능하게 설정을 했으니 두 컴퓨터가 서로 폴더를 공유할 수도 있다. 공유 설정을 마치고 VM을 reload한다. 자세한 사항은 간단하기에 생략한다.
Node.js의 모듈을 사용하기 위해선 npm(node package manager)를 이용한다.
npm은 Node.js로 만들어진 모듈을 웹에서 받아서 설치하고 관리해주는 프로그램이다. 개발자는 필요한 모듈을 직접 만들어 사용할 수도 있지만, 항상 모든 것을 직접 만드는 것보단 훨씬 똑똑하고 잘하는 다른 개발자들이 만들고 인정한 well-made 모듈을 사용하는 것이 더 효율적이다. 이를 위한 프로그램이 npm이다.
공식 문서에 담긴 명령어를 이용해 npm을 활용한다.
https://docs.npmjs.com/
https://www.npmjs.com/
기본적으로 가상머신에서 개발을 하기 위한 밑바탕을 완성했다. Vagrant와 Virtual Box를 통해 CentOS를 손쉽게 설치하였고, 개발과 공부에 필요한 Node.js, git을 설치하였다.
또한 Host Machine에서 개발하고 VM에서 실행하기 위해 Host Machine에서 VM에 접근할 수 있도록 포트포워딩 설정을 마쳤고, 두 컴퓨터 간의 폴더 공유를 위한 설정도 끝마쳤다. Node.js의 수많은 모듈들을 이용하기 위한 npm(node package manager) 활용도 알아보았다.
개발 환경을 다 갖추었으니, 다음 포스팅에서는 웹에 있는 데이터를 다운받을 수 있는 프로그램을 작성해볼 것이다.