テック

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

インターネット

2020/4/4

無料で始める!「英語の聞き流し学習」がはかどる5つの方法

英語のリスニング学習方法の一つとして知られている「聞き流し」。 これは英会話や英単語を浴びるように聞くという方法で、普段行っている英語学習を補強したり上達をサポートするためのメソッドとして活用されています。 聞き流しの学習効果については、メンタリストDaigoのYouTube動画でも取り上げられており『メインの勉強を行う前提で、これを加速させるための手段としては効果あり』と結論づけられていました。 リスニングは座学とは違って通勤/通学中、ウォーキング中、家事をしながらなど時と場所を選ばずに限られた時間で学 ...

ReadMore

インターネット

2020/3/31

【2回目もOK】アマゾンプライムの無料体験を賢く使う

便利でお得なアマゾンプライム会員。ここ数年はデフォルトで年間会員でやってきたのですが、最近は利用頻度も落ち気味。 直近の利用状況としては、 2~3か月に1度のAmazonでの買い物。 地方在住のため、お急ぎ便などの配送オプションはそもそも対象外。 Amazonプライムビデオの使用も存在を思い出してたまに見る程度。 享受している恩恵のほとんどは「送料無料」のみなので、Amazonプライム非会員となった方が実はお得だったり? こんな利用状況だと必要だとAmazonプライム会員になるメリットは薄いかもね。 「ア ...

ReadMore

インターネット

2020/3/27

【無料で聴ける】メンタリストDaiGoのオーディオブック全タイトル

Podcast(ポッドキャスト)を聞く習慣から派生して、最近はYouTubeコンテンツを音声のみで視聴する事も多くなってきた筆者です。 音声コンテンツとして制作されたPodCastが基本的には聞きやすいのですが、YouTubeの方はコンテンツ量が圧倒的に多いのでジャンルによっては重宝しています。 メンタリストDaiGoのYouTubeチャンネルもその一つです。 恐らく意識して作ってるのだと思いますが、DaiGoさんの配信動画は音声のみでも視聴しやすいんですよね。 さらに、短い尺に情報が詰め込まれていて実生 ...

ReadMore

インターネット

2020/3/18

【すぐ探せる】無料アイコン/アバターメーカー60選【早見表付き】

SNSやネット上で活動していく上でプロフィールのアイコンやアバターってとても重要ですよね。 長く使うのでこだわりたいものですが、いざ作成しようとするとアプリもサービスも種類が多すぎて好みを探すのに一苦労しがちです。 今回はそんな問題を解決すべく、アイコン/アバターが作成できる60サービスを総まとめしてみました。 記事序盤にアプリ・サービスの画像と特長を一覧化していますので、ここから探すと目的のアプリやサービスを絞りやすいかと思います。 基本は完全フリーまたは無料から使用できるサービスを集めていますが、課金 ...

ReadMore

インターネット

2020/3/20

【Kindle最大50%OFF】KADOKAWA 春の大セールが開催中!!

現在、amazonのKindleストアにて、『KADOKAWA 春の大セール』が開催中です。 セールの開催期間は3月30日まで。 狙っていたKADOKAWA本があればラッキーまとめ買いのチャンスです。 「KADOKAWA 春の大セール」から探す   また、同時に開催中の『新生活キャンペーン Kindle本 40%OFF以上』も要チェック。 こちらのセールでは比較的高価な専門書やビジネス書が40%OFF以上と、目欲しいものがあればかなりお得です。 同じく開催期間は3月30日まで。 「新生活キャンペ ...

ReadMore

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

やるログの人

南国出身/在住のミドル世代。 Web技術やガジェット関連の情報を日々収集しつつ、アウトプットと子育てとライフハックに奔走中。 月間13000PV達成しました!!

-テック
-,

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