vagrant-fuelphpを使ってFuelPHPの開発環境を構築する
GitHubにVagrant Setup for FuelPHPというのがありましたので、それを使ってみます。
(2013-11-18 追記) CentOSの方がよい方は、vagrant-fuelphp-centos6を使ってFuelPHPの開発用のCentOS 6.4を30分で構築するをご覧ください。
準備
あらかじめ、VirutalBoxとVagrantをインストールしておきます(手許の環境はOSがUbuntu 12.04 Desktop、VirtualBox 4.2.18、Vagrant 1.3.5)。
また、仮想マシンとのフォルダの共有のために、nfsdをインストールします。
$ sudo apt-get install nfs-kernel-server
なお、vagrant-fuelphpは共有フォルダのパフォーマンス向上のためにnfsを使っているため、フォルダを共有するためには、ホスト側にnfsdが必要です。Windowsホストではフォルダを共有できませんので、ご注意ください。
インストール
まず、FuelPHP(執筆時のバージョンは1.7)を普通にインストールします。プロジェクト名はfuelphpとしています。
$ oil create fuelphp
fuelphpプロジェクト内にvagrant-fuelphpをインストールします。
$ cd fuelphp
$ git submodule add git@github.com:iturgeon/vagrant-fuelphp.git vagrant
$ git submodule update --init --recursive
仮想マシンの作成と起動
仮想マシンを起動します。初回はBoxファイルをダウンロードするため時間がかなりかかります。
$ cd vagrant
$ vagrant up
これで、仮想マシンが作成され起動して、http://localhost:8080/にアクセスすれば、FuelPHPのWelcomeページが表示されるはずなんですが、何故か最初にやったときは、404ページが表示されました。
調べたら、chef-soloが実行されてなくてFuelPHP用のApacheのVirtualHostの設定がされていない状態でした。しかし、何故、実行されなかったのかは不明です。以下のように仮想マシンを削除して、
$ vagrant halt
$ vagrant destroy
もう一度、vagrant upしたら、今度はうまく実行され、FuelPHPのWelcomeページが表示されました。
フォルダ構成
フォルダ構成は以下のようになります。
fuelphp(FuelPHPプロジェクトのトップ)
├── docs
├── fuel
├── public
└── vagrant
サーバ環境
vagrant-fuelphpで作成される仮想マシンのサーバ環境は以下のようになっていました。
- メモリ 384MB
- HDD 80GB
- OS Ubuntu 12.04 (precise64)
- Apache 2.2.22-1ubuntu1.4
- MySQL 5.5.34-0ubuntu0.12.04.1
- PHP 5.4.21-1+debphp.org~precise+1
ホスト側のポート8080が仮想マシンのポート80に転送されるようになっています。仮想マシンに直接アクセスする場合は、http://192.168.33.33/にアクセスします。
ホストのFuelPHPのプロジェクトのフォルダが仮想マシンの/mnt/fuelphpにマウントされるようになっています。なので、ホスト側でソースファイルを変更すればそのまま仮想マシンにも反映されます。
MySQLデータベースは、fuel_devとfuel_testが作成されており、rootのパスワードはrootです。
また、仮想マシンには、FuelPHPのログファイルをtailする、fuellogコマンドがインストールされています。
関連
Date: 2013/11/13