最大10,000ポイント還元!エントリー受付中

テック

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

2019年11月27日

個人開発用に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チュートリアルを一瞬かじった際も思ったことですが、モダンなフレームワークを使うと、プロジェクト立ち上がりまでのがメチャ早くて感動。

最大10,000ポイント還元!エントリー受付中

ライフハック

2020/8/28

【沖縄でサービス開始】『Uber Eats(ウーバーイーツ)』で利用できる店舗は?

2020年8月25日より、沖縄の一部地域で『Uber Eats(ウーバーイーツ)』のサービスが開始されました。 Uber Eats(ウーバーイーツ)とは、海外発のフードデリバリーサービスです。ユーザー(注文者)は専用アプリを使ってUber Eats 提携店の料理を注文でき、注文する料理の代金に加えて配送手数料(320円)を支払うことで、Uber Eats配達パートナーが料金をお届けしてくれるサービスです。 本記事では沖縄でのサービス開始にあたり、沖縄県の配達エリアと利用できるお店について紹介します。 &n ...

ReadMore

クロスバイク ライフハック

2020/8/12

【ダスキンは不可】ママチャリがレンタルできるサービスまとめ

子供の保育園や幼稚園などの送り迎えで大活躍のママチャリ(婦人用自転車)。日常の足として便利なので購入を考えている方も多いのではないでしょうか? しかし、購入するにあたっては保管場所を確保が必要だったり、実際に乗りこなせるか不安があったり買うのを躊躇してしまう側面もあります。また、短期間のみの利用を考えている場合であればコストの問題や処分の手間を考慮しなければなりません。 そんな方におすすめなのが「ママチャリのレンタルサービス」。 レンタルサービスを利用すると次の様なメリットがあります。 短期での利用であれ ...

ReadMore

テック

2020/6/11

【サーバー性能測定】Apache JMeterのインストール方法と使い方を解説

サーバーのちょっとした性能試験をしたいことありますよね!? GoogleのPageSpeed InsightsWebなどのウェブサービスを使って実施するのもいいですけど、Apache JMeter もなかなか便利。 負荷試験なんかで使用されるツールなんですけど、リクエストの数や時間をコントロールして負荷を高めたり、実行結果の詳細/サマリといったログも収集できます。 もちろん単発のリクエストの測定もOK。 設定値を調整すると長いタイムスパン(数時間~24時間とか)の中で、一定間隔での測定も自動化できるわけで ...

ReadMore

テック

2020/5/12

【初心者用】動画で学べる「Davinci Resolve」の使い方【Udemy】

動画編集ソフトって初心者にはとっつきにくいですよね。 Davinci Resolveをインストールしてはみたものの、初めの動画の取り込みからつまづいたり、何故か音が出ない現象に悩まされたり。 初めの内はトラブルが尽きず、なかなか前に進みません。   Davinci Resolve を初めてみたけど、使い方がわからない。 基本操作をまとめて学びたい。 分かりやすい説明も欲しい。   こんな方には動画学習がおすすめかもしれません。 「Udemy」のオンライン動画学習では、 Davinci ...

ReadMore

ライフハック

2020/11/25

【ココナラ体験記】アイコン制作依頼の流れは「かんたん5ステップ」

初体験!! ブログとSNS用のアイコン作成をクリエーターさんに依頼してみました。 利用したサービスはスキルマーケットの「ココナラ」です。 個人間のやり取りがめんどくさそうなイメージを持っていましたが、実際に利用してみるとめっちゃ簡単にオリジナルアイコンを作ってもらえました!   本記事では「アイコンの作成依頼から完成までの流れ」について、実例を交えて詳しく紹介していきます。   ココナラではこんな方にもおすすめですので、ぜひ参考に読んでいただければと思います。 こんな人におすすめ オリ ...

ReadMore

  • この記事を書いた人
  • 最新記事

やるログの人

南国在住。30代のSES系エンジニア。 便利なWebサービスやガジェット関連の情報収集を日課としてます。 収集したライフハック術を武器にアウトプット活動と子育てに奔走中! 本ブログで月間20000PV達成しました!

-テック
-,

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