Homestead 는 라라벨 버전 4.2부터 공식적으로 지원하는 방식으로 가상 머신 기반하에 개발 환경을 구성할 수 있게 해주는 vagrant를 이용하여 라라벨 개발 환경을 만들수 있도록 한 프로젝트입니다.
그러면 vagrant 란 무엇인지 간략하게 알아보고 Homestead 를 구성하는 방법에 대해서 알아봅시다.
Vagrant 란
가상화(Virtualization)는 실제 운영체제 위에 가상화 소프트웨어를 설치한 후에 소프트웨어를 통해 하드웨어(CPU, Memory, Disk, NIC 등)를 에뮬레이션한 후에 이 위에 운영체제(Guest OS)를 설치하는 것을 의미합니다. 가상화를 해 주는 소프트웨어를 하이퍼바이저(Hypervisor) 라고 하며 종류로는 이 책에서 사용하는 VirtualBox, 그리고 VMWare, Xen 등이 있습니다.
하이퍼바이저를 설치하는 실제 운영체제(윈도, OS X, 리눅스 등)를 호스트(Host) OS 라 하고 하이퍼바이저 위에 만든 가상 머신에 설치된 운영체제를 게스트 OS 라고 부릅니다.
가상화는 다양한 운영체제와 애플리케이션을 논리적으로 분리할 수 있으므로 여러 운영제체와 애플리케이션을 구동하는 개발 환경등 복잡한 환경을 추상화할 수 있는 좋은 방법이지만 가상 머신을 통해 개발환경을 구성하려면 부딪히는 중요한 문제가 있습니다.
가상 머신에 운영체제를 설치하고 웹 서버, DBMS, PHP 를 설치하는 것은 개발 환경 구성 대상이 PC 에서 가상 머신으로 옮겨졌을 뿐이지 기존 작업과 난이도 측면에서 차이가 없으며 오히려 가상 머신을 설치하고 관리해야 하는 부담이 더 늘었습니다.
다음 그림에서 보이는 가상화 부분에 해당하는 하이퍼바이저 설치, 운영체제(Guest OS) 설치, 애플리케이션 설치 및 설정은 모든 개발자가 다 똑같이 해줘야 하는 작업입니다.
Vagrant 는 이런 문제를 해결하기 위한 솔루션으로 설정 스크립트를 기반으로 특정 환경의 가상 머신을 만들어서 신속하게 개발 환경을 구축하고 공유할 수 있게 만들어진 솔루션입니다.
Vagrant 는 VirtualBox, VMWare 등을 지원하고 있으나 VMWare 에서 사용하려면 별도의 드라이버를 구매해야 하므로 이 책에서는 VirtualBox 를 기반으로 라라벨 개발 환경을 구성하겠습니다.
이 책에서는 VirtualBox 5.0.4, Vagrant 1.7.4, git 1.9.5 를 사용하였습니다.
홈스테드(Homestead)는 vagrant 의 설정 스크립트를 사용하여 라라벨 애플리케이션을 작성하는데 필요한 모든 구성 요소를 자동으로 설치하는 프로젝트로 홈스테드를 사용하면 가상 머신에 다음과 같이 우분투 운영체제, 웹서버, DBMS, PHP 스택이 자동으로 설치 및 설정이 완료됩니다.
- Ubuntu 14.04
- PHP 7.0
- Git 1.9
- HHVM (HipHop Virtual Machine) 3.11
- Nginx 1.9
- MySQL 5.7
- Postgres
- Node (With PM2, Bower, Grunt, and Gulp)
- Redis
- Memcached
- Beanstalkd
- Laravel Envoy
- Blackfire Profiler
윈도 사용자는 VirtualBox 를 사용하려면 하드웨어 가상화(인텔의 경우 VT-x, AMD 는 AMD-V) 를 활성화 시켜야 합니다. 하드웨어 가상화 활성화는 바이오스에서 설정할 수 있습니다.
출처 : https://www.lesstif.com/display/LIFE
'Web Programming > laravel' 카테고리의 다른 글
laravel 개발환경 > 홈스테드 구성 (0) | 2018.10.31 |
---|---|
laravel 개발환경 > Vagrant 설치 및 설정 (0) | 2018.10.30 |
laravel 개발환경 (0) | 2018.10.30 |
laravel 소개 및 장점 > 손쉬운 테스팅 (0) | 2018.10.30 |
laravel 소개 및 장점 > 국제화를 위한 지원 (0) | 2018.10.30 |