WSL上に構築したLAMPにLaravelをインストールする(2018秋)


前回構築したWSL/LAMP環境にLaravelをインストールし、動作させてみましょう。
前回の記事はこちら:WSLにLAMPを構築する(2018秋)

環境

もの バージョン
ホストOS Windows10 Home
バージョン:1803
OSビルド:17134.320
WSL OS ubuntu 18.04 LTS
(L)AMP apache2:Apache/2.4.29 (Ubuntu)
MySQL:mysql Ver 8.0.12
php:PHP 7.2.10-0ubuntu0.18.04.1
laravel 5.5(LTS)

laravelは最新の5.6/5.7がありますが、今回はLTSである5.5を採用します。

下準備

laravel5.5をインストールするためには、以下のものが必要です。

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

参考:https://readouble.com/laravel/5.5/ja/installation.html

WSL(ubuntu)にインストールしていきましょう。現在インストールされているphp関連モジュールは以下の通りです。

 # dpkg -l | grep php
ii  libapache2-mod-php             1:7.2+60ubuntu1                     all          server-side, HTML-embedded scripting language (Apache 2 module) (default)
ii  libapache2-mod-php7.2          7.2.10-0ubuntu0.18.04.1             amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  php                            1:7.2+60ubuntu1                     all          server-side, HTML-embedded scripting language (default)
ii  php-common                     1:60ubuntu1                         all          Common files for PHP packages
ii  php-mysql                      1:7.2+60ubuntu1                     all          MySQL module for PHP [default]
ii  php7.2                         7.2.10-0ubuntu0.18.04.1             all          server-side, HTML-embedded scripting language (metapackage)
ii  php7.2-cli                     7.2.10-0ubuntu0.18.04.1             amd64        command-line interpreter for the PHP scripting language
ii  php7.2-common                  7.2.10-0ubuntu0.18.04.1             amd64        documentation, examples and common module for PHP
ii  php7.2-json                    7.2.10-0ubuntu0.18.04.1             amd64        JSON module for PHP
ii  php7.2-mysql                   7.2.10-0ubuntu0.18.04.1             amd64        MySQL module for PHP
ii  php7.2-opcache                 7.2.10-0ubuntu0.18.04.1             amd64        Zend OpCache module for PHP
ii  php7.2-readline                7.2.10-0ubuntu0.18.04.1             amd64        readline module for PHP

 # php -m | egrep "openssl|mysqlnd|mbstring|tokenizer|xml"
libxml
mysqlnd
openssl
tokenizer

mbstring以外は揃ってそうなので、php-mbstringを追加しましょう。

 # apt install php-mbstring

もっかい確認。

 # php -m | egrep "openssl|mysqlnd|mbstring|tokenizer|xml"
libxml
mbstring
mysqlnd
openssl

大丈夫かな。まぁだめならあとで戻ってきましょう。

続いて、laravelをインストールするためのcomposerを用意します。
参考:https://getcomposer.org/download/

cd /usr/local/bin
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
ln -s /usr/local/bin/composer.phar /usr/local/bin/composer

パスを通すため、最初に/usr/local/binにcdしています。
コマンド実行の際に composer.phar はいちいち叩くのが面倒なので、composerのみで実行できるようにしています。

laravelインストール

準備は整いました。いよいよlaravelをインストールします。
インストールする対象のディレクトリに移動し、手順に従いインストールを進めます。
参考:https://readouble.com/laravel/5.5/ja/installation.html

# cd /mnt/d/d_ExtDisk/dev1
# composer global require "laravel/installer"

以下のようなエラーになりました。zipもいるじゃねーか。

rootでcomposer叩くなって怒られてますが、今回は全部rootでやるので無視します。

# apt install php-zip
 → php-zipがインストールされる
# php -m | grep zip
zip

composer 再チャレンジ。

 # composer global require "laravel/installer"

→ 無事インストールされました。
そのまま、laravelをインストールします。


また怒られた。phpunitのためにphp-domが必要らしい。

# apt install php-dom
# php -m | grep dom
dom

リトライ!
→ 無事 blog/ ディレクトリが作成されて、laravel5.5.x(今回は5.5.28)がインストールされました。

テストサーバを起動し、接続できることを確認します。

# cd blog
# php artisan serve &
Laravel development server started: <http://127.0.0.1:8000>

WEBブラウザでアクセス

localhost:8000でlaravelのスタート画面が表示され、CLIにはアクセスログが標準出力へ流れることを確認できたら、動作確認OKです。ここまできたら、あとはlaravel本を購入してガシガシ勉強&開発していきましょう。

Todo

  • phpのテストサーバではなくapacheで動作させる
  • https化する