テック

【Windows開発環境】WSL上にLaravelをインストールして動かすまで

個人開発用にWindowsのWSLを使用して、PHP(laravel)の開発環境を構築してみます。

PHP、laravel、WSLと色々初めての事ばかりなので、個人の備忘録を兼ねた記事とします。

本記事では、以下の大枠でWindows端末でのLaravel開発環境構築を行っていきます。

  • WSL(Ubuntu)のインストール
  • WSLにPHPのインストール
  • laravelプロジェクトの新規作成
  • サーバーの起動と動作確認

環境/インストールバージョン

実行環境

  • Windows 10 (64bit)

インストールバージョン

  • Ubuntu 18.04 LTS
  • PHP 7.2

WSL(Ubuntu)のインストール

Window端末で「Microsoft Store」を起動し、ストアにて" Ubuntu "を検索します。

今回は「Ubuntu 18.04 LTS」のバージョンをインストールしていきます。

※LTS: 長期サポート版

また、WSLはWindowsの設定で機能を有効かしなければ動作しないため、
Windowsの機能の有効かまたは無効化」の設定にて、「Windows Subsystem for Linux」のチェックをONにします。

入手後、再起動を求められますので端末を再起動して、WSLの導入は完了です。

続いて、Ubuntuを起動しPHPをインストールします。

WSLにPHP 7.2 をインストールする

先の手順でインストールしたUbuntuのアプリアイコンをクリックすると、ターミナルが表示されサブシステムを起動します。

初回起動時はユーザー名、パスワードを設定する必要があります。

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: 任意のユーザー名
Enter new UNIX password: 任意のパスワード
Retype new UNIX password: 任意のパスワード(確認用)
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
 ・・・

パッケージの最新情報取得

apt-getコマンドで、パッケージの最新情報を取得します。

$ sudo apt-get update

更新完了後、導入済みのパッケージをアップグレードしておきます。

$ sudo apt-get upgrade

PHPをインストール

PHP 7.2をインストールします。

$ sudo apt-get install -y php7.2 php7.2-zip php7.2-mbstring php7.2-dom php7.2-mysql

Composerをインストール

PHP関連のパッケージを管理するソフトが「Composer」だそうです。

$ curl -sS https://getcomposer.org/installer | php
  ・・・
$ sudo mv composer.phar /usr/local/bin/composer
  ・・・
$ sudo chmod +x /usr/local/bin/composer
  ・・・

サブシステムとの共有フォルダを作成

Windosシステムとサブシステム(Ubuntu)で、プロジェクトリソース等を共有するためのフォルダを作ります。

今回手順では、「C:\laravel」のフォルダをWindos側で新規作成し、サブシステム側には、同フォルダへのシンボリックリンクを作成します。

ln -s /mnt/c/laravel

と、ここまででPHPの導入が完了。

いよいよlaravelプロジェクトの作成を行います。

laravelプロジェクトの新規作成

前手順で作成した共有フォルダへ移動し、laravelプロジェクトを作成します。

laravelのインストールとプロジェクト作成が、コマンド一つでできるという。

モダンなフレームワークの力は偉大です。

$ composer create-project laravel/laravel TEST_PROJECT --prefer-dist
Installing laravel/laravel (v6.5.2)
As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension.
This may cause invalid reports of corrupted archives. Besides, any UNIX permissions (e.g. executable) defined in the archives will be lost.
Installing 'unzip' may remediate them.
  - Installing laravel/laravel (v6.5.2): Downloading (100%)
  
  ・・・(略)

と、思ったらここでエラーが発生

「chmod(): Operation not permitted」というエラー内容です。

Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

In Filesystem.php line 153:

  chmod(): Operation not permitted


Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

Filesystem.phpでの権限付与の処理が、パーミッションエラーとなっているっぽいという事で、sudoで再実行してみます。

$ sudo composer create-project laravel/laravel TEST_PROJECT --prefer-dist
・・・(略)
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
> @php artisan key:generate --ansi
Application key set successfully.

どうやら上手くいった模様。

これで、共有フォルダ配下にlaravelプロジェクト「TEST_PROJECT」が作成されました。

最後にサーバーの起動を確認してみます。

サーバーの起動と動作確認

作成したプロジェクトに移動し、サーバー起動のコマンドを実行してみます。

