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

Tags: fuelphp, vagrant