【Laravel入門】1.MacでLaravel5.5の環境構築する(Homestead使用)
今回は、復習がてらLaravelの環境構築。初心者向けです。
Vagrantを用いてLaravelの開発環境を構築します。
ゴールは Laravel ページにブラウザからアクセスするまで。
【環境】
Max OSX
【構築する環境】
Vagrant+VirtualBox+Homestead(PHP7.2+Laravel5.5)
Laravelに関しては、依存関係などにかかわらず構築できる
「Homestead」というboxがあるため、今回はそちらを使用します。
記載する内容は、おおよそ公式ドキュメントにも記載がありますので
合わせて参照ください。
Laravel Homestead 5.5 Laravel
インストール 5.5 Laravel
1.VagrantとVirtualBoxのインストール
ブラウザからインストール
Vagrant by HashiCorp
Downloads – Oracle VM VirtualBox
Macに合わせてインストールしました。
特に編集する必要もないので、次へを押し続けてインストールを完了します。
VagrantがインストールできたかどうかはMacのターミナルを開き、
本コマンドで、下記の返答があればOKです。(2017/12/30現在)
Vagrant 2.0.1
VirtualBoxはインストール後Application内にあります。
これでVagrantとVirtualBoxのインストールは完了です。
2.Homesteadのインストール
下準備
続いて、ターミナルで操作します。(// 部分は説明なので不要です)
ディレクトリ作成
$ mkdir myapp // myappフォルダを作成(名前は任意)
$ cd myapp // myappフォルダへ移動
HomsteadのBox追加
$ vagrant box add laravel/homestead // homesteadのboxを追加
はじめに選択肢があります、今回はvirtualboxを使用するため、3を入力してEnter。
インストールがはじまります、時間がかかります(私の場合は5分程度でした)
完了しました!これでHomesteadのBoxがインストールできました。
(必要あれば)Xcode/Gitのインストール、非公開鍵の生成
HomesteadはGitを用いてcloneするため、
$ git --version
こちらで、git version 2.14.3など、
gitのバージョンが表示された場合はXcodeのインストールは省略ください。
もしxcrun: error: invalid〜など、エラーが出た場合は下記実行下さい。
$ xcode-select --install // installの画面が表示されるのでクリック。
XcodeをインストールすることでGitの使用が可能になります。
もう一度git --versionで確認して無事インストールできていれば完了です。
Vagrant起動時に、鍵も必要になるのでついでに生成しておきましょう。
$ cd ~/
$ ls -la I grep .ssh // id_rsa と id_rsa.pubがあればすでに生成済
(生成していない場合は) $ssh-keygen -t rsa // 質問されますがEnterでok
以上で下準備の完了です。
Homesteadのインストール
早速インストールします!
もし鍵を生成した人は、自分のディレクトリに戻りましょう。
(私の場合は cd User/自分のユーザ名/myapp)
$ git clone https://github.com/laravel/homestead.git Homestead
Cloning into 'Homestead'...
remote: Counting objects: 2743, done.
remote: Total 2743 (delta 0), reused 0 (delta 0), pack-reused 2743
Receiving objects: 100% (2743/2743), 525.83 KiB | 1.26 MiB/s, done.
Resolving deltas: 100% (1628/1628), done.
masterブランチは不安定なので、Githubのリリースページで
安定バージョンを確認し、checkoutします。
$ cd Homestead
$ git checkout v7.0.1 // 2017/12/30現在安定ver
ここまで完了したら、初期化します。
$ bash init.sh
Homestead initialized!
Homesteadの初期設定
最後に初期設定を実施します。
Homesteadの設定は、Homesteadディレクトリ内のHomestead.yamlファイルを編集します。
プロバイダから共有フォルダなど、必要あればこちらで編集ください。
そして、ローカルドメインへのリクエストをHomesteadへ転送してくれるように、
hostsファイルを編集します。
$ cd /
$ vi etc/hosts
vimでhostsファイルが開けますので、
192.168.10.10 homestead.test
このように追加すれば完了です。
Webブラウザから、こちらのIPアドレスでアクセスできます。
http://homestead.test(まだ起動していないので、接続できません)
これで、Homesteadの設定は完了です。
3. Laravelプロジェクトを作成して、Laravelページを表示する
Homesteadディレクトリ内で、以下実行します。
vagrant起動・接続
少し時間がかかります。
状況を確認します。
$vagrant status
起動できました。
起動後、接続します。
接続できました。
ターミナルが下記のようなコマンドになっていれば接続完了です。
[vagrant@homestead ~]$
ちなみにVagrantのコマンドは下記の通り。
$ vagrant up // 起動
$vagrant ssh // 接続
$vagrant status // 状態確認
$ vagrant halt // 停止
$vagrant reload // 再起動
Laravel インストールからブラウザ表示まで
早速、Laravelのインストールを実施します。
Homesteadは、Laravelの依存関係をすべて解決してくれるcomposerをすでに持っています。
もし持っていなければcomposer をinstallしましょう。
$composer
このコマンドで、大きくComposerと表示されればインストール済みです。
composerを用いてLaravelのインストーラをダウンロードします。
$ composer global require "laravel/installer"
インストールが完了したら、早速Composerでプロジェクトを作成しましょう!
$ composer create-project --prefer-dist laravel/laravel blog // blogは任意のプロジェクト名
こちらも少々時間がかかりますが、Laravelが便利な機能を沢山勝手に作ってくれています。
最後に、サーバを起動します。
今回、外部からの接続ができるように、最後に指定も必要です。
$ cd blog // プロジェクトディレクトリに移動
$ php artisan serve --host 0.0.0.0
そして、
http://192.168.10.10:8000/から接続してみましょう。
待ちにまったLaravel様!拝めた!
以上で、環境の構築は完了です。
別記事でPost投稿機能、Comment投稿機能のついたblogを作ります