Homestead 為 Laravel Framework 所提供出來的懶人安裝環境,大幅降低學習 Laravel 的門檻,大家都知道初學一套 Framework 最重要的是快速寫出 Hello world,如果初學者卡在環境都架設不來,那就更加不用接著學習 MVC 架構了,所以 Laravel 提供了 Homestead,不管你是用 Linux 或 Windows 都可以快速的把開發環境架設起來。相信很多人也從 CodeIgniter 跳往 Laravel 框架了,但是舊的網站還是要維護阿,所以這次透過 Laravel Homestead 一起來把 CodeIgniter 開發環境無痛架設起來,省去新人安裝 Nginx + PHP + MySQL 的時間。
這次直接用之前在成功大學電算中心講課的專案來搭配 Homestead,專案為 CodeIgniter-App,如果尚未安裝 Homestead 指令,可以直接參考我上一篇教學 Laravel Homestead 2.0 介紹,接下來我們一步一步安裝,架設環境為 Debian 7.4。
設定 Homestead.yaml
先將 CodeIgniter-App 程式碼下載到 /home/git
目錄,此目錄可以任意指定
$ git clone https://github.com/appleboy/CodeIgniter-App.git /home/git/CodeIgniter-App
打開 ~/.homestead/Homestead.yaml
,原版您的 Laravel 專案設定如下
--- ip: "192.168.10.10" memory: 2048 cpus: 1 authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: /home/appleboy/newProject to: /home/vagrant/Code sites: - map: homestead.app to: /home/vagrant/Code/public databases: - homestead variables: - key: APP_ENV value: local
這次增加 CodeIgniter 專案如下
folders: - map: /home/appleboy/newProject to: /home/vagrant/Code - map: /home/git/CodeIgniter-App to: /home/vagrant/codeigniter-app sites: - map: homestead.app to: /home/vagrant/Code/public - map: codeigniter.app to: /home/vagrant/codeigniter-app/public databases: - homestead - app
這裡可以發現增加了一組 folders、sites 和 databases,這樣就設定完成了
啟動 Homestead
完成後直接透過底下指令來產生相對應設定
$ homestead up --provision
注意的是,如果之前的 Laravel 專案資料庫存在的話,執行 --provision
則會砍掉 homestead 資料庫,然後重新建立新的,所以這邊建議執行 --provision
之前,先把舊的 database 拿掉會比較好。或者是要把初始化資料寫到 after.sh
內也是可以的。
#!/bin/sh # If you would like to do some extra provisioning you may # add any commands you wish to this file and they will # be run after the Homestead machine is provisioned. mysql -uhomestead -psecret app < /home/vagrant/codeigniter-app/sql/app.sql
增加 host
打開 /etc/hosts
增加新的 domain
172.21.117.2 homestead.app 172.21.117.2 codeigniter.app
最後打開瀏覽器 http://codeigniter.app:8000 就可以看到結果了喔
上述的 CodeIgniter-App 專案可以參考 https://github.com/appleboy/CodeIgniter-App