Laravel Valet 으로 MacOS에서 Laraval Project 생성하기

Laravel Valet

웹 어플리케이션 시작하기 위해서는 DB설치, 웹 서버 설치 등 많은 환경설정과 설치 과정이 필요합니다. 이 과정은 귀찮고 힘든 여정입니다. 라라벨에서는 이런 설치 과정을 생략할 수 있는 서비스를 제공합니다. 이전 포스팅에서는 Composer 를 이용한 설치에 대해서만 살펴보았는데 이번 포스팅은 라라벨에서 제공하는 PrePackaging 서비스를 이용하여 라라벨 프로젝트를 서비스해보겠습니다.

라라벨 PrePackaging 는 크게 두 개 서비스로 제공됩니다.

  • Homestead => Windows / Linux 환경의 Prepackaging
  • Valet => MacOS 환경의 Prepackaging

각자 상황에 맞는 PrePackaging 서비스를 사용하여 웹 어플리케이션을 서비스하시면 됩니다. 이번 포스팅에서는 Laravel Valet 를 사용하여 MacOS 환경에서 라라벨 프로젝트를 설치하고 서비스까지 해보겠습니다.

Laravel 에서 제공하는 다양한 기능들

Laravel Valet 은 설치된 컴퓨터가 실행되는 경우 항상 Nginx 서버를 스타팅하며 DnsMasq (크지 않은 사이즈의 로컬 환경에서의 도메인 네임 서버) 를 사용하여 *.test 라는 도메인으로 모든 요청을 프록시 처리합니다. 포스팅 시점 최신 버전인 Laravel 5.8 Valet으로 설치합니다.

Laravel Valet 를 이용한 설치

1. Valet 설치

Valet 으로 라라벨 프로젝트를 설치하는 경우에는 MacOS의 패키지 관리자 homebrew 와 php 패키지 관리자 Composer 가 필요합니다.

1-1. Homebrew 설치

Terminal 에서 다음과 같은 명령어를 사용하여 Homebrew를 설치합니다. Homebrew는 MacOS 패키지관리자로 Window 처럼 PATH 설정, 설치 위치 확인 등 귀찮은 설치 과정을 생략할 수 있습니다. 이미 있으신 분들은 brew update 를 통해 Homebrew 최신버전으로 업데이트합니다.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1-2. php 설치

Homebrew 를 사용하여 php를 설치하여 줍니다.

brew install php

1-3. Composer 설치

php 패키지 관리자 Composer 를 설치합니다.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

// 설치 완료 후 Global로 composer를 사용할 수 있도록 설정
mv composer.phar /usr/local/bin/composer

1-4. Laravel valet 설치

Composer를 이용하여 Laravel Valet 를 설치한 후 Valet 를 전역으로 사용할 수 있도록 다음과 같이 ~/.bash_profile 에 ~/.composer/vendor/bin:$PATH를 추가하여 PATH를 설정해 줍니다. (.bash_profile 파일 없으신 분은 생성하셔도 됩니다.)

composer global require laravel/valet
sudo vim ~/.bash_profile 
~/.bash_profile 에 export PATH=~/.composer/vendor/bin:$PATH 행 추가

1-5. Valet 설치 & 시작

거의 다 왔습니다. 다음 명령어를 사용하여 Valet를 설치합니다.

valet install
valet 설치 과정

위 캡쳐 화면 처럼 valet install 명령어를 입력하면 Nginx, dnsmasq 를 자동 설치하고 .test 로 프록시를 자동설정합니다.

ping localhost.test

위의 명령어를 입력하면 localhost.test 란 도메인으로 valet으로 설치한 가상 서버가 작동하는 것을 확인할 수 있습니다.

1-6. Valet 설정 변경

Valet의 기본 설정을 바꾸고 싶은 경우 다음 명령들을 통해 수정할 수 있습니다.

valet tld app // .app 으로 TLD(Top Level Domain, .com, .kr 같은 도메인) 변경
valet user php@7.2 // 사용하고자하는 php 버전으로 수정 

Valet 의 DB가 필요한 경우에는 homebrew 를 사용하여 DB를 설치하며 127.0.0.1 주소로 연결되며 계정은 root 와 password는 빈문자열을 통해 DB 연결을 수행합니다.

2. Laravel Project 생성 후 연결

현재까지 Valet을 이용하여 웹 서버를 서비스했습니다. 라라벨 프로젝트를 설치하여 Valet 서버와 연결하겠습니다.

#composer global require laravel/installer // 라라벨 인스톨러가 없는 경우 설치
laravel install blogProject // blogProject 라라벨 프로젝트 생성
valet park blogProject // valet link blogProject라는 명령어도 가능 

blogProject 라는 라라벨 프로젝트를 생성 후 valet를 연결시킵니다. http://blogProject.test 도메인으로 해당 프로젝트를 열 수 있습니다.

blogProject.test 로 접속한 결과

또한, TLS(Transport Layer Secure) 사용할 수 있는 기능이 제공됩니다. 다음 명령어를 입력하는 경우 TLS 를 지원하여 https://blogProject.test 라는도메인으로 접근이 가능합니다.

valet secure blogProject

3. 세상에 공유하기

Laravel Valet은 간단한 명령어로 도메인을 생성하여 웹에 공유할 수 있습니다. 다음 명령어를 입력합니다.

valet share

https://8aca6f2f.ngrok.io 라는 도메인으로 웹에 제공되며 다른 사람들에게 공유할 수 있습니다. 도메인을 구매하여 사용하는 것보다 보기 이상한 도메인이지만 쉬운 방법으로 어플리케이션을 공유할 수 있는 방법입니다.

마침

라라벨 Valet 를 사용하여 라라벨 프로젝트를 설치하고 간단한 웹 서버를 구성하여 배포하는 것까지 해보았습니다. 크지 않는 규모의 라라벨 어플리케이션을 구성하고 싶은 경우에 Valet를 사용하여 구현하는 것을 추천합니다.

답글 남기기

이메일 주소는 공개되지 않습니다.