前言

最重要的事情寫在最前面,這次我第一次接觸PHP Frame,因為工作業務需求,未來對於網頁的工作可能會越來越多

深怕以往那種所有東西都自己手刻的工作模式會拖慢我的進度外加磨耗我的熱誠

所以決定學一套Framework來用用,順便趕個流行(!?)

所以,任何太過深奧的問題我可能會無法在這一系列的文章底下幫各位授業解惑

各種code的寫法,也不一定是正確的MVC使用方式

唯一可以確定的是,這些步驟都是本人一步一步做出來並且是Workable的,僅此而已


這次會有這系列的文章,起源於我試圖在windows環境下搭配xampp運行Laravel,結果非常慘烈

碰到各種奇形怪狀的問題,這裡就不一一敘述,總之最後就是花了我一整個下午的時間

最後才勉強讓Laravel跑起來,如果在一次給我一台新電腦,我可能還沒辦法完整個重做一次步驟

很恰巧的是,在我痛苦地嘗試過安裝Laravel的當天晚上,神人級朋友CT在一個非公開場合正好要教授Laravel的基本安裝

我第一次深刻的體會到,聽君一席話,勝讀十年書的道理!

發現原來透過vagrant + virtualBox,可以讓這整個流程變得如此的歡樂


事前準備

請先下載並安裝好以下兩套軟體

Vagrant: https://www.vagrantup.com/

VirtualBox: https://www.virtualbox.org/

Vagrant是一套可以快速重複佈署虛擬機器的環境,必須依賴virtualbox或者是docker之類的軟體使用

這邊雖然說是在windows環境下進行,但是其實指的是在windows底下開一台Linux的vm來做為真正的環境

裝好virtualbox和vagrant之後,不需要開起virtualbox,請先下載同樣由CT大神出品的php+Laravel的vagrant box file

下載位置:https://drive.google.com/file/d/0B-zJUofAu7m6VzdDcDlfNENxSlE/view?usp=sharing

這個box預先把laravel需要的檔案,php環境以及ubuntu都包在一起了

如果是自己建立乾淨的box,可能需要先把上面的幾個東西給裝上,否則不適用於這篇教學

名詞解釋:box,vagrant的映象檔,透過vagrant指令可以被佈署在虛擬機器的環境上頭


開始安裝

開起一個Terminal程式,可以是windows內建的command line

不過由於後續需要ssh指令,所以本機path裡面必須包含啟動ssh的路徑

如果沒有,可以安裝Git client端軟體,用內建的Git Shell

進入Terminal後,先切換到我們放置box檔的資料夾,然後輸入以下指令 

PHP_Laravel : 自訂的box名稱  php56_laravel51.box : 這是box image檔案的名稱

ps. Vagrant也可以直接從網路上抓,只要輸入它內建的box名稱,就會去抓取對應版本的檔案來安裝

 vagrant box add --name PHP_Laravel php56_laravel51.box

1.PNG 

這時候vagrant會開始將這個box檔案加入,等到看到綠色那行文字的時候,就代表加入成功了!

我們可以列出box list 來做確認

vagrant box list

 一旦box匯入到vagrant後,我們就可以準備開始啟動他了

首先先將目錄切換至一個新的空資料夾(之後所有vagrant的檔案都會放在這),用以下指令將vagrant環境初始化

vagrant init PHP_Laravel

2.PNG 

這時候會建立一個儲存vagrant變數的vagrantfile在我們剛剛新建的資料夾,有了這個檔案以後就可以把vagrant叫起來了!

vagrant up
3.PNG 

叫起服務的時間會有點久,直到最後看到mounting完成後就代表成功了

這邊把我們剛剛建立的新資料夾mount進虛擬機當中,也就是說coding還是可以在本地端進行

如果在vagrant up的過程中,第一行不是Bringing machine default up with virtualbox provider然後導致錯誤

可能是系統無法自動判斷你的虛擬機環境提供者

可以加上provider變數來指定virtualbox

vagrant up --provider=virtualbox

現在整台虛擬機器已經建好了,可以使用ssh連到機器去裡面

vagrant ssh
4.PNG 

進入機器後,先切換到/vagrant資料夾底下,準備開始建立我們的Project(Project是專案名稱,可以自訂)

cd /vagrant
laravel new Project
6.PNG

 一旦專案建立完成後,還不要急著想開來看,首先我們得先把host跟虛擬機之間的port forwarding開起來

先輸入exit離開虛擬機環境

exit

然後回到windows操作介面,開啟我們最開始建立的vagrant資料夾,找到vagrantfile這個檔案

5.PNG 

修改 #config.vm.network "forwarded_port", guest: 80, host: 8080 改為以下

config.vm.network "forwarded_port", guest: 8000, host: 8080


完成後存檔離開,將vagrant reload後,按照剛剛的步驟回到虛擬機環境中
vagrant reload
然後切換至vagrant/Project 底下 (Project是專案名稱,可以自訂)
這時候將php自帶的http server artisan叫起來,Laravel就會開始運作了
php artisan serve --host=0.0.0.0
7.PNG

可以回到windows介面,在瀏覽器輸入127.0.0.1:8080 來看看運作中的網頁

8.PNG 

如果想要關掉虛擬機,請先離開虛擬機環境回到單純的Terminal底下,用vagrant halt將機器關機即可

vagrant halt

9.PNG 

創作者介紹
創作者 deepviator 的頭像
deepviator

Mok's - 墨客工坊

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