Laravel Homestead 新增站台

laravel logo

Laravel Homestead 是一個提供 PHP 或 Laravel 開發環環境,可以不用再花時間設定開發環境、搞爛目前本機上的環境。一開始,Homestead 會預設一個 homestead.app 的站台,但是,如果還要再開一個專案、增加新站台,該怎麼做呢?

Laravel 5.0 Homestead 文件增加更多站台裡面,有提供兩種方式:

  1. homestead provision 指令:具有破壞性,原本建立的資料庫會被刪除再建立一次資料庫架構,所以資料並沒有保留著
  2. server 指令:原本資料庫資料等都會留著,只是之後要做的步驟有點多

目前只試過第 2 個方式,因為需要把資料庫的資料留著。

Homestead 設定

在提如何在 Homestead 中新增站台前,先瞭解一下 homestead.yaml 的設定:

使用 Homestead 的時候是透過 homestead.yaml 來設定,基本上執行 homestead init 初始化 Homestead 環境後,會產生一個預設的 homestead.yaml (可以透過 homestead edit 來編輯),裡面的設定大約是:

homestead.yaml 主要是設定虛擬機的網路、硬體規格設定、SSH 公私鑰認證、掛載的路徑、Nginx 站台、資料庫及環境變數等。

稍微知道 homestead.yaml 的功用之後,接下來就可以說明如何新增站台。

1. 修改 /etc/hosts

建立一個站台名稱,Linux/BSD/Mac 等,修改 /etc/hosts,Windows 則是C:\Windows\System32\drivers\etc\hosts,加入以下內容:

因為,自訂的站台名稱並沒有加入到 DNS 中,所以,加入到 /etc/hosts 中,這台主機就能使用 fmbase.tw 網域名稱連線到虛擬機。

2. 增加虛擬機站台設定

Homestead 虛擬機中,由 Nginx 作為網頁伺服器,所以新增站台也需要增加 Nginx 的設定,但是 Homestead 提供了簡便的方式來設定 Nginx。

首先,利用 SSH 連線到 Homestead 虛擬機中:

順帶一提,依照 Laravel 日常使用文件中的設定,來設定 alias,可以直接輸入 vm 指令。

登入 Homestead 虛擬主機之後,只要利用 serve 指令,就能很簡單的新增 Nginx 設定:

3. 新增資料庫

除了新增 Nginx 設定之外,還需要新增資料庫:

Homestead 資料庫的密碼預設是 secret

4.  新增 Laravel 專案

在主機上新增一個 Laravel 專案,虛擬機重開時會自動將這個新專案掛載到相對站台的路徑中。

6. 編輯 homestead.yaml

接著要設定 Homestead 虛擬機,所以需要修改 homestead.yaml 設定檔。

在編輯前,先關閉 Homestead 虛擬機:

利用 homestead edit 來編輯 homestead.yaml 內容:

  1. folders:除了原本的設定只有一組,在新增站台之後,需要再新增一組掛載點
  2. sites:加入設定新站台的主機名稱、專案路徑、是否啟用 HHVM 來執行

接著啟動 Homestead 虛擬機:

 

Laravel Homestead 新增站台

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *