【Laravel】ComposerとLaravelをインストールする方法
2019/12/03
10年ぐらい前からCakePHPを使用してきましたが、最近のPHPのフレームワークは「Laravel」が一番の流行とのことを数年前から知っていたのですが、この度、ようやく興味をそそられたのと、個人的に「さらなる学習をしないといけない」という事があったのを幸いとし、Laravelをスタートしてみようと思い立ちました。
とりあえずはいつものように(?)インストール方法を自身の備忘録としてポストしておきたいと思います。
ComposerとLaravelをWindows10環境へインストールする
Composerのインストール
Laravelをインストールしようといくつかの初心者向けサイトを参考にすると「Composer」なるものをインストールする必要があるようです。
CakePHP3をインストールするのにもComposerを使用するのですが、実を言うと今まで延々とCakePHPは2系統を使用してきており、CakePHP3を未だ使用したことがなかったりします(苦笑)
ということで、Composerのインストールから始めることとなりました。
で、そもそもComposerとはなんぞや、とうことでググります。
https://qiita.com/voyage_nh/items/3774bbbed7c767e98ea4
必要なことは上記のQiita記事にまとめられていました。
ComposerとはPHPのパッケージ管理システムである。
で、Composer経由でフレームワーク等をインストールすると、必要なライブラリやパッケージ類を自動的にインストールしてくれる、とのこと。
なるほど。
自動的にというのは良い部分も悪い部分もありそうですが、初心者にはありがたいことです。
ということで、Composerのインストールを始めます。
Composerが動作する環境として、PHP5.3.2以上、本丸のLaravel 5.8にはPHP7.1.3以上、Laravel 6にはPHP7.2以上が必要とのことなので、(私の環境では)少し前のポストでPHP5とPHP7を同居させる方法を書きましたが、それを利用してPHP7.2が動作するようにしておきます。
https://getcomposer.org/download/
↑ 上記サイトへアクセスし、インストーラーをダウンロードします。
↑ DLしたインストーラー。ダブルクリックして実行します。
↑ Developper modeのチェックはせずに「Next」
↑ 「php.exe」のパスを聞かれるので、インストールするマシン環境下のphp.exeを指定します。
↑ プロキシの設定はしないので、入力せずに「Next」
↑ 最後に確認画面が出るので、内容をチェックして「Install」
↑ 完了画面。「Finish」で完了
環境変数
次に、Windowsの環境変数を設定します。
↑ コントロールパネル → システム
↑ 「システムの詳細設定」
↑ [詳細設定]タブ → [環境変数]
↑ [システム環境変数]に Path 項目を選択して[編集]ボタンをクリック
↑ php.exeと、Composerのパスが設定されていると思うので、確認できればそれでOKです。
記述されていない場合は、追加します。
インストールが成功しているとコマンドプロンプトから composer -V と打つとバージョンが表示されるそうなのでやってみます。
コマンドプロンプトを起動し、コマンドをと打つと、、、
↑ はい、見事にエラー。
環境変数の設定も終わっているのに、なんでや? ここで数十分時間を取られてしましました(苦笑)
で、そもそもインストールしたい Laravel は composer 経由でどこにインストールされるのか? ということに気づき、いつもCakePHPなどでバーチャルドメインを作成しているのと同じ要領で、
I:/website_data/LARAVEL5TEST/
というディレクトリを作成してみました。ここを練習用の領域と定めます。
コマンドプロンプトでそのパスへ cd して移動し composer と入力してみると、、、、
見事、成功のロゴが表示されました。
composer -V すると、きちんとバージョンが表示されました。
↑ インストールされているバージョンと、インストールされた日付が表示されます。
いまいち釈然としませんでしたが、真相究明は次回以降。
とりあえずLaravelが動作する環境づくりを優先することとします。
Laravelのインストール
引き続き、Laravelのインストールを始めます。
バージョンはこのポストを作成している時点の最新版である「5.8」を採用します。
(追記ここから)
あとでバージョン調査して気づいたのですが、インストールされているPHPのバージョンを基準にして自動的に最新版がインストールされるようで、インストール後のLaravelのバージョンは「6.5.1」となっていました。
この時点では完全なる勘違いで、5.8がインストールされたものとばかり思っています。
(追記ここまで)
「LARAVEL5TEST」パスにいる状態で、コマンドプロンプトから以下コマンドを打ち込みます。
小文字で書かれている「laravel5test」が、今回のプロジェクト用ディレクトリとします。
1 |
composer create-project laravel/laravel --prefer-dist laravel5test |
プロジェクト用ディレクトリ(laravel5test)を指定して上記コマンドを実行すると、LARAVEL5TEST 以下に、「laravel5test」という、プロジェクトディレクトリが作成され、必要な Laravel パッケージが自動的にダウンロード(インストール)されます。
↑ このような画面が5分ほど続きます。
インストールが完了すると、以下のようになります。
↑ logsディレクトリは次に設定する apache のログ用ディレクトリです。
インストールの解説サイトを見ると、「laravel5test」以下の「public」がドキュメントルートとなるようですので、下記の要領でバーチャルドメインを作成してみました。
1 2 3 4 5 6 7 8 9 10 11 12 |
<VirtualHost *:80> ServerAdmin toogiesaka@gmail.com DocumentRoot "I:/website_data/LARAVEL5TEST/laravel5test/public" ServerName laravel5test.localhost ServerAlias laravel5test.localhost ErrorLog "| bin/rotatelogs.exe I:/website_data/LARAVEL5TEST/logs/laravel5test.localhost-error_%Y%m.log 86400" CustomLog "| bin/rotatelogs.exe I:/website_data/LARAVEL5TEST/logs/laravel5test.localhost-access_%Y%m.log 86400" combined <Directory "I:/website_data/LARAVEL5TEST/laravel5test/public"> AllowOverride All Require all granted </Directory> </VirtualHost> |
↑ バーチャルドメインの設定
1 |
127.0.0.1 laravel5test.localhost |
↑ hostsファイルも設定。
hostsファイルも設定し、laravel5test.localhost へアクセスすると、、、
キター!!!
ようやくインストールができました。
インストール後の追記
ここでは Apache のバーチャルドメインを作成して Laravel を起動させていますが、初心者向けサイトを参照すると、PHPの機能であるビルトインウェブサーバー機能を使用するのが標準的なようです。
ビルトインウェブサーバを使用することにより、XAMPPなどの設定をしなくてもよいとのこと。つまり、私のように、他の開発のために apache2 + PHP5 環境とは別に、PHP7を利用した Laravel の開発を並列で動作することが出来るということですね。なんて素晴らしい。
ビルトインウェブサーバーの起動は artisan serve コマンドで行います。
1 2 3 4 |
i: cd website_data\LARAVEL5TEST\laravel5test php artisan serve Laravel development server started: http://127.0.0.1:8000 |
この状態までして、 http://127.0.0.1:8000 へアクセスすると、
↑ きちんと表示されました。
追加の設定
Windowsのローカル環境では以上の作業でインストールまではできましたが、さくらインターネット等の実際のUNIX環境ではディレクトリのパーミッションをいくつか操作する必要があるようです。
ディレクトリのパーミッション
プロジェクト用ディレクトリ(laravel5test)以下の「storage」と「bootstrap/cache」ディレクトリのパーミッションを書き込み権限があるように(777に)変更。
Application Key
今回は「composer」コマンドを使用してインストールしたので自動的に設定され、自身での設定は不要なようですが、手動インストールした場合は、laravel5test/.env ファイルの「app_key」にランダムな32文字の設定をする必要があるようですので、忘れずに行います。
「.env.example」という名前のファイルを「.env」とし、app_keyにランダムな32文字を設定するだけのようです。
タイムゾーンと言語設定
laravel5test/config/app.phpファイルの、タイムゾーンと言語の設定を変更します。
元設定はUTCとなっていますが、Asia/Tokyo と変更
1 2 3 4 5 |
// 変更前 'timezone' => 'UTC', // 変更後 'timezone' => Asia/Tokyo; |
言語設定を en から ja に変更。
1 2 3 4 5 |
// 変更前 'locale' => 'en', // 変更後 'locale' => 'ja', |
以上でひとまずの設定が完了しました。
Laravelプロジェクトのディレクトリ構成
今回インストールしたLaravelのディレクトリ構成をまとめておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
LARAVEL5TEST │ └ laravel5test │ ├── app ・・・アプリケーションのロジック ├── bootstrap ・・・laravelフレームワークの起動コード ├── config ・・・設定ファイル ├── database ・・・MigrationファイルなどDB関連 ├── public ・・・Webサーバのドキュメントルート ├── resources ・・・ビューや言語変換用ファイルなど ├── routes ・・・ルーティング用ファイル ├── storage ・・・フレームワークが使用するファイル ├── tests ・・・テストコード └── vendor ・・・Composerでインストールしたライブラリ |
参考サイト
https://readouble.com/laravel/5.8/ja/installation.html