$ cd  TEST_PROJECT
$ php artisan serve
Laravel development server started: http://127.0.0.1:8000
[Wed Nov 27 15:47:29 2019] 127.0.0.1:55728 [200]: /favicon.ico
^[[Wed Nov 27 15:50:54 2019] 127.0.0.1:55889 [200]: /favicon.ico
[Wed Nov 27 15:52:10 2019] 127.0.0.1:56025 [200]: /favicon.ico

ローカルサーバーが起動しました。

http://127.0.0.1:8000」でブラウザアクセスしてみましょう。

無事成功。初期画面が表示されました。

なお、サーバーの停止はターミナル画面で「 Ctrl + c 」します。

まとめ

まずは、laravelプロジェクトが作成できるところまでの準備が整いました。

ネットの情報に従って、インストールしただけではありますが、手元でモノが動くのは嬉しいものです。

Railsチュートリアルを一瞬かじった際も思ったことですが、モダンなフレームワークを使うと、プロジェクト立ち上がりまでのがメチャ早くて感動。

ガジェット

2020/2/18

VRゴーグルの種類と選び方【2020年の最新事情】

VRゴーグルが登場して数年。今や一般家庭でも手軽にVRコンテンツをを楽しめる様になり、その遊び方や対応するデバイスの種類も増えてきています。 とはいえ、まだVRを経験した方の割合が多いのもではないでしょうか。 「VRにはどういったデバイスの種類があるのか」や「VRでは何ができるのか?」、「どういった使い方がおすすめか?」 といった疑問を解消すべく、最新のVRデバイス事情をまとめました。 VRゴーグル選びの参考となれば幸いです。   Contents 1 VRゴーグルの種類一覧 2 モバイル型VR ...

ReadMore

ガジェット

2020/2/17

HUAWEI WATCH GT2 の最新アップデート(1.0.3.62)で待ち受けフェイスが追加!!

HUAWEI WATCH GT2の最新ファームウェア「1.0.3.62」が更新可能となっていましたので、早速試してみました。 1.0.3.62 のアップデートでは、待ち受けの文字盤のフェイスが新たに追加されている様です。 従来のフェイスに少し飽きてきたころだったので、地味ながらうれしい変更です。   1.0.3.62 の更新ログより抜粋 注 1)更新パッケージをウェアラブルに転送した後も、更新を完了するにはインストールする必要があります。 2)ウェアラブルを更新するには、少なくとも20%のバッテ ...

ReadMore

ガジェット

2020/2/16

【シニア向け】はじめてのスマホデビューに向けておすすめの料金プラン

最近、うちの両親がガラケーからのスマホデビューを検討しています。 もう70代で立派な高齢者ですが、まだまだ意欲はある様です。   シニア向けのプランについて色々調べてみると、各キャリアやMVNO事業者ではシニアなどスマホデビューのユーザーをターゲットにした料金プランや割引プランが展開されています。   本記事では60歳以上のシニアユーザーの視点で各キャリアのお得なプランと、シニア向けサービスを展開するMVNOのおすすめプランの特徴を紹介していきます。   対象ユーザー 60歳 ...

ReadMore

インターネット

2020/2/18

【超セール速報】Amazonで2月20日までKindle祭りが開催中!!最大50%OFF

現在、amazonのkindleストアにて、下記のセールが開催中です。 セールの開催期間は2月20日まで。 ビジネス書や専門書はまとめ買いのチャンスかも。   翔泳社祭2020 | あれも、これも、大感謝セール! 2月20日までの期間中、電子書籍1000点以上が50%OFF・50%ポイント還元となります。 人気の技術書やビジネス書も豊富で、普段購入すると高価な売れ筋書籍も50%OFFで購入可能! なお、翔泳社直販のPDF版は50%ポイント還元となるようです。   テンションがあがると同 ...

ReadMore

インターネット

2020/2/18

【2月限定キャンペーン】「U-NEXT」31日間無料トライアル登録で2000円還元中!!

現在、大手ASPサイト「A8.net」のセルフバックキャンペーンにて、動画配信サービス「U-NEXT」の31日間無料トライアルにに登録すると2,000円がもらえるキャンペーンが行われてます。 2月限定、初回登録限りの結構熱いキャンペーンだと思うので、興味がある方はお試ししてはいかがでしょうか。   キャンペーンの参加は『A8.netへの登録』と『U-NEXTの31日間トライアルへの登録』が必要となります。 本記事では、各サービスの概要とA8.netでのセルフバックの仕方についてご紹介します。 C ...

ReadMore

-テック
-,

Copyright© やるログ , 2020 All Rights Reserved Powered by AFFINGER5.