やる,Laravelを.Homesteadで開発環境をつくる

Laravel

お疲れ様です。
Raingearの杏です。

今回はPHPのフレームワークのLaravelを使ってみたいと思います.
何かアプリを作ってみたいです.
とりあえず目的は定めずだらだらと…

まずは開発環境を作ってみようと思います.

 

環境

Windows10
PHP 7.1.9
Laravel 5.7
Vagrant 2.2.0
VirtualBox 5.2.20
Git 2.18.1

 

目的

目的地のない旅

 

Laravelとは

LaravelとはPHP書かれたWebアプリケーションフレームワークです.
PHPのWebアプリケーションフレームワークといえばSymfony,CakePHP,Codeigniter,FuelPHP(個人的に描き心地はこれが最高だったけどもう開発が止まっている…)などがありますが,今一番人気なのはLaravelらしいです.

個人的に結局この先生きのこるのはSymfonyなんでしょみたいな予感がするのですが,正直どれも1つ覚えれば応用が利く感もあるのでとりあえずLaravelをいじってみたい.
http://laravel.jp/

 

Laravelのバージョンを決める

とりあえず2018年11月現在の最新は5.7みたい.
LTSの最新は5.5(2017年8月リリース)とのこと,
LTS:ロングタイムサポートはバグフィックスは2年,セキュリティフィックスは3年とのこと.
リリースのスケジュールが明確なので,安心感がある(Symfonyほどではないケド)

ちょっと迷うけど,試しに最新の5.7を使ってみることにした
5.7はPHP7.1.3以上が必要みたいだけど,現時点で本番環境として想定しているさくらのレンタルサーバーもPHP7.2で動作しているのでたぶん動くと思う.

開発環境を作る

まずXAMPPをアンインストール……した.
公式ドキュメントのインストールの項目を参考にした
https://readouble.com/laravel/5.5/ja/installation.html

Laravelの開発にはHomestead(入植農地、「ホームステード」)というVagrantのBox?パッケージ?を使うのが推奨されているらしい.
Laravelを動作させるサーバー要件が決まっており,Homesteadは要件を満たした仮想環境を自動で構築/立ち上げしてくれるみたいだ.
XAMPPだと要件を満たすか謎な上に,開発しているマシン (Windows側)がごちゃごちゃになるらしい.
ちなみにHomesteadはほかのPHPフレームワークの開発環境としても使えると思われる.
ただ,開発環境の構築を他人まかせにすると,本番環境の構築のとき困る気がするけど(まあPHPだから大抵のレンタルサーバーでは動作するハズ…)

ちなみに自分で1から環境を構築するときは以下の要件を満たす必要がある

Lravelの動作要件

PHP >= 7.0.0
OpenSSL PHP拡張
PDO PHP拡張
Mbstring PHP拡張
Tokenizer PHP拡張
XML PHP拡張

実際にはHTTPサーバー(Apache/Nginx)やデータベース(MySQL/PostgreSQL/SQLite/SQL Server)なども必要になると思う.
今回は細かいことは気にせずHomesteadで開発しようと思う.

本番環境(さくらのレンタルサーバー)で動かなかったときは,その時考える.

 

Homesteadを使う

https://readouble.com/laravel/5.5/ja/homestead.html
『laravel/homestead』BoxをVagrantへ追加するコマンドを実行
vagrant box add laravel/homestead

 

Homesteadフォルダ?プロジェクト?をclone
git clone https://github.com/laravel/homestead.git ./homestead

大文字のフォルダ名だとターミナルからのアクセスが手間になるので小文字にしますね.
cloneした状態だとmasterブランチにcheckoutされていると思いますが,安定しているとは限らないみたいなので
GitHubのリリースページ(https://github.com/laravel/homestead/releases)から最新の安定バージョンを確認してcheckoutします.

2018年11月現在はv7.18.0でした.
cd homestead
git checkout v7.18.0



checkoutできたらHomestead.yamlを生成するコマンドを実行します.

// Mac / Linuxの場合
bash init.sh
// Windowsの場合
init.bat

 

Homestead.yamlを編集する

 

生成されたHomestead.yamlを編集して自分の使いやすい設定にします.

 

『homestead.test』ドメインへのアクセスをHomestead(192.168.10.10)へ転送するために,hostsファイルを編集します.
Windowsのhostsの場所は『C:\Windows\System32\drivers\etc\hosts』

 

 

hostsファイルの編集には管理者権限が必要みたいです.
エディタの警告に応じて開きなおしたりして編集しました.

これでHomesteadのサーバーに『http://homestead.test』でアクセスできる設定になった.ハズ

 

Vagrantの実行

Vagratを起動するためのコマンドを実行する.
vagrant up


 

当然ながら,開発を再開するたびにhomesteadディレクトリ上でvagrant upする必要があります.
ローカルのcode\publicディレクトリにindex.phpという名前のファイルを追加して,「Hello,World!」を表示するプログラムを記述・実行してみる.

 

ブラウザで『http://homestead.test』にアクセスすると「Hello,World!」が表示された.

 

ローカルと開発環境のファイルの同期とPHPプログラムが正常に実行されていることが分かった.

Homesteadの環境をターミナルから操作する

homesteadディレクトリでvagrant sshコマンドを実行する
vagrant ssh

 

仮想環境のOSはUbuntu 18.04.1みたい

コマンドプロンプトからもアクセスできたけど,どっかでSSH入れたからカモ知れない.(Gitに付いてきた?)
PHPのバージョンを確認(コマンド間違えた)

 

2018年11月現在
PHP 7.1.9
MySQL 14.14
nginx 1.15.0

らしい

開発環境と本番環境で同じ動作を保証したい場合,この構成に合わせる必要があるカモ知れない.
exitコマンドでssh接続を閉じる.

Homestead(Vagrant)を終了するときは『vagrant halt』コマンドを実行する.
vagrant halt

今後Homestead.yaml(設定)を変更して設定内容を反映させたい場合は『vagrant reload –provision』コマンドを実行する
vagrant reload --provision

vagrant reloadだと単に仮想マシンが再起動するダケみたい.
Homesteadは使い始めは複雑に思えるけど,プロジェクトが増えていくとドメイン/サイトを追加したりPHPのバージョンの切り替えしたり,いろんなことがHomestead.yaml(設定ファイル)の編集だけで出来るみたいで便利っぽい.

 

とりあえずPHPの実行環境が実行できたので

Laravelの勉強はまた次回

PHPフレームワーク Laravel入門

新品価格
¥3,240から
(2018/12/17 19:56時点)

Spread the love
コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Python
Pythonオレオレオレオレチートシート

目次1 参考ページ2 環境の作り方2.1 インストール2.1.1 windowsの場合2.1.2 M …

Spread the love
PHP
PHP俺チートシート

PHPをコーディングする上で「これどうやんだっけ」みたいのをいちいちドキュメント確認とかしてたので, …

Spread the love
Laravel
やる,Laravelを.その3 Laravel Mix

お疲れさまですRainGearの杏です.   Laravelでの3Dモデルデータ閲覧システ …

Spread the love