NodeJS로 개발하려다가 여러가지 애로사항이 꽃피어서 다시 Laravel로 돌아왔습니다... 역시 서버는 순차프로그래밍이지!-_-
암튼, Laravel사이트에 갔더니 5.0이 나왔더군요. 그래서 또 자세히 보니, HomeStead라는 게 생겼는데(원래 있었는지는 잘 모르겠...), 이것은 손쉽게 개발환경이 셋팅된 가상 서버를 만들어주는 것입니다.
어떤 구조냐면요. Vagrant라는 것이 있는데요. 이것은 이미 만들어진 개발환경을 손쉽게 자신의 PC에 명령어 몇 줄로 올리는 것입니다. 이 개발환경을 Laravel 환경에 맞게 구성한 것이 Laravel HomeStead입니다.
사실 PHP를 셋팅하려면 apache or nginx 설치하고, php도 설치하고, 서로 환경설정해서 연동도 하고, MySQL도 설치하고, 필요하면 캐시 서버인 Memcached or Redis도 설치하고, 여간 쉬운 일이 아니죠. 그리고, 보통 Windows 또는 OSX에서 작업을 많이 하기 때문에 실제 리얼서버는 대부분 리눅스계열이라 환경이 틀려서 제대로 동작하지 않을 수도 있지요.
Vagrant 사이트입니다. 여기서 그냥 Getting Started만 따라해도 몇 분만에 우분투 서버를 띄울 수 있어요.
https://www.vagrantup.com/
Laravel homeStead는?
Ubuntu 14.04
PHP 5.6
HHVM
Nginx
MySQL
Postgres
Node (With Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Laravel Envoy
Fabric + HipChat Extension
Blackfire Profiler
를 포함하고 있대요. 그래서 설치만 하면 우분투 환경에 nginx위에 돌아가는 Laravel이 이미 셋팅이 되어 있는 것이죠.
아래 사이트에서 설치 및 셋팅이 잘 나와있어요.
http://laravel.com/docs/5.0/homestead
간단하게 정리를 하면 아래와 같습니다(일단 맥용 기준인데 윈도우즈용도 매우 흡사할 것이에요).
1. VirtualBox & Vagrant 설치
https://www.virtualbox.org/wiki/Downloads
http://www.vagrantup.com/downloads.html
2. Vagrant에 Laravel/HomeStead 추가.
이 작업은 vagrant에 가상머신 다운로드해서 추가해놓는 작업 같습니다.
vagrant box add laravel/homestead
3. homestead 설치
두 가지 방식이 있는데, 하나는 git을 이용한 방식이고, 하나는 composer를 이용한 방식입니다. 사실 composer로 설치하는 homestead가 뭐 별거 없는 게 vagrant를 래핑한 것입니다. 그래서 git으로 Vagrant파일 받고, vagrant로 써도 무관합니다.
수동으로 git 설치 방법
git clone으로 원하는 위치에 받은 뒤, init스크립트를 호출해주면 설치와 셋팅이 완료됩니다.
git clone https://github.com/laravel/homestead.git Homestead
cd Homestead
bash init
그러면 ~/.homestead/Homestead.yaml 파일이 생기는데, 이 파일의 설정으로 자신의 PC와 가상머신과 연결할 경로를 지정하거나 SSH키 위치 셋팅 등을 할 수 있어요.
composer 이용방법
아래 명령어로 설치를 하면 homestead command를 사용할 수 있는데, 이것을 이용하면 쉽게 초기화하고 쉽게 edit를 띄울 수 있고, 쉽게 Vagrant를 up할 수 있습니다.
composer global require "laravel/homestead=~2.0"
homestead init
이것도 init을 하면 위와 같은 경로에 설정파일이 생겨요.
4. Laravel 경로 지정
Homestead.yaml의 기본 경로는 ~/Code 입니다. 자신의 Laravel위치로 바꿔주면 됩니다. 그러면 로컬에서 수정하고 확인은 Homestead로 하면 됩니다. laravel은 설치했다는 과정하에....
mkdir ~/Code
cd Code
laravel new Laravel
그러면 설정에 기본셋팅에 맞는 위치에 Laravel이 생깁니다. 바로 서버를 띄워서 확인할 수 있어요. 물론 원하는 위치로 셋팅을 바꿀 수도 있어요.
5. ssh 설정
이건 아마 기본적으로 ~/.ssh에 rsa를 만들었다면 따로 안해줘도 될겁니다. 다른 키를 쓰고 싶다면 Homestead.yaml에 다르게 설정해야 합니다.
6. 호스트 잡기
/etc/hosts파일에 아까 Homestead.yaml에 정의된 sites주소로 잡는 겁니다. 그 주소로 들어오면 Laravel을 열도록 nginx가 설정되어 있습니다.
/etc/hosts
# homestead
192.168.10.10 homestead.app
7. 실행하기
git으로 설치했다면 Homestead 폴더로 가서 Vagrant up하면 됩니다.
composer로 설치했다면 그냥 아무 위치에서 homestead up하면 됩니다.
8. 확인하기
http://homestead.app/
Laravel5가 보이면 성공...
근데, 쓰고 나니까 뭔가 셋팅하는 게 복잡해 보이는데 그렇게 복잡하진 않아요. 실제 일일이 로컬에 개발환경 셋팅하는 것보단 이 방식이 더 나아보입니다. PC를 깨끗하게 쓰고 싶은 사람들은 로컬에 뭔가 따로 설치하지 않아도 되니까 좋기도 하구요.