웹 어플리케이션을 만들기 위해서는 프로그래밍 언어와 웹(Web) 서버 또는 WAS(Web Application Server), 그리고 데이타를 저장하고 처리하기 위한 DBMS가 필요합니다.

오픈 소스를 사용하여 웹 개발 프로젝트를 진행할 때 가장 많이 사용되는 웹 서버는 Apache HTTP 서버이며 DBMS는 MySQL, 그리고 프로그래밍 언어인 PHP 의 앞 글자를 따서 AMP 라고 부르며

맨 앞에서 사용하는 OS 의 첫 단어를 붙여서 구분하기도 합니다.


예를 들어 리눅스(Linux)에서 Apache http, MySQL, PHP 를 사용할 경우 LAMP 이며 윈도(Windows) 에서는 WAMP 라고 부릅니다.


라라벨 5는 최신 PHP 의 기능을 사용하므로 5.5.9 이상의 PHP 가 필요하며 다음 표와 같은 PHP 확장 모듈이 설치되어 있어야 하며 DBMS 를 사용할 경우 PDO 모듈과 해당 DBMS 의 PDO 드라이버(PDO_MYSQ, PDO_PGSQL 등)가 설치되어 있어야 합니다.

특히 PHP 5.5 부터는 PHP 코드를 byte 코드로 컴파일하여 메모리에 캐싱하는 제품인 Zend opcache 가 정식 포함되어 있으므로 5.5 이상 버전을 사용하는 것이 좋습니다.


하지만 웹 서버, DBMS, PHP 를 기반으로 개발 환경을 설정하는 것은 경험이 많지 않다면 매우 시간이 많이 들고 귀찮은 작업입니다.


개발자마다 다른 OS를 사용할 수도 있고 같은 OS라 하더라도 버전이 다를수 가 있습니다. 사용할 수 있는 웹 서버는 아파치 웹 서버와 엔진엑스 크게 두 제품이 있으며 아파치의 경우 2.2와 2.4의 설정 문법이 다른 부분이 많습니다. 

또 개발자의 PC 에 기존에 수행했던 프로젝트가 특정 버전의 PHP 나 특정 버전의 MySQL 을 사용해서 새로 설치하는게 부담스러울 수도 있습니다.


이런 다양하고 복잡한 환경을 넘어설 수 있는 가장 좋은 방법중에 하나는 바로 가상 머신위에 개발 환경을 꾸미는 것입니다. 


본 도서는 라라벨로 웹 개발하는 것에 촛점을 맞추고 있으므로 가장 손쉽게 개발 환경을 구성하여 바로 라라벨 개발에 들어갈 수 있도록 가상 머신위에서 구성하는 방법을 안내할 것입니다.


출간 이후에 PHP 개발 환경이 많이 변경되었고 대표적으로 OS X 에서 빠르게 개발 환경을 구성할 수 있는 valet 이 Windows 에도 포팅된 점입니다.

vagrant 는 장점이 많지만 속도가 느리고 문제 발생시 해결이 어려우므로 설치 문제를 겪을 경우 Windows 에서 Valet 으로 PHP 개발 환경 만들기 을 참고해서 valet 을 사용하기를 권장합니다.