Help us understand the problem. What is going on with this article?

BEAR.sundayメモ#1 - vagrant(DigitalOcean)+Ubuntu13.10+PHP5.5.3でBEAR.sundayのインストール

More than 5 years have passed since last update.

(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

と打ち込めば、テストもこの時点から実行できます。これは便利。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away