2015年7月26日日曜日

Homesteadをインストールする

まず、VirtualBoxをインストール。MacOS向けのインストーラをここからダウンロードして実行するだけ。簡単。

次にVagrantをインストール。公式WebサイトのダウンロードページからMacOS向けのインストーラをダウンロードして実行するだけ。これも簡単。

% which vagrant/usr/local/bin/vagrant

なるほど、無事インストールされた模様。そこで更にHomesteadのインストール手順に従うと、、、

% vagrant box add laravel/homestead==> box: Loading metadata for box 'laravel/homestead'
    box: URL: https://atlas.hashicorp.com/laravel/homestead
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) virtualbox
2) vmware_desktop

Enter your choice: 1
==> box: Adding box 'laravel/homestead' (v0.2.7) for provider: virtualbox
    box: Downloading: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.2.7/providers/virtualbox.box

==> box: Successfully added box 'laravel/homestead' (v0.2.7) for 'virtualbox'!

このダウンロードに結構時間が掛かる。大体1時間半くらいかかった。更にHomesteadをgit cloneする。

% git clone https://github.com/laravel/homestead.git HomesteadCloning into 'Homestead'...
remote: Counting objects: 1047, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 1047 (delta 2), reused 0 (delta 0), pack-reused 1036
Receiving objects: 100% (1047/1047), 158.21 KiB | 90.00 KiB/s, done.
Resolving deltas: 100% (606/606), done.
Checking connectivity... done.


さらにHomestead.yamlを作る。

% cd Homestead/
% sh init.sh
Homestead initialized!


更にHomestead.yamlを見ると、ProviderはVirtualBoxなので問題無し。

% cd ~/.homestead/
% grep provider Homestead.yaml 
provider: virtualbox

更にSSH Keyを作る。

% ssh-keygen -t rsa -C "you@homestead
"Generating public/private rsa key pair.
Enter file in which to save the key (/Users/<username>/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/<username>/.ssh/id_rsa.
Your public key has been saved in /Users/<username>/.ssh/id_rsa.pub.
...(中略)...


SSH Keyのファイル名を変える。

% cd ~/.ssh/
% mv id_rsa Homestead
% mv id_rsa.pub Homestead.pub


Homestead.yamlに色々と設定(以下、変えた所だけ)。

% cd ~/.homestead/
% vi Homestead.yaml
(前略)
ip: "192.168.11.11"
authorize: ~/.ssh/Homestead.pub
keys:    - ~/.ssh/Homestead
(後略)

さて、ここでHomesteadを立ち上げる

% vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 80 => 8000 (adapter 1)
    default: 443 => 44300 (adapter 1)
    default: 3306 => 33060 (adapter 1)
    default: 5432 => 54320 (adapter 1)
    default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default:
    default: Guest Additions Version: 4.3.14
    default: VirtualBox Version: 5.0
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => /Users/<username>/Homestead
    default: /home/vagrant/Code => /Users/<username>/<app name>
==> default: Running provisioner: file...
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: ssh-rsa XXXXX you@homestead
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: Running provisioner: shell...
    default: Running: /var/folders/x_/0yldqsjd5ln1wwkq877_yms40000gq/T/vagrant-shell20150726-25772-3a6mwz.sh
==> default: Running provisioner: shell...
    default: Running: /var/folders/x_/0yldqsjd5ln1wwkq877_yms40000gq/T/vagrant-shell20150726-25772-1qvawnk.sh
==> default: nginx stop/waiting
==> default: nginx start/running, process 1823
==> default: php5-fpm stop/waiting
==> default: php5-fpm start/running, process 1838
==> default: Running provisioner: shell...
    default: Running: /var/folders/x_/0yldqsjd5ln1wwkq877_yms40000gq/T/vagrant-shell20150726-25772-16v1opw.sh
==> default: Warning: Using a password on the command line interface can be insecure.
==> default: Running provisioner: shell...
    default: Running: /var/folders/x_/0yldqsjd5ln1wwkq877_yms40000gq/T/vagrant-shell20150726-25772-1kgrvd.sh
==> default: createdb: database creation failed: ERROR:  database "homestead" already exists
==> default: Running provisioner: shell...
    default: Running: /var/folders/x_/0yldqsjd5ln1wwkq877_yms40000gq/T/vagrant-shell20150726-25772-8nfae9.sh
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: php5-fpm stop/waiting
==> default: php5-fpm start/running, process 1928
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: Updating to version c6cc6dd6070871f4b198ed39f76dd8047c116b02.
==> default:     Downloading: Connecting...
==> default:
==> default:     Downloading: 100%
==> default:        
==> default:
==> default: Use composer self-update --rollback to return to version c43a39f7334ae3df968cd36a6eff0436bea0da75
==> default: Running provisioner: shell...
    default: Running: /var/folders/x_/0yldqsjd5ln1wwkq877_yms40000gq/T/vagrant-shell20150726-25772-5gwe60.sh


というわけで無事起動した模様。後は、/private/etc/hostsにhomestead.appを名前解決するエントリだけ追加して終了。

% cd /private/etc
% sudo vi hosts
Password: *****

エントリはこんな感じ。IPは~/.homestead/Homestead.yamlで設定したのに合わせる。

192.168.11.11   homestead.app

% ping homestead.app
PING homestead.app (192.168.11.11): 56 data bytes
64 bytes from 192.168.11.11: icmp_seq=0 ttl=64 time=0.650 ms
64 bytes from 192.168.11.11: icmp_seq=1 ttl=64 time=0.496 ms

.....

これでどうやら立ち上がった模様。

0 件のコメント:

コメントを投稿