Laravel・PHP入門

未経験Ruby->PHPer初心者

【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.VagrantVirtualBoxのインストール

ブラウザからインストール

Vagrant by HashiCorp
Downloads – Oracle VM VirtualBox

Macに合わせてインストールしました。
特に編集する必要もないので、次へを押し続けてインストールを完了します。

VagrantがインストールできたかどうかはMacのターミナルを開き、

$ vagrant -v #vagrantのバージョン確認

本コマンドで、下記の返答があればOKです。(2017/12/30現在)

Vagrant 2.0.1

VirtualBoxはインストール後Application内にあります。
これでVagrantVirtualBoxのインストールは完了です。

2.Homesteadのインストール

下準備

続いて、ターミナルで操作します。(// 部分は説明なので不要です)

ディレクトリ作成

$ mkdir myapp // myappフォルダを作成(名前は任意)
$ cd myapp // myappフォルダへ移動

HomsteadのBox追加

$ vagrant box add laravel/homestead // homesteadのboxを追加

はじめに選択肢があります、今回はvirtualboxを使用するため、3を入力してEnter。
インストールがはじまります、時間がかかります(私の場合は5分程度でした)

f:id:fresh_engineer:20171230191801p:plain

完了しました!これで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 up // vagrantを起動 : 起動時に毎回必要

状況を確認します。

$vagrant status

f:id:fresh_engineer:20171230200246p:plain

起動できました。
起動後、接続します。

$ vagrant ssh // vagrantssh接続 : 起動時に毎回必要

接続できました。

ターミナルが下記のようなコマンドになっていれば接続完了です。
[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/から接続してみましょう。

f:id:fresh_engineer:20171230201618p:plain


待ちにまったLaravel様!拝めた!
以上で、環境の構築は完了です。

別記事でPost投稿機能、Comment投稿機能のついたblogを作ります