隨著近幾年Web技術的發展,眾多先進技術洶湧而出,Linux、Git、Nginx、Mysql、Composer、Node 、Redis、MongoDB、Elasticsearch、Go等等。隨之而來的是各個環境的搭建與部署,傳統的wamp、xamp顯然在龐大的企業開發中顯得心有餘而力不足。Laravel致力於使整個PHP開發體驗愉快,包括您的本地開發環境。它提供了一個極好的開發環境,你不需在本地計算機上安裝PHP、Web伺服器和任何其他伺服器軟體。他就是Homestead!
安裝前的準備
在開始安裝之前,首先安裝virtualBox,來虛擬化我們的Linux ,其次使用vagrant更好的管理我們的預安裝包homestead,Git可用於下載Homestead。
- virtualbox
- vagrant
- Git
這三個軟體的安裝方式都很簡單,基本傻瓜式安裝。這裡就不再贅述。
安裝Homestead Vagrant Box
安裝完vagrant後需要重啟,這樣vagrant就會被寫到環境變數中,首先選擇一個磁碟,如D盤,開啟Git Bash,檢視vagrant是否被正確安裝:
vagrant -v
正常顯示出版本號後就可以安裝Homestead的vagrant box了,執行如下命令:
vagrant box add laravel/homestead
由於網路的原因,可以選擇提示資訊中的下載源使用第三方下載工具下載採用離線安裝的方式。
這裡提供box地址:
https://vagrantcloud.com/laravel/boxes/homestead/versions/【最新版本】/providers/virtualbox.box
最新版本檢視地址:
app.vagrantup.com/laravel/boxes/ho...
離線安裝Homestead Vagrant Box
下載好box檔案後,在同級目錄加入metadata.json檔案,內容如下:
{
"name": "laravel/homestead", # 名稱說明
"versions": [{
"version": "7.0.0", # 版本說明
"providers":[
{
"name": "virtualbox",
"url": "file://E:/virtualbox.box" # 下載的Homestead Vagrant Box的位置
}
]
}]
}
vagrant加入Homestead 之前首先要載入這些配置資訊,確保配置正確。
向vigrant中加入Homestead Vagrant Box
執行如下命令:
vagrant box add metadata.json
修改Homestead.yaml檔案
Ssh Key的生成
如果之前沒使用過git,首先需要生成Ssh Key,命令如下:
ssh-keygen -t rsa -C "youremail@example.com"
ssh的授權和key的位置:
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
虛擬目錄真實目錄的互相對映
folders:
- map: E:/website/laravel57
to: /home/vagrant/code/laravel57
站點域名和站點目錄的繫結
sites:
- map: laravel.local
to: /home/vagrant/code/laravel57/public
資料庫的設定
databases:
- homestead
特別注意:
homestead預設會讀取本地的box,但是他預設先從9版本開始,如果未找到會去遠端拉取,所以如果是大於9以上的box版本,這裡務必要改為對應的本地版本,這樣才能從本地box載入!// Homestead/scripts/homestead.rb 檔案地址 // Configure The Box config.vm.define settings['name'] ||= 'homestead' config.vm.box = settings['box'] ||= 'laravel/homestead' unless settings.has_key?('SpeakFriendAndEnter') config.vm.box_version = settings['version'] ||= '~> 9' // 這裡修改為本地盒子版本 end config.vm.hostname = settings['hostname'] ||= 'homestead'
Vagrant的正式啟動
這些配置資訊都修改好後就可以啟動我們的vagrant了,使用如下命令:
vagrant up # vagrant 啟動
vagrant halt # vagrant 關閉
vagrant provision # 修改配置後重新編譯
本作品採用《CC 協議》,轉載必須註明作者和本文連結