Homestead 搭建 Laravel環境

環境需求

這裡請依照您的開發環境,來選擇virtual box和vargant

這裡我安裝的環境是在windows底下

  1. Virtual box 官網連結
  2. Vargant 官網連結

當兩個都安裝完畢時,便可以開始設定了

首先開起Windows的cmd,以及利用cd指令切換至您欲設定的目錄

切換磁碟區
D:     
切換至該目錄
cd D:\Users\WIJTB\Documents\homestead
利用vagrant來下載開發環境
vagrant box add laravel/homestead

下載初始化工具

接下來下載Laravel初始化的設定工具

點我下載

如果您有git的話也可以直接複製一份到你的目錄

git clone https://github.com/laravel/homestead.git Homestead

兩個方法二選一就好了,結果都一樣

解壓縮文件後,裡面會有兩個自動初始化的腳本,init.sh和init.bat,因為我是windows環境進行設定的,所以這裡我選擇init.bat

// Mac / Linux...
bash init.sh

// Windows...
init.bat

初始完後,會產生Homestead.yaml檔,這個就是我們主要設定的地方

Homestead.yaml設定

關於Homestead.yaml檔的詳細設定方式請參照官網,這裡只說個基本

https://laravel.com/docs/5.8/homestead

設定提供者

因為我們安裝的是virtual box
所以請填寫

provider: virtualbox

設定共享目錄

map: 是您主機上的目錄,主要設定您專案的放置位置

to: 是您網站上的目錄

範例代碼

folders:
    - map: C:/Users/king0/Documents/Laravel/wij.cms
      to: /wij.cms

設定網頁環境的位置

map: 設定您的網域名稱
to: 對應到的是您,上面設定共享目錄的to: /wij.cms

因為通常Laravel的顯示資料都在public裡面,所以我設定為 to: /wij.cms/Laravel/public

範例代碼

sites:
    - map: wij.cms
      to: /wij.cms/Laravel/public

設定host對應網域名稱

開起該路徑的檔案

C:\Windows\System32\drivers\etc\hosts

在最底下填寫

192.168.10.10 wij.cms

設定ssh key

如果您是windows 10的話,可以使用cmd來產生ssh key

ssh-keygen -t rsa -C "your_email@example.com"

如果不是的話,請使用putty之類的工具,產生ssh key

這裡以windows作範例,cmd產生完的ssh key會被放置在

C:\Users\king0\.ssh

裡面會有兩個檔案

私鑰(private key)
id_rsa 
公鑰(public key)
id_rsa.pub

設定檔

authorize: 設定為公鑰
key: 設定為私鑰

完整設定檔

---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - C:/Users/king0/Documents/Laravel/ssh_key/id_rsa

folders:
    - map: C:/Users/king0/Documents/Laravel/wij.cms
      to: /wij.cms

sites:
    - map: wij.cms
      to: /wij.cms/Laravel/public

databases:
    - homestead

啟動 Vagrant Box

當你編輯完 Homestead.yaml後,開啟cmd,進入初始化的目錄

執行

vagrant up

Vagrant 就會自將虛擬主機啟動並自動設定共享目錄和 Nginx 網站

如果要移除虛擬機器,可以使用以下指令

vagrant destroy --force
Last modification:December 8, 2019
If you think my article is useful to you, please feel free to appreciate