Homestead를 이용해서 Laravel 개발 환경 만들기

Submitted by river - 등록 10 years ago - 수정 9 years ago

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

관련글

comments powered by Disqus