본문 바로가기

Server/PHP

windows에서 laravel설치하기 - 환경셋팅



헤롱헤롱

역시 환경셋팅이 반 이상인듯!

반드시 PHP디버깅 툴을 셋팅해서 쓰겠다!

그 시작이 일단 환경부터 ㅎㅎ

자, 시작하자.



| 알고 갑시다

다양한 환경으로 인해 영향을 받는 경우가 적지 않다. 

이런 문제때문에 나온 개념이 가상화!


가상화는 하드웨어 위 운영체제 위에 가상의 소프트웨어를 올리고, 

그 소프트웨어 위에 가상의 하드웨어를 올리고,  그 위에 운영체제 및 애플리케이션을 올려서 실행하는 것이다. 

이런 소프트웨어를 하이퍼바이저(Hypervisor)라고도 한다. 

종류는 virtureBox, VMWare, Xen 등이 있다. 


 Application 

새로 올릴 OS(windows...)

 가상하드웨어(cpu,memory...)

 Hypervisor(VirtureBox,VMWare...)

 원래의 물리적OS(windows, Linux...)

 하드웨어(cpu,memory,Disk)



하지만, 가상머신을 설치하는 것 부터 수고스럽다.  

이런것을 해결하기 위해 vagrant를 사용한다. 

얘는 설정스크립트(아래 나옴) 로 가상머신을 만들어서 개발환경을 관리할 수 있다. 

vagrant는 virtualBox, VMWare를 지원한다. 


주황색으로 표시된 가상 하드웨어 위에 올라간 OS와 애플리케이션은 홈스테드가 vagrant의 설정 스크립트를 사용해 자동으로 설치해준다. 



| 설치하기

1. virtualBox 설치 - 가상머신을 생성해줌

https://www.virtualbox.org/wiki/Downloads 


2. git 설치 - 코드 관리 및 ssh 관리 

https://git-scm.com/


3. vagrant 설치

https://www.vagrantup.com/


각각 설치한다. 

 


| 환경 구성하기 

위의 설치하기가 끝나면 다음을 실행!


1. 가상머신 생성 - virtureBox 이용

1) cmd창에 다음을 실행

vagrant box add laravel/homestead

2) virtualBox 선택하기


2. 개발 환경 구축

1) git-bash 열어서 내가 위에서 설치한 homestead의 경로로 들어감!

cd C:\Users\hyejin 으로 이동동!

 

2) $ git clone https://github.com/laravel/homestead.git Homestead

실행하면 이렇게!!!! 뙇! 폴더가 생성됨 

3) 새로 생성된 폴더로 다시 이동

4) $ bash init.sh 실행!

끝!


3. IP, 메모리 설정 - 가상머신의 설정단계 

다음과 같이 Homestead 폴더의 Homestead.yaml 파일을 수정하면된다. 

즉, 여기있는 정보들은 가상머신의 ip, 메모리, cup개수 등 수정하면 가상머신의 정보를 설정하게 된다. 


자, 여기서 정신을 붙잡고 잘 따라와야한다. 

1) authorize, keys: SSH 설정
authorize, keys 옵션에 SSH키 설정을 한다. 
개인키는 id_rsa, 공개키는 id_rsa.pub 자리에 경로를 넣어주면 된다. 

아까 진행하던 git-bash에서 
$ ssh-keygen -t rsa -C "이메일 주소" 
를 실행하면 키 파일이 생성된다!
*) Enter passphrase 는 키파일 보호하기 위한 비번설정임

2)  folders: 가상머신과 공유할 폴더 설정
여기에 설정한 폴더 아래의 내용을 가상머신에서도 똑같이 만들어진다. 

folders:
    - map: ~/Code
      to: /home/vagrant/Code

기본적으로 이렇게 셋팅이 되어있는데, 
map에 적힌 경로는 C:\Users\사용자명\Code를 의미한다. ~/는 홈디렉토리 이므로!
이 안에 생성된 모든 파일과 폴더는 
to에 적힌 경로. 즉, 가상머신의 home/vagrant/Code 안에 또옥같이! 만들겠다는 의미다. 
바로바로 가상머신에 적용(?)할수 있으니 참 좋다. 

그러니 C:\Users\사용자명\Code 폴더를 만들고 그 아래에 내가 원하는 파일을 만들면 된다. 

3)  sites: 가상호스트 설정
말그대로 도메인 설정이다. 

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

map에 적힌 이름으로 요청이 들어오면 
to에 적힌 경로 파일을 열겠다는 의미다. 

map에 적힌 이름은 DNS(Domain Name Service)에 등록해야 웹 브라우저가 알고 찾아온다. 
C:\Windows\System32\drivers\etc\hosts 를 열어서 연결할 ip와 이름을 등록해주면 된다. 관리자 권한만 접근가능하다. (mac os의 경우 /etc/hosts)

192.168.10.10 homestead.app

가상 호스트는 여러개 지정할 수 있다! 
sites: 밑에 -map: 을 여러개 지정하면 된다. 

4. 가상 박스 구동하기  
1) 실행 
Homestead 폴더에서 실행해야함 

vagrant up




2) 일시 중지 
Homestead 폴더에서 실행해야함 

vagrant suspend

3) 종료 
Homestead 폴더에서 실행해야함 

vagrant halt

4) 배치파일 작성법

[원하는 파일명].bat

@ECHO ON
cd \D C:\Users\hyejin\Homestead
[실행/일시중지/종료 명령중 하나]

5. SSH연결
다음 명령어 둘 중 하나 실행
마찬가지로 Homestead 폴더에서 실행해야함 

vagrant ssh

ssh vagrant@192.168.10.10

ssh명령은 cmd에서 안된다. git bash에서 할것!
그것도 싫다면 PuTTY 쓰자!

6. composer설치
composer설치 방법을 참고하여 composer를 설치한다. 
뭐, 간단한 윈도우에서의 방법은 다음의 파일을 설치하면 된다. 

Composer-Setup.exe


설치 후 새 cmd 창을 열어서 $ composer 라고만 쳐도 재대로 설치 된건지 확인이 가능하다. 





여기까지가 라라벨 프로젝트를 돌리기 위한 환경설정이다. 
(아직 laravel은 시작도 안되었음을 잊지말자... 또르르)
다음 포스팅에서 본격적으로 라라벨 프레임워크를 이용한 프로젝트를 만들어보자!