前回はVagrantとVirtualBoxのインストールが主でしたが、今回はターミナルを使ったインストールになっていきます。
エディタはVisual Studio Codeを使っていきます。
他にもviを使った編集場面も出てくるかもしれませんが、操作方法などはその都度説明を入れていきますのでご安心ください。
では早速はじめていきましょう。🎶
目次
homesteadをVirtualBoxにインストールしましょう
説明がうまく伝わるか心配ですが、VirtualBoxの中に仮想マシンとしてhomesteadを詰め込んで、その中にlaravelのファイル群を展開して仮想マシンを現実のサーバーのサイトのようにブラウザに表示しながら開発を進めるというのが狙いです。
VirtualBoxという仮想環境の受け皿になるアプリにVagrantという操作を行うプログラムを利用して
Homesteadという多くのライブラリを詰め込んだ仮想環境をVirtualBoxにぶち込んで使うというような感じです。
では以下のコマンドをターミナルやコマンドプロンプトで実行します。
お使いのコンピュータやWi-Fiなどのネットワーク環境に依存しますが
vagrant box add laravel/homestead
1) parallelsと2)virtualboxのどちらかを選択するアナウンスが表示されますので、virtualboxの2を選択します。
つまり数字の2を入れてリターンもしくはエンターキーを押してください。

およそ3分程度でVirtualBoxへ入れ込みましたよって返ってきました。
お使いのコンピュータのメモリや処理能力によっては30分以上かかるかもしれませんが、気長に待ってやってください。
完了画面はこんな感じです。

では早速Vagrantのboxにちゃんと入っているか確認してみましょう。
以下のコマンドをコピペしてください。
vagrant box list
以下のようにリストの中に表示されていれば成功です。🎶

Homesteadの初期設定をしよう
コマンドで注意点です。先ほどつくったhomesteadは仮想マシンに入っていますが、実体をご自身のパソコンに作って、実際の操作はそこで行うようにします。
イメージが難しく感じるかもしれませんが、例えていうならばレンタルサーバーにhomesteadを入れた状態がここまでの流れで、今度はそのサーバーを操作するためのディレクトリを自分のコンピュータに複製してレンタルサーバーを操作するといった例えです。
使っていくうちにイメージが顕在化すると思いますので、ご安心ください。
Homesteadディレクトリは自動生成されます。
この中にはVagrantfileやディレクトリの初期化などに利用するinit.shなどが含まれています。
次のコマンドを実行しましょう。
git clone https://github.com/laravel/homestead.git ~/Homestead
このコマンドによってHomesteadディレクトリが生成されます。
できているか確認のためlsコマンドで中身を確認してください。
後ほど説明しますが、Homestead.yamlファイルの内容を変更することでご自身のコンピュータに合った仮想環境を作ることができます。
次はHomesteadを初期化しておきます。
その前に自動生成されたHomesteadディレクトリに移動してください。
cd Homestead
移動が完了したら、以下のコマンドを実行してください。
bash init.sh
これでaliases, after.sh, Homestead.yamlが生成されます。
sshを使うためにKeyの作成をしよう
vagrant sshでvagrantを操作するためにはご自身のコンピュータで生成する秘密鍵と公開鍵が必要になります。
sshというのはセキュアシェルの略で仮想環境がレンタルサーバーの例えとしてお話ししたように外部からの攻撃や侵入に対処するための手段の一つだと思ってください。
ssh-keygen -t rsa
生成過程で最初に Enter file in which to save the key (/Users/chockey/.ssh/id_rsa):
この問合せについては特別な記入は必要ないのでリターンもしくはエンターキーで進んでください。
生成過程でEnter passphrase(empty for no psddphrase)と問い合わせがあります。
パスフレーズはパスワードのようなもので、そのままリターンまたはエンターキーを押せばパスフレーズなしで生成されますが、セキュリティー的にも記入をしたいものです。
確認のため同じパスフレーズ2度記入の必要があります。
生成されたキーそのものは覚える必要はないですが、パスフレーズを忘れないようにメモしてください。
Homestead.yamlファイルの設定をしよう
このファイルでは仮想マシンの設定とlaravelをインストールするためのディレクトリの設定をします。
特別に変更する点は少ないですが、ひとまずデフォルトの設定画面をVScodeで見てみましょう。
ip:は仮装マシンのアドレスになります。
hostsファイルに記載する必要がありますので、メモしておいてください。
memory:とcpus:は仮想マシンに割り当てられるリソースになります。
provider:は仮想化ソフトの指定になります。 VirtualBoxを利用するのでこの記載になってますが、VMWareも利用可能です。
authorize:とkeys:はsshキーの格納されたパスを表示しています。
folders:はご自身のコンピュータと仮想化マシンのディレクトリを紐付ける設定になります。
sites:はブラウザで表示するためのURLになります。
codeディレクトリの作成とhostsファイルの追加をしましょう。
カレントディレクトリ(現在作業しているディレクトリ)に戻りましょう。
以下のコマンドをターミナルで実行します。
cd
これでユーザーディレクトリの直下に戻りましたので、codoディレクトリを作ります。
以下のコマンドを実行してください。
mkdir chmod 755 code
これでcodeディレクトリが直下に作成されています。
次はhostsファイルにHomestead.yamlファイルに設定されているIPとドメインを記述していきます。
ひとまずご自身のコンピュータのhostsファイルがどのような状態かを確認してみましょう。
以下のコマンドをターミナルで時効してください。
cat /etc/hosts
catコマンドはターミナルでファイルの中身を表示してくれます。
筆者の場合は以下のように表示されています。

