현실 –모두가 PHP개발자가 아님
- 프로젝트에 PHP 개발자만 있는 것은 아님
- 디자이너
- 퍼블리셔
- DBA
- Front End 개발자
- AMP 환경 구성이 익숙하지 않을 수 있음
7.
AMP 설치가 끝이아님
- Deploy 를 위해 Web Server 설정 익혀야 함(Virtual Host등)
- 운영 환경은 Apache 가 아닌 Nginx 도 많이 사용
- Apache 와 Nginx 의 설정 방법 상이
8.
PHP Deploy 문제
-PHP 프레임워크나 솔루션에 따라 DocumentRoot 가 달라짐
- Wordpress – wp-config.php 가 ROOT
- Laravel – public 폴더
9.
PHP 로컬 웹서버
- php -S 0.0.0.0:8000
- 가상 호스트 설정의 어려움을 피하기 위한 간단한 방법
- 포트로 구분하므로 여러 개의 프로젝트가 있을 경우 헷갈림
(하나만 하면 좋겠지만 현실은…)
- 레거시 수정 필요시 개발 환경이 미리 잘 구성되어 있지 않
다면 꽤 헤맬수 있음
10.
솔루션 - Homestead
-자동화 솔루션인 Vagrant 기반
- 가상 머신(Virtual Box) 에 Ubuntu 및
개발에 필요한 모든 패키지 자동 설치 및 설정
- 사용할 수 있다면 최고의 개발 환경 구성 도구
11.
Homestead 단점
- 가상머신에 대한 기본 적인 이해 필요
- VM이라 속도가 매우 많이 느림
- 안될 경우 해결이 너무 어려움
12.
솔루션 – Docker
-VM 에 비해서 매우 빠름
- LaraDock 등 Docker 기반 패키지 존재
- 하지만 Docker 를 배워야 하는 부담이 있음
13.
Docker 단점
- Docker학습 비용 발생
- 운영 배포면 모를까 docker 로 개발 환경 구성은 오버 스펙
(docker 에 익숙하다면 예외)
14.
솔루션 - Valet
-VM 이 아니므로 동작이 매우 빠름
- 부팅과 동시에 nginx 를 구동
- 자동으로 Virtual Host 설정(Valet Driver)
- 로컬 DNS 서버를 구성하여 브라우저에서 폴더명.dev 로 연
결
15.
솔루션 - Valet
-개발 환경 구성(parking)은 valet 에 맡기고 개발에만 집중
가능
- OS X 만 지원
16.
Valet for Windows
-Valet 의 Windows 포팅(https://github.com/cretueusebiu/valet-windows)
- nginx 와 PHP-FPM(사실은 php-cgi) 을 Windows 의 서비스
로 자동 등록
- Acrylic DNS 로 Local DNS 서버 기능 제공
17.
사전 준비 사항
-PHP, MySQL
- Composer
- Windows 용 패키지 관리자인 choco 가 있다면 다음 명령 실
행
- choco install php mysql composer–y
18.
설치
- cmd.exe 실행후아래 명령 실행
composer global require cretueusebiu/valet-windows
- Valet 명령어가 설치된 경로를 PATH 에 추가
(%APPDATA%RoamingComposervendorbin)
- 관리자로 cmd.exe 실행 후 아래 명령어로 발렛 설치
valet install
- 에러 발생시 ~/.valet/Log 폴더의 로그 확인
19.
설정
- .dev 도메인으로연결할 수 있도록 첫 번째 DNS 를
127.0.0.1 로 변경
- %USERPROFILE%.valetServices 의
phpfpmservice.xml 에 PHP 경로 설정
<service>
<id>valet_phpfpm</id>
<name>valet_phpfpm</name>
<description>Valet PHP-FPM</description>
<executable>d:develphpphp-7.1.8-Win32-VC14-x64php-cgi.exe</executable>
<!--
<executable>php-7.0.16-Win32-VC14-x64</executable>
<executable>php-5.6.30-Win32-VC11-x64</executable>
-->
<arguments>-b 127.0.0.1:9000</arguments>
<logpath>C:Userslesstif/.valetLog</logpath>
<logmode>reset</logmode>
<onfailure action="restart"/>
</service>
20.
사용 - park
-특정 경로내(예: c:UserslesstifSites) 의 모든 폴더 자동으
로 등록
valet park
- 이제 폴더명.dev 로
연결 가능
21.
기본 도메인 변경
-기본 도메인은 .dev 이며 변경을 원할 경우 아래 명령 실행
valet domain local
- 이제 폴더명.local 로 연결 가능
22.
로컬 사이트 외부에공개
- ngrok 를 설치했다면 현재 로컬 개발 사이트를 쉽게 공유 가
능
- 공유할 프로젝트 폴더에서 다음 명령 실행
valet share
- ngrok에 표시된 URL 을 통해 외부에서 로컬 서버 연결 가능
23.
참고 자료 &QnA
• https://laravel.com/docs/5.5/valet
• https://github.com/cretueusebiu/valet-windows
• https://www.lesstif.com/x/iQRVAg