Vagrant + VirtualBox(ubuntu14.04)にLaravel環境を構築した時のメモ
Host環境
Mac OS X 10.9.5
Vagrant 1.6.3
VirtualBox 4.3.12
Guest環境
ubuntu14.04(trusty64)
php 5.5
mysql 5.6
nginx 1.4.6
laravel 4.2.0
仮想マシン構築
仮想マシン初期化
host $ vagrant box add ubuntu/trusty64
host $ cd /path/to/example
host $ vagrant init
VagrantFileを編集する
VagrantFile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
...
config.vm.box = "ubuntu/trusty64"
...
config.vm.network "private_network", ip: "192.168.33.10"
...
# Laravel4でapp/storageにアクセス権限を与えるために777にする
config.vm.synced_folder "./", "/vagrant", {:mount_options => ['dmode=777','fmode=777']}
...
# mysql5.6のインストールでメモリが必要なのでメモリを確保
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", 1024]
end
...
end
仮想マシン起動
host $ vagrant up
sshするとWarningが出力される
_____________________________________________________________________
WARNING! Your environment specifies an invalid locale.
This can affect your user experience significantly, including the
ability to manage packages. You may install the locales by running:
sudo apt-get install language-pack-ja
or
sudo locale-gen ja_JP.UTF-8
To see all available language packs, run:
apt-cache search "^language-pack-[a-z][a-z]$"
To disable this message for all users, run:
sudo touch /var/lib/cloud/instance/locale-check.skip
_____________________________________________________________________
言われるままにインストールする
guest $ sudo apt-get install language-pack-ja
php5.5のインストール
php5.5のリポジトリを取得
- Nginxでphpを動かすためにphp5-fpm
- Mysqlと接続するのでphp5-mysql
- Laravelで必要なphp5-mcrypt
をそれぞれインストール
guest $ sudo add-apt-repository ppa:ondrej/php5
guest $ sudo apt-get update
guest $ sudo apt-get install php5-fpm php5-mysql php5-mcrypt
バージョン確認
guest $ php -v
PHP 5.5.17-1+deb.sury.org~trusty+1 (cli) (built: Sep 19 2014 11:27:38)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
mysql5.6のインストール
guest $ sudo apt-get install mysql-server-5.6
途中パスワードを聞かれるので適当に。
ここではパスワードを空で進める。
バージョン確認
guest $ mysql -uroot -p
Enter password: #空
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 44
Server version: 5.6.19-0ubuntu0.14.04.1 (Ubuntu)
...
nginxのインストール
guest $ sudo apt-get install nginx
バージョン確認
guest $ nginx -v
nginx version: nginx/1.4.6 (Ubuntu)
Laravelのインストール
Laravel4をComposerでインストールする
Composerのインストール
guest $ curl -sS https://getcomposer.org/installer | php
guest $ sudo mv composer.phar /usr/local/bin/composer
Laravelをインストール
guest $ cd /vagrant
guest $ composer create-project laravel/laravel --prefer-dist
nginxにドキュメントルートを設定
guest $ sudo vim /etc/nginx/sites-enabled/default
default
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /vagrant/laravel/public;
# Make site accessible from http://localhost/
server_name localhost;
# 末尾のスラッシュの削除
rewrite ^(.+)/$ $1;
location / {
try_files $uri /index.php?$query_string;
}
location ~ ^/index.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
}
location ~ /\.ht {
deny all;
}
}
nginxを再起動
guest $ sudo service nginx restart
画面確認をする
以下のURLにアクセス
http://192.168.33.10/
Done!!
簡単ですね。