慣れない方や初めての方は若干扱い方に戸惑うかもしれませんが、viエディタを使ってhostsファイルに記述していきましょう。
以下のコマンドを実行してください。
sudo vi /etc/hosts
途中パスワードを求められますが、お使いのコンピュータのログインパスワードを記入してエンターキーを押してください。
記入時は打った文字が表示されませんが、問題はありません。
sudoコマンドは一時的に管理者権限を得るコマンドです。
実行すると下の画面のような表示に切り替わっているのがターミナルで見えます。

この状態で英数半角小文字でiと打つと文字をインサートできる状態になります。
カーソルをキーボードの🔽キーで最初の記載してある127.0.0.1 localhostの1まで下げてリターンキーで改行します。
次は🔼を押して空白行に移動します。
筆者のHomestead.yamlのip:は192.168.56.56でしたので、”192.168.56.56 homestead.test”と記載しました。
ipアドレスは各自で違うかもしれませんので、homestead.yamlを参考に間違いのないように記載してください。
記載が完了したらその状態でキーボードのescキーを押します。
押したら:wq(コロン ダブリュー キュー)とキーボードで打ち込んでリターンキーを押します。
これで記入した文字がhostsファイルに書き込まれます。
もう一度catコマンドで/etc/hostsファイルを確認してみてください。
以下のように記載が反映されていたら成功です。

これで仮想マシンの起動準備は完了しましたが、vagrant upコマンドを実行する前にHomesteadディレクトリに移動します。
以下のターミナルでコマンドを実行してください。
cd Homestead
カレントディレクトリをHomesteadに移動しましたら、以下の注意書きを読まれた後にその下のコマンドを実行しましょう。
注意点ですが、Homestead.yamlファイルはVSCodeで変更を保存しても仮想マシンに反映されません。
もしも、Homestead.yamlファイルのsites:のデフォルトでの/home/vagrant/code/publicを今後新たなアプリの作成のために/home/vagrant/code/blog/publicのように追加した場合には以下のコマンドが必要になります。
そのままHomesteadのlaravelを起動すると”NO input file specified”とエラーが出ることがありますので、VSCodeで変更を保存後、以下のコマンドを実行してください。
vagrant up --provision
これで仮想マシンに変更が反映されると同時にvagrantが起動します。
Homestead.yamlファイルを変更の必要がない方は以下のコマンドを実行してください。
のちの変更はいくらでも可能です。
変更が必要になったら、上記のコマンドを実行して変更を反映させれば大丈夫です。
vagrant up
仮想マシンが起動されているかを確かめてみます。
以下のコマンドを実行してください。
vagrant status
以下のように表示されていれば成功です。

停止する場合は以下のコマンドで停止できます。
vagrant halt
とりあえずこのまま進んでいきますが、一時休憩される場合は停止しておいてもかまいません。
再度起動される場合は以下のコマンドで仮想マシンを起動できます。
homestead.yamlファイルを書き換えていなければ、–provisionのオプションは必要ありません。
vagrant up
現在のままでhomestead.testとブラウザで表示しようとしてもページには”No input file specified.”と出ているだけです。
当然のことながらまだlaravelをインストールしていませんから間違いではありません。
では次回をお楽しみに。
仮想化環境の基本的な部分の構築は以上で完了です。
次はlaravelフレームワークを仮想マシンにインストールして実際のアプリ開発へ進みます。
お疲れ様でした。