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: 1authorize: ~/.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-appsites:
- 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/shIf 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
See also
- 用 Docker 取代 Laravel Homestead 開發環境
- Laravel Homestead 搭配 phpMyAdmin Docker
- Laravel Homestead 支援 MySQL 5.7 和 Node 5.0
- Laravel Homestead 支援 PHP 7
- Laravel Homestead 2.1.5 版本將不再刪除舊有資料庫
- CodeIgniter 3.0 Release 終於釋出啦
- Laravel Homestead 2.0 介紹
- CodeIgniter 終於找到新東家 British Columbia Institute of Technology 英屬哥倫比亞理工學院
- 實戰 CodeIgniter in 成功大學計算機與網路中心
- Laravel Homestead 開始支援 HHVM