(2014/5/13追記)以下はUbuntu13.10ですが、Ubuntu14.04 x64でも動作しました。今後記事を書く場合はUbuntu14.04 x64で行います。
先日(というか前日)、BEAR.sundayのインストールからアプリケーションの作成と確認までの勉強会に参加したので、そこで使ったVagrant+打ち込んだコマンドのメモを掲載します。
agrant.configure('2') do |config|
config.vm.hostname = 'root'
config.vm.provider :digital_ocean do |provider, override|
override.ssh.private_key_path = '~/.ssh/id_rsa'
provider.ssh_key_name = 'xxx'
override.vm.box = 'digital_ocean'
override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"
provider.client_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
provider.api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
provider.image = 'Ubuntu 13.10 x64'
provider.region = 'Singapore 1'
provider.size = '512MB'
provider.ca_path = '/usr/local/opt/curl-ca-bundle/share/ca-bundle.crt'
end
end
上記設定はメモリ512MBですが、開発時はいろいろとフロント上でツールを走らせたりするので、1GBか2GBでやったほうがいいかと思います。
以下はvagrant sshしてからのコマンド。なお、作業関係は全て/vagrant/以下でやっていますが、特に理由はありません。
# vagrant upしたときに、グローバルIPが返ってくるのでメモしておく
# [default] Assigned IP address: xxx.xxx.xxx.xxx <- これ
# 必要なパッケージのインストール
apt-get update
apt-get install -y git php5 php5-json php5-cli php5-curl
# composerのインストール(/vagrant/以下に配置)
curl -sS https://getcomposer.org/installer | php -- --install-dir=/vagrant
# BEAR.sundayのインストール(プロジェクトの作成)
# たまに一部のパッケージをgithubから引っ張る際に、githubのid/pwを求められることがある
cd /vagrant/
php /vagrant/composer.phar create-project bear/package bear --dev
# (2014/05/13追記)上のコマンドですが、実際は下のコマンドの方がオススメです。こちらは随時最新のバージョンでプロジェクトが作られます
php /vagrant/composer.phar create-project bear/package bear dev-develop
# ここまでいけば作成完了
# Required
# [OK] PHP: 5.5.3-1ubuntu2.3
# [OK] Vendor install
# # Optional
# [NG] APC:
# # Develop
# [NG] Xdebug:
# [NG] PDO-Sqlite:
# [NG] xhprof:
#
# BEAR.Sunday env check: [OK]
# ためしにDemo.SandBoxを起動
cd /vagrant/bear
bin/bear.server apps/Demo.Sandbox/
# さきほどメモしたIPの:8080にアクセスするとSandBoxが見える
# http://xxx.xxx.xxx.xxx:8080
# ちなみにbin/bear.server自体は[php -S 0.0.0.0:8080]を実行しているだけ
# アプリケーションの新規作成
cd /vagrant/bear/apps
php /vagrant/composer.phar create-project bear/skeleton My.Work
# 最後に聞かれる質問は、git cloneされたモジュール等の「元の.gitや.svnを消しますか?」という質問なので、お好きに
# 作成が完了すると、apps/内にMy.Work/が出来上がる
# 作成したアプリケーションを動かしてみる
cd /vagrant/bear/
bin/bear.server My.Work/
# さきほどのSandBoxとは違うアプリケーションが立ち上がっているのが見える
とりあえずここまで。
あと上記のインストール手順でやった場合、composerでphpunitが落ちている+新規作成したアプリにテストのひな形が作られているので、
# apps/My.Work以下で
../../vendor/bin/phpunit
と打ち込めば、テストもこの時点から実行できます。これは便利。