1-2-7 [參考]用Homestead建構開發環境
- Homestead是Laravel的建議環境,有相當完善的配套,不過,安裝起來比較久,所以,參考一下,有空再玩。
- 首先,先安裝https://www.virtualbox.org/(因為Homestead基本上就是一個基於ubuntu的虛擬機)
- 然後,安裝https://www.vagrantup.com/downloads.html(vagrant用來下載建置好的Homestead虛擬機設定),裝好後須重新開機。
- 接著,在終端機中執行以下指令,以便下載建置好的Homestead虛擬機設定(此時會需要蠻長一段時間)
cd ~ vagrant box add laravel/homestead -
接著安裝Homestead
git clone https://github.com/laravel/homestead.git Homestead -
執行Homestead初始化(用來產生Homestead.yaml等檔案)
cd .\Homestead\ .\init.bat -
先檢查ssh的金鑰是否存在
ls ~/.ssh -
裡面若有
id_rsa及id_rsa.pub就OK,可以跳過此步驟。若出現「ls : 找不到 'C:\Users\使用者名稱\.ssh' 路徑,因為它不存在。」或者檔案不存在就請從開始選單打開「Git→Git Bash」,並執行以下指令產生金鑰(Email 請用GitGub的登入Email), 過程可以都選擇預設,一路Enter鍵即可 。ssh-keygen -t rsa -C "your_email@example.com" -
看起來像這樣:
-
接著編輯設定檔
Homestead.yaml(主要用來設定 Homestead 的站點和資料庫等訊息 )--- ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: ~/xampp/htdocs to: /home/vagrant/public_html - map: ~/xampp/phpMyAdmin to: /home/vagrant/public_html/phpmyadmin sites: - map: 專案目錄名稱.test to: /home/vagrant/public_html/專案目錄名稱/public - map: phpmyadmin.test to: /home/vagrant/public_html/phpmyadmin databases: - homestead # blackfire: # - id: foo # token: bar # client-id: foo # client-token: bar # ports: # - send: 50000 # to: 5000 # - send: 7777 # to: 777 # protocol: udp -
以上這樣的設定,就可以把local端的網頁目錄
htdocs和Homestead的網頁目錄下public_html同步(實際上就是共享資料夾),但要注意的是,一定要多一層資料夾(如:public_html名稱可換),但不能只有/home/vagrant否則會無法登入。 -
另外,由於xampp裡有內建phpMyAdmin,而Homestead剛好沒有,所以,我們也設定一組對應,以便能夠操作虛擬機裡面的資料庫。
-
此外,僅程式是共用的,但資料庫是分別儲存的(除非設定到遠端的資料庫,例如:https://db4free.net/)
-
編輯
C:\Windows\System32\drivers\etc\hosts檔,在最後加入(輸入http://exam.test就是跑Homestead上的網站,輸入http://phpmyadmin.test則是管理Homestead上的資料庫,輸入http://exam.local則是跑xampp上的網站)192.168.10.10 exam56.test 192.168.10.10 phpmyadmin.test 127.0.0.1 exam56.local -
由於phpMyAdmin實際上是放在windows底下,所以其權限會是777,如此,當您在執行phpMyAdmin時就會出現「設定檔權限錯誤,檔案不應開啟所有寫入權!」的訊息且無法使用,因此,我們必須將該檢查關閉,才能順利使用phpMyAdmin。故開啟
xampp\phpMyAdmin\libraries\config.default.php編輯之(約2998行):$cfg['CheckConfigurationPermissions'] = false; -
最後就可以啟動Homestead囉!(須切換到Homestead目錄裡面)當設定檔有異動的時候,必須加個
--provision,若沒異動,不加該參數也沒關係。(注意,須移除HyperV,且virtualbox也必須是最新版才能正常啟動)cd ~/Homestead vagrant up --provision -
啟動過程中確保網路設定正確(有勾選「線路已連接」)

-
亦可登入操作(無須帳號密碼)
vagrant ssh -
登出請執行
exit -
關閉Homestead請執行
vagrant halt
1-2-6 [參考]申請mailtrap帳號