hometead를 이용해서 라라벨 환경을 구축해 보겠습니다.
1. git 설치
아래 사이트로 이동하여 os에 맞는 git을 설치합니다.
2. SSH KEY 생성
rsa알고리즘을 이용하고 아래 사이트를 참고로 하여 SSH KEY를 생성합니다.
$ ssh-keygen -t rsa -C "your_email@example.com"
git bash를 실행 > 위에 명령어에 이메일만 수정하여 입력 > 파일 저장 위치 > 엔터
> 비밀번호 설정 > 비밀번 설정 확인
키가 생성되면 사용자 폴더에 ssh폴더가 표시됩니다.
id_ras(Private Key), id_ras.pub(Public Key)입니다.
이 키를 깃에 설정하면 ssh 접속을 할 수 있게 됩니다.
3. PuTTy & HeidiSQL
아래 사이트에서 운영체제에 맞는 버전을 다운로드합니다.
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
설치합니다.
HeidiSQL은 데이터베이스 탐색을 위한 무료 도구입니다.
아래 사이트에서 다운로드할 수 있습니다.
https://www.heidisql.com/download.php
사용하고 있는 툴이 있다면 사용하지 않아도 됩니다.
저는 mysql workbench를 사용하고 있으므로 이 부분 설치는 건너뛰겠습니다.
3. VirtualBox 설치
기본 설정으로 설치합니다.
확장 기능을 설치하겠습니다.
파일 > 환경설정 > 확장 > + 버튼 > extends pack 선택 > 설치 > 동의합니다. > 확인
5. Vagrant 설치하기
아래 사이트에서 다운로드합니다.
설치합니다.
설치가 완료되면 컴퓨터를 재실행합니다.
6. NFS Plugin
실행 > cmd
명령 프롬프트에 아래 명령어를 입력하여 vagrat가 제대로 설치되었는지 확인합니다.
vagrant
제대로 설치되었다면 오른쪽 같이 나옵니다.
이제 nfs 플러그인을 설치합니다.
nfs는 네트워크 파일 시스템을 의미합니다.
PC와 VM의 공유 폴더의 속도를 향상하는 데 사용됩니다.
공유폴더는 모든 laravel 프로젝트 코드를 저장합니다.
아래 명령어를 입력합니다.
vagrant plugin install varant-winnfsd
설치가 완료될 때까지 잠시 기다립니다.
6. Homestead
git bash를 엽니다.
github로부터 laravel 프로젝트를 클론 합니다.
https://laravel.com/docs/8.x/homestead
아래 명령어를 입력합니다.
git clone https://github.com/laravel/homestead.git ~/Homestead
Homestead 폴더가 생성되었습니다.
Homestead 폴더로 이동합니다.
cd Homestead/
release 브랜치로 체크아웃합니다.
git checkout release
탐색기 Homestead 폴더로 이동하여 init.bat 파일을 실행합니다.
실행하면 homesteaad.yaml 및 기타 구성 파일이 생성됩니다.
homestead.yaml을 사용하면 VM 환경을 설정할 수 있습니다.
6. Vagrant Box
명령 프롬프트를 열어 homestead vagrant box를 다운로드해야 합니다.
vagrant box add laravel/homestead
2번 virtualbox를 선택합니다.
설치 완료
아래 위치에 폴더가 만들어졌습니다.
vagrant box를 확인하기 위해서는 아래 명령어를 사용하면 됩니다.
vagrant box list
7. Homestead.yaml
이제 hometead.yaml 파일 수정합니다.
사용자 폴더에 code라는 폴더를 만들고
map의 path를 방금 생성한 code 폴더로 설정하고 type "nfs"을 추가합니다.
로컬 도메인 이름입니다.
code폴더에 map의 . 앞부분을 입력한 폴더를 생성합니다.
to의 path도 위에 맞추어 수정해줍니다.
DB name을 설정합니다.
수정이 완료되었다면 파일을 저장합니다.
다음은 host파일을 수정해야 합니다.
메모장을 관리자 권한으로 실행합니다.
C:\Windows\System32\drivers\etc
hosts 파일을 엽니다.
ip와 도메인을 hosts 파일에 추가해줍니다.
8. Varant Up!
vagrant up - 실행
vagrant halt - 종료
vagrant reload - 재실행
vagrant provision - Homestead.yaml 파일 읽고 적용
Virtual box 실행
Homestead.yaml 이 있는 폴더에서 명령 프롬프트를 실행합니다.
폴더로 이동하고 주소창에 cmd . 이라고 입력합니다.
명령 프롬프트가 실행되면 아래 명령어를 입력합니다.
vagrant up
처음 실행하는 경우 시간이 조금 더 소요됩니다.
정상적으로 실행되면 VirtualBox에 homestead가 표시됩니다.
PuTTY를 이용해서 서버에 접속해보겠습니다.
PuTTY를 실행합니다.
IP를 입력하고 Open 버튼을 누릅니다.
login as : vagrant
password : vagrant
를 입력하면 로그인됩니다.
9. Login using SSH Key
위에서 만든 SSH키를 통해 로그인할 수도 있습니다.
SSH > Auth
Browse... > 키를 등록하기 위해서는 ppk 변환이 필요합니다.
PuTTYgen을 실행합니다.
키를 변환합니다.
Conversions > Import key
id_ras(Private Key)를 선택 > 열기
키를 생성할 때 패스워드를 지정했다면 패스워드를 입력하는 창이 나오고 그렇지 않으면 바로 다음 창이 나옵니다.
Save private key 클릭
id_rsa.ppk라고 입력하고 저장을 누릅니다.
PuTTY로 돌아와서 방금 만든 ppk 파일을 선택합니다.
Session으로 돌아와 세션을 저장합니다.
vagrant를 두 번 눌러 실행합니다.
비밀번호를 지정하지 않았다면 login as : vagrant만 입력하면 접속이 가능합니다.
비밀번호를 지정한 경우에는 비밀번도 역시 입력해야 합니다.
사용자 이름을 미리 지정하는 방법도 있습니다.
앞에 이름을 적어줍니다.
10. Laravel 설치하기
code 폴더로 이동하기
cd code
code 폴더에 첫 번째 라라벨 프로젝트를 생성합니다.
먼저 composer의 전역 업데이트를 실행합니다.
그리고 laravel 설치 프로그램도 업그레이드합니다.
composer global update laravel/installer
laravel 프로젝트를 설치합니다.
laravel new homestead
Homestead.yaml 에 설정한 내용과 일치해야 합니다.
이미 존재하는 애플리케이션으로 나오네요
여기서 설정을 변경하겠습니다.
변경된 설정값을 읽어옵니다.
vagrant provision
다시 PuTTY로 접속해서 아래 명령어를 입력합니다.
cd code
laravel new sample
sample 폴더에 라라벨이 잘 설치되었습니다.
sample 폴더로 이동하여 라라벨 버전을 확인합니다.
cd sample
php artisan --version
vs code로 sample 폴더를 열어봅니다.
.env 파일을 열어 아래와 같이 수정합니다.
DB_DATABASE=sample_db
DB_USERNAME=homestead
DB_PASSWORD=secret
PuTTY로 돌아와 아래 명령어를 입력합니다.
php artisan migrate
Database 연결하기
mysql workbench를 사용해서 연결해보겠습니다.
SSH Username : vagrant
SSH Password : vagrant
Username : homestead
password : secret
SSH Key File을 설정해서 로그인할 수 있으나 패스워드 설정 때문인지 공개키 비밀번호를 입력하라며 에러가 발생..
(다음에 키를 생성할 때는 패스워드 지정하지 않고 해 볼 것)
접속이 잘 됐습니다. 마이그레이션 할 테이블도 보입니다.
아래 주소로 접속합니다.
sample.test
라라벨 화면이 나오면 설치 완료입니다.
'개발환경만들기 > Laravel' 카테고리의 다른 글
05. [Laravel] Mac OS - 라라벨 설치하기 (0) | 2022.02.21 |
---|---|
04. [Laravel] docker ubuntu container로 라라벨 개발환경 만들기(2) (0) | 2022.02.20 |
03. [Laravel] docker ubuntu container로 라라벨 개발환경 만들기(1) (0) | 2022.02.18 |
01. [Laravel] WAMP로 laravel 설치하기 (0) | 2021.02.28 |