개발 중에 필요한 테스트 환경을 쉽게 구성해주는 도구인 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" 를 입력하여 접속할 수 있다.


Laravel HomesteadLaravel 개발 시에 테스트를 위한 가상환경을 편리하게 구성할 수 있도록 도와주는 도구이다. 하지만, 기본적으로 PHP 프로젝트를 위한 환경 구성이기 때문에, Laravel만 아니라, PHP로 개발하면서 테스트 환경이 필요할 때에도 유용하게 사용할 수 있다. Homestead는 아래와 같은 환경으로 구성되어 있다.

Laravel Homestead는 vagrant로 만들어져 있으며, (Mac OS X를 포함한) *NIX 계열 OS에서는 사용하기 편리하게 만들어져 있지만, 공식 문서의 설명도 Windows 사용자는 배려하지 않고 있다. 하지만, Windows에서도 아래와 같은 순서대로 따라하면, 그다지 어렵지 않게 사용할 수 있다.


1. 필요한 것

  • vagrant 설치 : 에서 설치 파일을 다운로드 받아서 설치한다.
  • Oracle VirtualBox 설치 : 역시 에서 설치파일을 다운로드 받아서 설치한다. VMWare를 사용할 수도 있지만, VMWare를 사용하는 경우에는 PlugIn도 설치해야 해서, 게다가 유료이고, Virtual Box만 테스트해보았다.
  • git 설치 : 간단하게 zip파일을 다운로드하는 방법도 있지만, git을 설치하면 쉘스크립트를 실행하기 위해서 필요한 bash도 같이 설치되어 설치 절차가 간편해진다. 개발자라면 대부분 설치했겠지만, 아직 설치하지 않았다면 git 에서 Windows 용 설치파일을 다운로드 받아서 설치한다.
  • BIOS 설정 확인 : 하드웨어 가상화(VT-x)가 켜져 있는지 확인한다.


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 키 생성이 필요하다. 의 설명을 참고해서 공개키/개인키 파일을 만든다. 키 파일을 저장힐때, 사용자 폴더(이하 %HOME%) 밑에 .ssh 라는 폴더를 만들어서 각각 아래 이름으로 만들면, 설정에서 키 관련한 설정은 신경쓸 필요가 없다.

  • 공개키 : id_rsa.pub
  • 개인키 : id_rsa


4. 설정

Git을 설치했다면, Git Bash라는 것도 함께 설치되었을텐데, 이것을 실행한 뒤에 프로젝트 저장소를 내려받은 곳으로 이동한 뒤에 다음을 실행한다.

bash init.sh

그러면, 사용자 폴더(이하 %HOME%)에 .homestead 라는 폴더가 생성된다.

%HOME%\.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 항목에 연결한 도메인을 Windows\system32\drivers\etc\hosts 파일에 추가한다. (관리자 권한 필요)

192.168.10.10    homestead.app


6. Homestead 실행

커맨드라인 창을 띄우고(git bash도 무관) 아래 명령어를 실행한다.

vagrant up

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


7. 사용

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

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


'Operating' 카테고리의 다른 글

Windows에서 SSH 키 만들기  (0) 2015.11.08
Windows 8 에서 네트워크 드라이브가 표시되지 않을때  (0) 2015.04.06
MySQL Replication 복구  (0) 2015.02.05

+ Recent posts