본문 바로가기
정보공유

Valet 으로 windows php 개발 환경 구성하기

by 날고싶은커피향 2018. 11. 13.

Valet 으로 windows php 개발 환경 구성하기



Valet 으로 windows php 개발 환경 구성하기
1. Windows PHP 개발환경 구성하기 Valet 으로 정광섭(https://lesstif.com)
2. 로컬 개발 환경 구성 - PHP 웹 App 를 작성하기 위한 개개인의 작업 환경 - Apache, MySQL, PHP 기반 - Linux 의 경우 LAMP, Windows 는 MAMP
3. 로컬 개발 환경 구성 - 맥북 사용시 brew 로 간단하게 환경 구성 가능 - 모두 다 맥북 하나씩은 갖고 있죠?
4. 현실 – 개발자 PC 는 Windows 가 더 많음 - Windows 는 CLI 환경이 매우 불편 - 불편한 CLI 로 인해 자동화가 어려움 - Win10 부터 WSL (Windows Subsystem For Linux) 로 리눅스 지원이 편리해짐
5. 현실 – 너무 다양한 AMP 패키지 - EasyPHP - AMPPS - Bitnami WAMP - Iz-WAMP - MAMP - 오토셋 - … https://en.wikipedia.org/wiki/List_of_Apache%E2%80%93MySQL%E2%80%93PHP_packages
6. 현실 –모두가 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


반응형