Homestead를 이용해서 Laravel 개발 환경 만들기
Laravel
개발 환경을 구축하기 위한 가장 쉬운 방법을 이제 Laravel에서 제공을 한다. 2014 Laracon에서 Taylor Otwell이 소개한 Homestead
가 그것이다. Laravel 4.2부터는 local 환경 설정으로 homestead를 기본으로 채택하고 있다.
Homestead
를 이용해서 어떻게 Laravel 개발 환경을 꾸미는지 살펴보자.
VirtualBox와 Vagrant 설치
Homestead는 가상 머신을 이용한다. 가상 머신을 생성하기 위해서는 다음 프로그램이 설치되어 있어야 한다.
위 두 프로그램은 쉽게 설치 가능하다.
Vagrant Box 추가하기
Vagrant Box
는 OS와 필요 프로그램이 설치되어 있는 일종의 스냅샷 이미지다. homestead 박스를 다음 명령으로 추가한다. 몇백 메가의 이미지를 다운로드 받기 때문에 시간이 좀 걸린다.
$ vagrant box add laravel/homestead
homestead 저장소 클론하기
user1
사용자의 홈에서 작업을 시작한다고 가정하자.
$ mkdir code && cd $_
$ git clone https://github.com/laravel/homestead.git
Laravel 애플리케이션 생성하기
$ laravel new example
SSH 키 생성하기
~/.ssh/
폴더에 id_rsa
파일이 없으면 다음의 명령을 통해서 키를 생성한다.
$ ssh-keygen -t rsa -C "your@email.com"
homestead 설정하기
Homestead.yaml 파일을 수정한다.
$ cd homestead
$ vi Homestead.yaml
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
authorize: /Users/user1/.ssh/id_rsa.pub
keys:
- /Users/user1/.ssh/id_rsa
folders:
- map: /Users/user1/code/example
to: /home/vagrant/code/example
sites:
- map: example.dev
to: /home/vagrant/code/example/public
variables:
- key: APP_ENV
value: local
hosts 파일 수정
example.dev로 접속을 하기 위해서는 호스트 파일을 수정해야 한다.
$ sudo echo "127.0.0.1 example.dev" >> /etc/hosts
VM 생성 및 실행
이제 마지막인다. 다음 명령으로 가상머신을 생성하고, 실행한다.
$ vagrant up
테스트
http://example.dev:8000
접속해서 Laravel 랜딩 페이지가 보이는지 확인한다.
새로운 사이트 추가하기
개발할 사이트가 하나 더 늘었났다. 다음의 절차를 통해서 신규 사이트를 VM에 추가할 수 있다.
신규 사이트 Laravel 애플리케이션 생성하기. 기존 방법과 동일하다.
$ laravel new newsite
$ sudo echo "127.0.0.1 newsite.dev" >> /etc/hosts
Homestead.yaml
에 신규 사이트 정보 추가하기
$ cd homestead
$ vi Homestead.yaml
...
folders:
- map: /Users/user1/code/example
to: /home/vagrant/code/example
- map: /Users/user1/code/newsite
to: /home/vagrant/code/newsite
sites:
- map: example.dev
to: /home/vagrant/code/example/public
- map: newsite.dev
to: /home/vagrant/code/newsite/public
...
vagrant
을 재시작하고, 프로비저닝을 다시 한다.
$ vagrant reload --provision
주의사항 : 프로비저닝을 하면 기존 사이트의 nginx 설정파일을 기본 내용으로 덮어 쓴다. 기존 사이트의 nginx 설정파일을 백업해 놓고 프로비저닝을 하는 게 좋다. nginx 사이트 설정파일은 '/etc/nginx/sites-available' 폴더 밑에 있다.
HHVM 사용하기
sites:
- map: example.dev
to: /home/vagrant/code/example/public
hhvm: true
관련글
-
0 likes
- 7188 views