laravel-text-logo.png

Laravel Homestead

官網介紹:
Laravel Homestead 是一個官方預載的 Vagrant「box」,
提供你一個美好的開發環境 ,
你不需要在你的本機電腦安裝 PHP、HHVM、網頁伺服器或任何伺服器軟體。
不用擔心搞亂你的系統!Vagrant box 可以搞定一切。
如果有什麼地方爛掉了,你可以在幾分鐘內快速的砍掉並重建虛擬機器!

"Homestead"如其名的給你一個"家園",一個為開發者而生的家。
Homestead 透過簡單的設定檔就可以輕鬆建置好開發環境,
並有效保證團隊開發環境的一致性。  

內建軟體
Ubuntu 16.04
Git
PHP 7.2
PHP 7.1
PHP 7.0
PHP 5.6
Nginx
Apache (Optional)
MySQL
MariaDB (Optional)
Sqlite3
PostgreSQL
Composer
Node (With Yarn, Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Mailhog
Elasticsearch (Optional)
ngrok

Homestead安裝需要 VirtualBox 及 Vagrant 軟體,
將Homestead預先在Vargrant設置的環境映像檔安裝在virtualBox。

Vagrant
在部署軟體服務的階段,開發人員常常會利用虛擬主機來模擬及配置開發環境。
Vagrant 就是基於這樣的需求產生的一個服務。
與傳統使用 VirtualBox 透過圖形使用者介面 (Graphical User Interface, GUI) 操作虛擬主機有一點不同的是,
Vagrant 主要是使用命令列介面 (command-line interface, CLI) 來與虛擬主機做
使用 Vagrant 的另一大優點就是大家都可以把自己習慣的開發環境打包給其他人使用。
而這些打包後的作業系統在 Vagrant 的世界內就稱為 Vagrant boxes。
讀者可以依據自己的需求在 public Vagrant box catalog 上搜尋適合的 box 來使用。

下載Vagrant

down vargrant.PNG

 

點擊下載的檔案,依照步驟按下一步安裝即可。

vagrant install

VirtualBox
Homestead隨版本不同要搭配不同版本的Virtualbox,安裝時要注意選用配合自己選用的Homestead版本。
下載VirtualBox

down virtualbox.PNG

點擊下載的檔案,依照步驟按下一步安裝即可。

virtualbox install 1.PNG

當 VirtualBox  以及 Vagrant 安裝完成後,
你可以在終端機以下列指令將 'laravel/homestead' 這個 box 安裝進你的 Vagrant 程式中。

vagrant add box.PNG

如果執行上面的指令失敗,代表你使用的可能是舊版的 Vagrant,它需要補上完整的 URL:

vagrant box add laravel/homestead https://atlas.hashicorp.com/laravel/boxes/homestead

laravel 將Homestead Vagrant 設定檔放在github,我們可以透過git下載整份設定檔: 

Clone homestead vagrant 設定檔.PNG

checkout 最新的穩定版本:
在這找到最新穩定版本=>最新穩定版本

寫這份文章時最新穩定版本是v7.17.0,所以:

checkout stable version.PNG

一旦你克隆完 Homestead 資源庫,
即可在 Homestead 目錄中執行 bash init.sh 指令來創建  Homestead.yaml 設定檔。

box init.PNG

Homestead.yaml 檔案將會被放置在你的 ~/.homestead 目錄中
設定你的 SSH 金鑰
你還需要將你的公有 SSH 金鑰的路徑配置在 Homestead.yaml 檔案中。
你沒有 SSH 金鑰的話,在 Mac 和 Linux 下,
ssh-keygen -t rsa -C "you@homestead"
在 Windows 下,你需要安裝 Git 並且使用包含在 Git 裡的 Git Bash 來執行上述的指令。另外你也可以使用 PuTTY 和 PuTTYgen。

一旦你創建了一組 SSH 金鑰,記得在你的 Homestead.yaml 檔案中的 authorize 屬性去設定公有金鑰的路徑。
設定共享資料夾
你可以在 Homestead.yaml 檔案的 folders 屬性裡列出所有你想與你的 Homestead 環境共享的資料夾。
這些資料夾中的檔案若有更動,它們將會同步更動在你的本機電腦與 Homestead 環境。
你可以將多個你所需要的共享資料夾都
folders:
   - map: ~/Code
   to: /home/vagrant/Code

設定 Nginx 網站
對 Nginx 不熟悉嗎?沒關係。sites 屬性幫助你可以輕易的指定一個 網域 對應至 homestead 環境中的一個目錄。
在 Homestead.yaml 檔案中已內含一個網站設定的範本。
同樣的,你可以增加數個你所需要的網站到你的 Homestead 環境中。
Homestead 可以為每個你正在開發中的 Laravel 專案提供方便的虛擬化環境:

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

設定完的Homestead.yaml檔大概長這樣,
隨個人路徑會有些微不同

Homestead_yaml.PNG

關於 Hosts 檔案
    不要忘了在將你在 Nginx sites 中所新增的「網域」也新增至你本機電腦的 hosts 裡! 
    hosts 檔案會將你所發出的請求重導至你在 Homestead 環境中設定的本地網域。
    在 Mac 或 Linux 上,該檔案通常會存放在 /etc/hosts。
    在 Windows 上,則存放於 
    C:\Windows\System32\drivers\etc\hosts。
    你要設定於檔案中的內容類似如下:

    192.168.10.10  homestead.app
 務必確認 IP 位置與 Homestead.yaml 檔案中設定的相同。

一旦你將網域設定在 hosts 檔案之後,你就可以透過網頁瀏覽器造訪你的網站!

host.PNG

啟動 Vagrant box
    當你根據你的喜好編輯完 Homestead.yaml 後,
    在終端機裡進入你的 Homestead 目錄並執行  vagrant up 指令。
    Vagrant 就會自將虛擬主機啟動並自動設定你的共享資料夾和 Nginx 網站。
    如果要移除虛擬機器,可以使用 vagrant destroy --force 指令。

透過 SSH 連接
    你可以在終端機裡進入你的 Homestead 目錄並執行 vagrant ssh 指令藉此以 SSH 連上你的虛擬主機。
    但是,你可能會經常需要透過 SSH 連上你的 Homestead 主機,
    因此你可以考慮在你的本機電腦上創建一個「別名」來快速連上 Homestead box。
    一旦你創建這個別名,你可以輕易地透過「vm」這個指令從你  的電腦以 SSH 連上你的 Homestead 主機:
     alias vm="ssh vagrant@127.0.0.1 -p 2222"

連上虛擬主機後可直接下載安裝laravel
    composer create-project --prefer-dist laravel/laravel your_project_name

測試執行 http://report-laravel.local/ 看到這個畫面就表示成功搂

laravelhome2.PNG

 

arrow
arrow

    MonkeyJ 發表在 痞客邦 留言(0) 人氣()