MEAN 스택은 JavaScript 기반의 풀스택 서버 개발환경으로, MongoDB, ExpressJS, AngularJS, Node를 포함합니다. 이번 가이드에서는 Ubuntu 14.04 서버에 설치하는 방법을 소개합니다.
준비사항
- Ubuntu 14.04 서버
- sudo 권한을 가진 계정 (root 제외)
설치에 필요한 사항은 Ubuntu 서버 14.04 초기설정 가이드을 참고하시기 바랍니다.
출처: Digital Ocean, Installing Node.js via package manager
MongoDB 설치
앞으로 이루어질 설치는 Ubuntu의 패키지 관리 시스템인 apt
를 통해 이루어집니다. 먼저 해야 할 일은 최신 버전의 MongoDB 소스가 포함되어 있는 repository를 추가하는 것입니다. 기본적으로 Ubuntu에는 MongoDB를 설치할 수 있는 repository가 포함되어 있지 않습니다. 아래와 같이 신뢰할 수 있는 key를 추가한 후 repository 리스트 파일을 생성합니다.
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
$ echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
이제 MongoDB의 repository가 추가되었습니다. 다음에는 로컬에 저장되어 있는 패키지 캐쉬를 최신화 하고 설치하는 작업을 진행합니다.
$ sudo apt-get update
$ sudo apt-get install mongodb-org git build-essential openssl libssl-dev pkg-config
Node 설치
Node는 아직도 굉장히 빠른 속도로 개발중인 프로젝트입니다. 따라서 마찬가지로 다음과 같이 repository 추가가 필요합니다. (업데이트: 기존 소스 컴파일 방법으로부터 변경되었습니다.)
$ curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
이후에 다음과 같이 설치를 진행합니다.
$ sudo apt-get install -y nodejs
다음과 같이 Node와 npm의 설치된 버전을 확인할 수 있습니다.
$ node -v
$ npm -v
Bower, Grunt 설치하기
프론트엔드 어플리케이션 관리를 위해서 bower
라는 매니저를 사용하게 됩니다. 또한, Grunt Task Runner라는 것을 통해 반복적인 공통 작업을 수행하게 될 것입니다. 앞으로 많은 프로젝트에서 계속 사용되기 때문에 다음과 같이 글로벌하게 설치합니다.
$ sudo npm install -g bower grunt-cli
MEAN 스택 프로젝트 뼈대 생성(Scaffolding)
이제 필요한 소프트웨어는 모두 설치되었습니다. 새로운 프로젝트를 시작해야 하는데 매번 세팅하는 번거로움을 줄이기 위해 yo라는 generator가 있습니다.
$ sudo npm install -g yo
$ sudo npm install -g generator-meanjs
이제 폴더를 생성한 후 그 안에 들어가서 다음과 같이 명령어를 입력합니다. (현재 폴더에 파일을 생성해주므로 Desktop 같은 위치에서 실행하면 대략 난감해집니다 ^^)
$ yo meanjs
이제 스크립트가 물어보는 몇 가지 사항(프로젝트 이름, 제작자 이름 등)을 입력하면 프로젝트 생성이 완료됩니다.