/php5-nginx-vagrant-sample

Vagrantfile for php5.5 as php-fpm with nginx, mysql, postgres, imagemagick.

Primary LanguageRuby

php5-nginx-vagrant-sample

English Readme

Vagrantを使ってPHPとMySQLが動作する環境を自動で設定します。OSなどに依存しないXAMPP/MAMPのようなものと考えてください。 またPostgreSQLやImageMagickもセットアップしてあります。

OS Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)
PHP PHP 5.5.6-1+debphp.org~precise+2
Nginx 1.1.19
MySQL 5.5.31-0ubuntu0.12.04.2 (Ubuntu)
PostgreSQL 9.1.9
curl 7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5
ImageMagick 8:6.6.9.7

update

クックブックの管理をBerkshelfで行うように変更し、PHP5.5を導入するように変更しました。利用の際はvagrant-berkshelfプラグインのインストールをお願いします。 また、パッケージの取得にかかる時間が少し長くなりましたので、元に戻したい方はPHPのバージョンを指定している部分をコメントアウトしてください。

  config.vm.provision :chef_solo do |chef|
    chef.add_recipe "apt"
    chef.add_recipe "php5_ppa::from_ondrej"
    chef.add_recipe "omusubi"
    versions = {};
    # if you would use php5.3 family with fast boot,  comment out lines bellow.
    versions['php5'] = '5.5.*'
    versions['php5-mysql'] = '5.5.*'
    versions['php5-pgsql'] = '5.5.*'
    versions['php5-curl'] = '5.5.*'
    versions['php5-mcrypt'] = '5.5.*'
    versions['php5-cli'] = '5.5.*'
    versions['php5-fpm'] = '5.5.*'
    versions['php-pear'] = '5.5.*'
    versions['php5-imagick'] = '3.*'
    chef.json = {doc_root: doc_root, 'versions' => versions}
  end

PHPカンファレンス関西2013の講演で使ったコードなど

スライドはこちらです。 Chef + Vagrantで作るこれからの開発環境とクラウド

使い方

VirtualBoxをダウンロードしてインストール

VirtualBoxをセットアップしてください。 https://www.virtualbox.org/wiki/Downloads

Vagrantをダウンロードしてインストール

最新版をインストールしてください。 http://downloads.vagrantup.com/

Vagrant Berkshelfプラグインをインストール

コマンドでインストールします。

$ vagrant plugin install vagrant-berkshelf

このリポジトリをクローン

gitでクローンするか、ZIPなどでダウンロードしてください。

git clone git://github.com/yandod/php5-nginx-vagrant-sample.git

ソースコードの準備

./sandbox以下に動作させたいPHPのソースなどを置く又はVagrantfileの設定を書き換えて任意のディレクトリを指します。これでソースコードが仮想マシン内に同期するのでローカルで編集できます。

vagrantを起動

クローンしたリポジトリ内でvagrantを起動。初回のみOSのダウンロードに時間がかかります。

cd php5-nginx-vagrant-sample
vagrant up

動作確認

http://127.0.0.1:8080 にアクセスする。IPアドレスを変更する場合はVagrantfileを編集します。 またサーバ内にSSHしたい場合はvagrantコマンドを使います。

vagrant ssh

終了

vagrantコマンドで仮想マシンを終了、又は破棄出来ます。

一旦止めるだけの場合。

vagrant halt

データを破棄する場合。次回、vagrant upの際にはまっさらなマシンが作成される。

vagrant destroy