개발 중에 필요한 테스트 환경을 쉽게 구성해주는 도구인 Laravel Homestead를 Linux나 Mac에서 사용하는 방법을 정리해보았다. 공식 문서는 개발자들의 표준 컴퓨터인 Mac을 기준으로 되어있기 때문에 그 내용에서 크게 다를 것은 없다. Windows에서 사용하는 방법은 다음 글을 참고하자.

vagrant 기반으로 만들어진 Laravel Homestead는 다음 환경으로 구성되어 있다.

이와 같이 복잡해 보이는 운영 스택을 명령어 4개 입력하고 파일 2개 편집하는 것으로 간단히 구성할 수 있다.


1. 필요한 것

vagrantVirtualBox 설치가 필요하다. 공식 사이트에서 내려받아서 설치해도 되고, 패키지 시스템에 있다면 그걸 설치해도 되겠다. Mac이나 Linux를 쓸 정도라면 git은 이미 설치가 되어있겠지만, 혹시 없다면 이것도 설치한다.


2. Homestead 프로젝트 받기

아래와 같이 github에서 Homestead 프로젝트 저장소를 내려받는다.

git clone https://github.com/laravel/homestead.git Homestead

PHP7을 사용하고 싶다면 아래와 같이 프로젝트를 받는다.

git clone -b php-7 https://github.com/laravel/homestead.git Homestead


3. SSH 키 생성

가상환경에서 사용할 SSH 키 생성이 필요한데, 이미 생성해둔 것이 없다면 아래 명령어로 생성한다.

ssh-keygen -t rsa -C "you@homestead"


4. 설정

프로젝트 저장소를 내려받은 곳으로 이동한 뒤에 다음을 실행한다.

bash init.sh

실행하고 나면, ~/.homestead 디렉토리가 만들어지고, 그 안에 아래와 같은 내용의 Homestead.yaml 파일이 생성된다.

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Projects
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

databases:
    - homestead

variables:
    - key: APP_ENV
      value: local

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 93000
#       to: 9300
#     - send: 7777
#       to: 777
#       protocol: udp

위의 내용에서 굵게 표시한 내용이 확인이 필요한 내용으로, 설명은 아래와 같다.

  • ip : 가상환경에서 사용할 ip. 별 문제없으면 기본값을 사용하면 된다.
  • authorize : 공개키 파일 위치
  • keys : 개인키 파일 위치
  • folders : VirtualMachine과 공유할 디렉토리 설정
  • sites : 가상 환경에서 연결할 프로젝트 경로. folders에서 연결한 경로 하위 디렉토리를 도메인으로 연결할 수 있다.


5. hosts 파일 수정

sites - map 항목에 연결한 도메인을 /etc/hosts 파일에 추가한다.

192.168.10.10    homestead.app


6. Homestead 실행

아래 명령어로 Homestead를 실행한다.

vagrant up

처음 실행하는 것이면, box(vagrant에서 사용하는 이리 생성된 가상 머신 템플릿)를 다운로드 받는데 시간이 좀 걸린다.


7. 사용

여기까지 모두 끝났으면, 브라우저를 띄워서 위에서 설정한 도메인(위의 경우 homestead.app)을 입력하면 프로젝트 화면이 나올 것이다. 공유 폴더로 연결되어 있기 때문에 프로젝트 디렉토리의 변경사항은 바로 반영된다.

가상 머신에 SSH를 사용하여 접속하는 것도 가능한데, 생성해둔 SSH 개인키를 사용하지 않을 경우에는 아이디/패스워드 모두 "vagrant" 를 입력하여 접속할 수 있다.


+ Recent posts