homestead & vagrant 환경을 사용하다가 재설치를 해야하는 경우가 있다.
우선 아래 버전 기준으로 기술하겠다.
#vagrant --version
Vagrant 2.0.2
기존에 설치되어있던 vagrant를 깔끔하게 삭제하고 다시 설치해야 한다. 안그럼 폴더 동기화 기능등 오류 발생..
~/.vagrant.d 폴더 자체를 삭제한다.
~/VirtualBox VMs 폴더 삭제.
아래는 참고사항..
#vagrant box list
laravel/homestead (virtualbox, 6.0.0)
우선 vagrant 재설치시에는 새로 vagrant box add 해서 다시 다운로드 받을 필요가 없다.
vagrant box update 하거나 아예 새로 설치할때만 add로 다운받으면 됨 (다운이 오래걸림)
#vagrant box list
로 설치되어있는 vagrant box를 확인한다.
#ls ~/.vagrant.d/boxes
vagrant box가 다운로드 되는 위치
위 경로 안에있는 box 삭제
#ls ~/.vagrant.d/tmp
vagrant up 구동시 임시공간으로 사용하는 위치
구동에 이상이 없으면 폴더가 비어있을것이고, 이상이 생기면 잔여파일들이 남아있을것이다. 수동으로 삭제해준다.
#ls ~/VirtualBox VMs/
vagrant up 구동시 실제로 사용하는 virtualbox 위치
여기에 있는 box들을 삭제
Git bash 를 실행한다. 접속하면 아래 경로일 것이다.
#cd ~/
Homestead를 설치할 위치에서 시작한다.
#vagrant box add laravel/homestead --clean
끝에 --clean은 잔여 파일들을 깨끗하게 삭제해주고 다시 설치한다.
vagrant 재설치시 사용.
위 명령어로 최신 버전의 vagrant box를 알아서 내려받아준다.
1) hyperv
2) virtualbox
3) vmware_desktop
2번을 눌러서 virtualbox 로 다운로드
여기서 다운받는데 시간이 꽤 걸릴것이다.. 3~4시간..
#vagrant init
으로 vagrant 초기화 해준다.
virtualbox, 6.0.0 버전부터 Vagrantfile 설정이 변경되었다.
192.168.10.10 IP를 잡기 위해서는 Vagrantfile 에서
config.vm.network "private_network", ip: "192.168.10.10"
주석을 풀고 IP를 세팅한다.
#cd ~/Homestead
#bash init.sh
로 Homestead.yaml 파일을 생성해준다.
yaml 파일을 열어서 folders 와 sites, port 등을 세팅해준다.
windows 에서 host를 설정해준다
C:\Windows\System32\drivers\etc\hosts
파일을 열어서
192.168.10.10 mydomain.dev
를 추가.
ssh key를 생성한다.
#mkdir ~/.ssh
#ssh-keyget -t rsa
위를 실행했을때 재설치의
경우 이미 키가 만들어져있기 때문에 덮어쓸것인지 물어본다. 덮어쓴다.
이후, vagrant ssh로 들어가서
ifconfig 했을때 192.168.10.10 네트웍이 안잡히는 경우가 있다. 그럴땐 아래처럼 해결.
#sudo apt-get install ifupdown
후에
#vagrant up --provision
#vagrant ssh
#ifconfig
해보면 192.168.10.10 네트웍이 올라왔을것이다.
======================================================
laravel/homestead 6.0.0
버전문제인지 기존 5.2.0 에서 6.0으로 업그레이드 했는데 폴더 동기화부터 잘 안된다.
그래서 다시 다운그레이드..
vagrant 관련 폴더 삭제.
~/.vagrant.d 폴더 자체를 삭제한다.
~/VirtualBox VMs 폴더 삭제.
#vagrant box add laravel/homestead --box-version 5.2
#ssh-keygen -t rsa
#git clone https://github.com/laravel/homestead.git Homestead
#cd Homestead
#vi Homestead.yaml
folders 설정
folders:
- map: ~/code/myproject
to: /home/vagrant/code/myproject
#vagrant up
만약 Homestead.yaml 을 수정하게 되면
포트 수정, sites 등 수정하면
#vagrant halt
#vagrant up --provision
--provision 해야 한다고 되어있으나 걍 vagrant up 만 해도 수정사항 적용 되는듯.
provision을 하면 /etc/nginx/modules-available/ 안에 있는 호스트 파일들이 초기화되므로 백업 해놓고 해야 한다.
#vagrant up 만 해도 Homestead.yaml 수정사항이 적용된다.
참고로 vagrant 환경에서 date.timezone KST 설정시
phpinfo(); 에서 php.ini 파일경로가 /etc/php/7.2/fpm/php.ini 로 되어있음
그러나 /etc/php/7.2/cli/php.ini 를 사용하는듯? ..
cli 폴더안에 있는 php.ini 에서
date.timezone = Asia/Seoul
로 변경 후 sudo systemctl restart nginx 해준다.
'vagrant' 카테고리의 다른 글
vagrant에서 라온보드 설치시 주의할점 (0) | 2018.08.14 |
---|---|
vagrant 에서 database 사용시 기본 계정 (0) | 2018.08.14 |
Homestead 환경에서 여러개의 프로젝트와 데이터베이스 세팅 (0) | 2018.08.14 |
vagrant 사이트 추가 (0) | 2018.03.21 |