VagrantのScotchboxをつかって、ごくごく簡単なLaravelの開発環境を作ったのでメモです。
(2016-06-16追記あり)
メモリの割当ですが、当初はubuntuのスワップ領域を割り当てる方法で記述しておりましたが、Vagrantfileでメモリ割り当てられることがわかりましたので追記しました。
前提
- Vagrantインストール済み
- LaravelをComposer Create-Projectでインストールする方法です。(インストーラー使うと簡単にできそうなんですが、どこかにCreate-Projectの方がよいって書いてあったので・・・)
- エラーメッセージとか見ながら場当たり的に解決してきたので、もっと良い方法あるかも?
ScotchBoxをインストール
VagrantでScotchBoxを構築します。
$ git clone https://github.com/scotch-io/scotch-box.git my-project
$ cd my-project
$ vagrant up
- git clone した後にプロジェクトフォルダにVagrantfileができますので、必要があれば適宜変更してください。
- プロジェクトフォルダにできる publicフォルダが公開フォルダになります。
ScotchBoxのUbuntuにスワップ領域を作成
こちらの作業は下記に追記したVagrantfileの編集作業を行う場合は必要ありません。
インストールしたScotchBoxでそのままcomposer Create-Project するとメモリ不足ってでてエラーになりますので、スワップ領域を設定します。
$ vagrant ssh
で、ScotchBox環境にログインしてから下記を実行
$ sudo mkdir /var/swap/
$ sudo dd if=/dev/zero of=/var/swap/swap0 bs=2M count=2048
$ sudo chmod 600 /var/swap/swap
$ sudo mkswap /var/swap/swap0
$ sudo swapon /var/swap/swap0
スワップ領域の容量は適宜で。
この分野があまり詳しくないので下記に記しますが参考にした情報をそのまま使いました。
$ sudo vi /etc/fstab
最後に、Ubuntu起動時に自動的にスワップ割り当てるようにします。
(追記)スワップ領域の割当をしなくても、Vagrantfileでメモリ割り当てられることがわかりました。
割当メモリの増強ですが、上記のスワップ領域の作業をしなくても、Vagrantfileの編集で可能でした。こちらの作業の方がvagrantの機能に沿っているのでオススメかと思います。
デフォルトのVagrantfileに以下のように追記します。
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "scotchbox" # ホスト名になりますので、適宜書き替え
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
# ここから
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", "2048"]
end
# ここまでを追記
end
上記で、vagrant up すれば、割当てられるメモリの容量が増えます。
2048のところは適当に増やしたり減らしたりしてください。
これをやっておけば、スワップの割当作業は必要ありません。
Laravelのインストール
上記までやったら、インストールできます。
ScotchBoxにログインした状態で
$ cd /var/www/public
$ $ composer create-project laravel/laravel --prefer-dist
- /var/www/public はScotchBoxのデフォルトの公開フォルダです。Vagrantfileを変更している人は適宜変更してください。
phpMyAdminのインストール
開発環境なのでphpMyAdminもインストールしておくと便利です。
$ sudo apt-get install phpmyadmin
$ sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
$ sudo a2enconf phpmyadmin
$ sudo /etc/init.d/apache2 reload
Ubuntu公式のphpMyAdminインストールのところのままでインストールできました。参考までに。
参考とさせていただいたサイト
https://box.scotch.io/
http://qiita.com/niiyz/items/cbd503398299818a9e8a
https://help.ubuntu.com/community/phpMyAdmin
http://protean.cc/vagrant-scotch-box
http://qiita.com/scleen_x_x/items/f3fc492bcbf0f6c2896c
さいごに
以上です。いつもお世話になっているQiitaなので、記事を提供したいと思って書きました。
Laravelの開発環境が手軽につくりたくて、やってみた事を備忘録に記しました。
個人ブログにまとめてたんですが、せっかくなので、まとめて記事にしてみました。
英語が得意ではなくてScotchBoxのドキュメントとかコミュニティとかに、もっと良い方法載っている気がするのですが。。。