Windows10でLaravel Homesteadを利用した開発環境を構築(コマンドプロンプト編)
Windows 上に Laravel の開発に必要な環境をパッケージにした仮想マシンの Laravel Homestead を作成します。環境構築について検索すると Git bash を使った作成方法を多く見かけますがコマンドプロンプトを使ったインストールを実施してみます。 Git bash を使った方法は、後日試したいと思います。どちらが便利でしょうかね?
作業にするにあたり vagrant , VatualBox , Git for Windows が必要となります。
laravel/homestead box の取得
laravel/homestead box を Vagrant へ追加するため、コマンドプロンプトを起動し次のコマンドを実行します。
C:\Users\(ユーザー名)>vagrant box add laravel/homestead
仮想環境を聞かれるので、「3」の virtualbox を選択します。
==> box: Loading metadata for box 'laravel/homestead'
box: URL: https://vagrantcloud.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) hyperv
2) parallels
3) virtualbox
4) vmware_desktop
Enter your choice: 3
==> box: Adding box 'laravel/homestead' (v6.3.0) for provider: virtualbox
box: Downloading: https://vagrantcloud.com/laravel/boxes/homestead/versions/6.3.0/providers/virtualbox.box
box: Download redirected to host: vagrantcloud-files-production.s3.amazonaws.com
box:
==> box: Successfully added box 'laravel/homestead' (v6.3.0) for 'virtualbox'!
ダウンロードが終わるまでしばらく待ちます。
ちなみに、ダウンロードしたファイルは「C:\Users(ユーザー名).vagrant.d\boxes」に保存されます。
Homestead 環境を作るのに必要なファイルを取得します。Vagrantfile や Homestead の設定ファイルなどが含まれています。
C:\Users\(ユーザー名)>git clone https://github.com/laravel/homesteas.git Homestead
環境構築に必要なファイルをダウンロードしたフォルダーに移動します。
C:\Users\(ユーザー名)>cd Homestead
設定ファイルを作成します。 init.bat を実行すると3つのファイルがコピーされます。
- Homestead.yaml
- after.sh
- aliases
C:\Users\(ユーザー名)\Homestead>init.bat
SSH で使用する鍵の生成
「C:\Users(ユーザー名).ssh」フォルダーに移動し鍵を生成します。既に存在している場合は、作業を行いません。
保存するファイルを聞かれるので、そのまま Enter を押します。
パスフレーズを求められるので、任意のパスフレーズを入力します。
もう一度パスフレーズを求められるので、同じパスフレーズを入力します。
C:\Users\(ユーザー名)\>cd ..\.ssh
C:\Users\(ユーザー名)\.ssh>ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\(ユーザー名)/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\(ユーザー名)/.ssh/id_rsa.
Your public key has been saved in C:\Users\(ユーザー名)/.ssh/id_rsa.pub.
.....
.ssh フォルダーに id_rsa と id_rsa.pub の2つのファイルが作成されます。
Homestead の設定
init.bat で作成された Homestead.yaml の内容を確認していきます。
Homestead.yaml テキストエディタで開きます。まず、仮想マシン(開発環境)の IPアドレス の設定があります。次にメモリーのサイズ、CPUの数、仮想マシンの種類が設定されています。
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
次に先ほど作成した SSH で使用する鍵ファイルと設定があっているか確認します。
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
次の設定は、開発環境とホストOSのフォルダー共有設定になります。次の設定では、「C:\Users(ユーザー名)\code」フォルダーが共有フォルダーとして設定されており、仮想マシンの開発環境では「/home/vagrant/code」にマッピングされます。
folders:
- map: ~/code
to: /home/vagrant/code
共有フォルダーが存在していないので、事前に作成しておきます。
C:\Users\(ユーザー名)>mkdir code
sites 設定は、 nginx のサイト設定になります。デフォルトでは、 nginx が採用されており Apache はオプションとなるようです。
sites:
- map: homestead.test
to: /home/vagrant/code/public
to の部分がエントリポイントとなるので、とりあえずドキュメントに従って変更しておきます。
sites:
- map: homestead.test
to: /home/vagrant/code/Laravel/public
名前で解決できるよう、 hosts ファイルを修正します。次の設定をすることで、ブラウザーから「homestead.test」でアクセスできるようになります。
「C:\Windows\System32\drivers\etc\hosts」ファイルをテキストエディタで開き次の行を追加します。
192.168.10.10 homestead.test
仮想マシン(Homestead)の実行
Homestead フォルダーで vagrant up コマンドを実行し、仮想マシンを起動します。
C:\Users\(ユーザー名)\Homestead>vagrant up
仮想マシンの起動確認
仮想マシンが起動できたか次のコマンドで確認します。
C:\Users\(ユーザー名)\Homestead>vagrant status
Current machine states:
homestead-7 running (virtualbox)
running と表示されれば、起動しています。
ブラウザーから確認
ブラウザーを起動し、 homestead.test へ接続してみます。
表示するものが何もないので、「No input file specified.」と表示されます。
Laravel のプロジェクトを作成
ssh を使って開発環境へ接続します。
C:\Users\(ユーザー名)\Homestead>vagrant ssh
作業用の共有ディレクトリへ移動し、 Laravel のプロジェクトを作成します。
vagrant@homestead:~$ cd code
vagrant@homestead:~/code$ composer create-project laravel/laravel Laravel --prefer-dist
code ディレクトリに Laravel ディレクトリが作成されその配下にプロジェクトが作成されます。
code
|- Laravel
|- app
|- public
ブラウザーから homestead.test へ接続し次の画面が表示されることを確認します。
以上で開発環境が構築されました。
仮想マシンの停止
仮想マシンを停止するには、 Vagrantfile ファイルのある Homestead フォルダーへ移動し次のコマンドで停止します。
C:\Users\(ユーザー名)\Homestead>vagrant halt