LoginSignup
11
16

More than 5 years have passed since last update.

Vagrantで手軽にLaravel開発環境をつくる(Scotch Boxを使用)

Last updated at Posted at 2015-07-30

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のドキュメントとかコミュニティとかに、もっと良い方法載っている気がするのですが。。。

11
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
16