レンタルサーバーの【エックスサーバー】でLaravelを利用できる機会をもらったのでLaravel8をXserverにインストールをして動作確認をしていきます。初めてLaravelをサーバ上で動作させる人のために手順を省かずできるだけ詳細に説明を行っている完全版です。

Xserverの利用目的は間違いなくWordPressだと思いますが、コマンドラインを使えばLaravelのインストールも行うことができます。Xserverでコマンドラインを使えることを知らない人もいるかもしれませんのでLaravelのインストールだけではなくSSH設定の手順も含めて説明を行っています。。現在の最新バージョンがLaravel8なのでLaravel8をインストールしますがLaravel5~Laravel7もインストールすることはできます。

本文書ではWindows10で設定を行いXserverへの接続にはTeraTermを利用します。

SSHの設定

Xserverでコマンドラインを実行するためにはSSHでXserverにログインする必要があります。SSHの設定方法についてはXserverのマニュアルにも記載されているのでその手順に沿って進めていきます。

Xserver側でのSSH設定

SSHの有効化はXserverのサーバパネルで行う必要があるためサーバパネルにログインします。XserverのサーバIDとパスワードを入力して”ログイン”ボタンをクリックしてください。

サーバパネルにログイン
サーバパネルにログイン

サーバパネル画面が表示されます。SSHの設定は中央左寄りのアカウントにあります。

サーバパネル画面
サーバパネル画面

SSH設定をクリックしてください

SSHの設定
SSHの設定

デフォルトではOFF(無効化)になっているのでSSH設定でOFFからONにします。

SSH設定ONに
SSH設定ONに

ON(有効化)の設定は完了です。

SSHの設定変更反映
SSHの設定変更反映

公開鍵認証用鍵ペアの生成をXserver上で行うことができます。鍵ペアの生成のためパスフレーズを入れて”確認画面へ進む”ボタンをクリックします。パスフレーズは後ほどTeraTermでSSH設定を行ってXserverに接続する際に利用します。

鍵生成のためにパスフレーズ
鍵生成のためにパスフレーズ

確認画面が表示されるのでそのまま”生成する”ボタンをクリックしてください。

鍵の生成
鍵の生成

生成ボタンをクリックすると鍵が作成されSSHで接続する際に利用する鍵の情報が入ったファイルがダウンロードできます。この鍵ファイルの情報を元にWindowsからXserverに接続を行います。

keyファイルのダウンロード
keyファイルのダウンロード

ダウンロードした鍵ファイルはSSH接続時に指定する必要があるので任意の場所に保存していください。これでXserver側でのSSHの設定は完了です。

Windows側でのSSH設定

Xserver側での設定が完了したらWindows側でSSHの設定を行います。接続にはTeraTermを利用します。インストールが必要な場合はインストールを行ってください。

TeraTermはデフォルトではWindows10に入っていないためインストールが必要となります。

TeraTermを起動し、設定メニューからSSH認証を設定してください。

TeraTermのSSH認証
TeraTermのSSH認証

SSHの認証設定画面が表示されるので、認証方式をRSA/DSA/ECDSA/ED25519鍵を使うを選択してXserverのサーバパネルからダウンロードしたキーファイル(XXX.key)ファイルを指定してください。指定したらOKボタンをクリックしてください。

TeraTermでのキーの指定
TeraTermでのキーの指定

次はTeraTermのファイルメニューから新しい接続を選択してください。

TeraTerm新しい接続
TeraTerm新しい接続

新しい接続の入力画面が表示されるのでホスト名に契約したXserverのサーバ名、TCPポートを22から10022に変更してください。

新しい接続の入力画面
新しい接続の入力画面

入力を行うと下記のようになるはずです。ホスト名はsvXXX.xserver.jpという形式です。svXXXが契約によって変わります。

接続情報の入力
接続情報の入力

セキュリティの警告画面が表示されますが続行ボタンをクリックしてください。

セキュリティ警告
セキュリティ警告

ユーザ名とパスフレーズで認証方式を設定する画面が表示されます。ユーザ名はサーバIDでパスフレーズはXserverのサーバパネルで鍵を生成する時に入力を行ったパスフレーズを入れてください。”OK”ボタンを押すとXserverとSSHでの接続が開始されます。

ユーザ名とパスフレーズの入力
ユーザ名とパスフレーズの入力

問題なく接続できればTeraTermの画面上には以下の画面が表示されます。これでWindows側でのSSHの設定は完了です。

SSHでの接続完了
SSHでの接続完了

Laravelのインストール

SSHでXserverの接続が完了したのでここからLaravelのインストールを開始していきます。ここからはコマンドラインを利用して実行していきます。

PHPのバージョン変更

LaravelのインストールするためのにはPHPのバージョンの制限があり、Laravel8では7.3以上が要件になっています。

XserverのPHPのバージョンの確認を行います。Xserverのデフォルトのバージョンは5.4.16なのでバージョンアップが必要となります。


$ php -v
PHP 5.4.16 (cli) (built: Nov  1 2019 16:04:20)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.5, Copyright (c) 1999-2015, by Zend Technologies

XserverのPHPのバージョンはサーバパネルから確認、切替ができるので確認を行いましよう。

XserverのサーバパネルにログインしてPHPのPHP Ver.切替をクリックします。

PHPの切替
PHPの切替

Xserver上で管理するドメイン毎にPHPを選択することができるのでLaravelをインストールするドメインを選択してください。

PHPのバージョンを確認したいドメイン
PHPのバージョンを確認したいドメイン

PHPのバージョンがPHP7.3.16になっています。コマンドラインで表示されているPHPのバージョンとは異なることがわかりました。このバージョンがコマンドラインのPHPのバージョンではありません。

PHPバージョン確認
PHPバージョン確認

コマンドラインのバージョンを上げるためにはPHPの新しいバージョンを自分の手でインストールするのか??という疑問が出てきますが、Xserverのコマンドラインでも他のバージョンを利用することが可能です。Xserverのドキュメントの中にコマンドライン一覧があるので確認しておきましょう。

コマンドパス一覧
コマンドパス一覧

コマンドパス一覧によるとPHP7.4は/usr/binの中にあるようです。Xserverにした状態でlsコマンドを利用して確認してみましょう。マニュアル通り/usr/binの中にあるようです。今回利用したいphp7.4については/opt/php-7.4.4/bin/phpからシンボリックリンクが貼られています。


$ ls -la /usr/bin/php*
-rwxr-xr-x 1 root root 4618056 11月  2  2019 php
-rwxr-xr-x 1 root root 4596856 11月  2  2019 php-cgi
//略
lrwxrwxrwx 1 root root      23  5月 26 11:22 php7.3 -> /opt/php-7.3.16/bin/php
lrwxrwxrwx 1 root root      27  5月 26 11:22 php7.3-cgi -> /opt/php-7.3.16/bin/php-cgi
lrwxrwxrwx 1 root root      22  5月 26 11:22 php7.4 -> /opt/php-7.4.4/bin/php
lrwxrwxrwx 1 root root      26  5月 26 11:22 php7.4-cgi -> /opt/php-7.4.4/bin/php-cgi

/usr/bin/php7.4もしくは/opt/php-7.4.4/bin/phpを利用できるように設定を行う必要があります。

下記のように直接絶対パスを指定することで追加の設定を行うことなく実行することは可能です。


$ /usr/bin/php7.4 -v
PHP 7.4.4 (cli) (built: Apr  9 2020 20:23:01) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

/usr/bin/php7.4を上記のように絶対パスで実行するのではなくphp -Vと実行した際にPHP 7.4.4を利用できるように設定を行う必要があります。

ここで必要になるのがパスに関する知識です。

XserverではSSHでログインするユーザにはroot権限が付与されていないためユーザのホームディレクトリ以外にファイルを作成することができません。そのためパスの設定はホームディレクトリ下で行います。

環境変数の$PATHにPHP7.4を実行できるパスを追加することでPHP7.4を利用できる環境を作ります。

環境変数$PATHが設定されている.bash_profileを確認します。.bash_profileの下に環境変数PATHの設定を確認することができます。


//略
# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

上記の設定を参考に$HOME(ユーザのホームディレクトリを表す)の下にbinディレクトリを作成します。作成後にリンボクリックリンクを貼ります。


$ mkdir bin

$ ln -s /usr/bin/php7.4 $HOME/bin/php
$ ls -la $HOME/bin/
合計 0
drwxr-xr-x 2 user_name members  25 10月  9 13:54 .
drwx-----x 8 user_name members 177 10月  9 13:53 ..
lrwxrwxrwx 1 user_name members  15 10月  9 13:54 php -> /usr/bin/php7.4
シンボリックリンクを貼ることで作成した/user/bin/php7.4ではなく./bin/phpでphp7.4を実行できます。またphp7.4の元のファイルである/opt/php-7.4.4/bin/phpにシンボリックリンクを設定可能です。もしバージョンを変更したい場合はシンボリックリンクに別のバージョンのパスを設定してください。今後PHPのバージョンアップがあった場合もシンボリックリンクの貼り直しを行ってください。

シンボリックリンクの設定が完了したら、作業は終わりではありません。.bash_profileでのパスの順番は$PATHに設定されている/user/bin/phpが先に実行されるためphpコマンドを実行してもホームディレクトリの下に作成したphpが実行されることはありません。.bash_profileを下記のように更新します。$PATHと$HOME/binを逆にしています。これで$HOME/binにあるphpが実行されます。


//略
# User specific environment and startup programs

PATH=$HOME/bin:$PATH

export PATH
環境変数$PATHに設定されているパスはecho $PATHを実行すると確認することができます。

更新した.bash_profileを再読み込みするとphp -vのバージョンが7.4.4に更新されていることがわかります。


$ source .bash_profile
$ php -v
PHP 7.4.4 (cli) (built: Apr  9 2020 20:23:01) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

ここまでの手順が理解できればパスとは何か、パスの設定方法、シンボリックリンクの設定方法が理解できたかと思います。

これでPHPの設定は完了です。

Composerのインストール

Laravelをインストールするためには、PHPのパッケージ管理ツールであるComposerが必要となるのでインストールを行います。

Composerのインストールや設定についてはLaravelの公式ドキュメントを参考に行っています。

composerの公式ホームページにアクセスします。画面のDownloadボタンをクリックしてください。

Composerホームページ
Composerホームページ

移動したダウンロードページにはインストールスクリプトが記述されているのでコピー&ペーストしてユーザのホームディレクトリで実行してください。

インストールスクリプトのコピー&ペースト
インストールスクリプトのコピー&ペースト

実行すると実行ディレクトリにはcompoer.pharと.configディレクトリが作成されます。

.configディレクトリで先頭にドットがついているのでlsコマンドでは表示されません。ls -aオプションをつけて実行してください。

composer.pharをcomposerという名前にして.config/composer/vendor/bin/の下に保存します。


$ mkdir -p .config/composer/vendor/bin/
$ mv composer.phar .config/composer/vendor/bin/composer

.config/composer/vendor/bin/にはパスが通っていないためパスを設定する必要があります。設定方法は先ほどのphpの場合と同じなのでPHPのパスの設定方法が理解できていれば自分で設定ができるはずです。もしここでどうするかわからない場合はパスの設定の理解を再度確認してみてください。

方法は.bash_profileに新たなパスの追加を行います。


//略
# User specific environment and startup programs

PATH=$HOME/.config/composer/vendor/bin:$HOME/bin:$PATH

保存後に.bash_profileの再読み込みを行い、composerコマンドが実行できることを確認します。


$ source .bash_prfoile
$ composer -V
Composer version 1.10.13 2020-09-09 11:46:34

これでcomposerのインストールと設定は完了です。

Laravelコマンドパッケージのインストール

これは必須ではありませんが、Laravelのプロジェクトを作成(インストール)を行うのにLaravelコマンドパッケージを入れるとプロジェクトの作成が楽になります(コマンドが短い)。

“laravel new プロジェクト名”でLaravelのプロジェクトを作成することができます。

laravelコマンドパッケージをインストールしない場合はcomposerコマンドで実行できます。composer create-project –prefer-dist laravel/laravel プロジェクト名

composerコマンドでlaravelコマンドのインストールを行います。


$ composer global require laravel/installer
Changed current directory to /home/user_name/.config/composer
//略

先ほどcomposerを保存した場所にlaravelコマンドは保存されます。whichコマンドを実行するとlaravelコマンドの保存場所が確認できます。


$ which laravel
~/.config/composer/vendor/bin/laravel

composerのインストールの際にパスの設定を行っているためlaravelコマンドはインストール直後に実行することができます。

これでLaravelプロジェクトを作成(インストール)するための環境は整いました。

Laravelプロジェクトの作成

laravelコマンドの実行形式は下記となります。プロジェクト名に指定した文字列のディレクトリが実行ディレクトリ内に作成され、Laravelに必要なパッケージがすべてのその下に保存されます。


$ laravel new プロジェクト名

今回laravelコマンドを実行するのはホームディレクトリではなくホームディレクトリの下にあるドメイン名のディレクトリの下です。Xserverでドメインを管理している場合はホームディレクトリの下にそのドメイン名のディレクトリが存在するはずです。

今回はgroupwareというプロジェクト名にしています。ブログを構築したい場合はblogなど自分がわかりやすい任意の名前を設定してください。ここまでの設定が完了していたらlaravelコマンドを実行するとプロジェクトの作成は問題なく完了するはずです。


$ laravel create groupware
//略
Package manifest generated successfully.
73 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan key:generate --ansi
Application key set successfully.

Application ready! Build something amazing.

インストールが完了しましたが、https://自分のドメイン名でアクセスを行ってもXserverのデフォルトのhtmlファイルの内容が表示されるかpublic_htmlの下に置いたindex.html(もし自分で更新していれば)の内容が表示されるはずです。

公開のための設定

Xserverの公開ディレクトリはpublic_htmlなのでLaravelの公開ディレクトリであるpublicのシンボリックリンクをその下に作成します。

public_htmlはホームディレクトリの下のドメイン名のディレクトリの下にあります。

下記がシンボリックリンクのコマンドですが、user_nameは各環境に合わせて設定を行ってください。またXXXX.co.jpがドメイン名なのでこれも各自の環境に合わせて変更を行ってください。もし自分の環境のパスを知りたい場合はホームディレクトリ直下のドメイン名のディレクトリからpwdコマンドを実行してください。


$ ln -s /home/user_name/XXXX.co.jp/groupware/public /home/user_name/XXXX.co.jp/public_html/public

シンボリックリンクを設定して終わりではなくhttps://XXXXにアクセスした際にLaravelプロジェクトであるpublicの下にアクセスができるようにpublic_htmlディレクトリの下にある.htaccessに以下を記述します。.htaccessファイルはデフォルトで存在しているの作成ではなく追加を行います。


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [QSA,L]
</IfModule>

ブラウザでアクセスしてみましょう。Laravel8であれば下記の画面が表示されていればXserverでのLaravelのインストールは成功しています。

Laravel8初期画面
Laravel8初期画面

Laravelは日々更新が続けられているので数日経過するとバージョンが更新されます。インストール直後のバージョンを確認しておきましょう。プロジェクトディレクトリに移動してphp artisan -Vコマンドを実行します。


$ php artisan -V
Laravel Framework 8.9.0

MySQLの設定

Laravelのインストールが完了したら次はデータを保存するMySQLとの接続を行います。

Laravelではマイグレーションファイルと呼ばれるデータベーステーブルの構成を記述したファイルがデフォルトで作成されるのでphp artisan migrateコマンドを実行するとデータベースにテーブルが作成されます。

Laravelのプロジェクトディレクトリに移動してphp artisan migrateコマンドを実行してください。ここまでの設定ではデータベースの作成、Laravelからの接続を設定を行っていないので下記のエラーが発生します。


$ php artisan migrate
  Illuminate\Database\QueryException
  SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: select * from information_schema.tables where table_schema = groupware and table_name = migrations and table_type = 'BASE TABLE')

データベースの作成を行います。

データベースの作成

Xserverではデータベースの作成はサーバパネルから行うことができます。データベースのMySQL設定をクリックしてください。

サーバパネルの

サーバパネルからデータベース
サーバパネルからデータベース

MySQL一覧の情報が表示されますが、データベースが未作成の場合は現在MySQLデータベースはありませんと表示されます。下記にあるMySQL5.7 IPアドレスはLaravelからの接続に利用します。

MySQL一覧
MySQL一覧

MySQL追加タブからMySQLのデータベースの追加を行うことができます。任意の名前をつけてください。ここではgroupwareにしています。先頭にはサーバ名_が自動で付与されます。この名前はLaravelからMySQLへの接続情報として必要となります。確認画面へ進むボタンを押して確認を行い追加してください。

MySQL追加
MySQL追加

追加が完了すると以下の画面が表示されます。次はMySQLユーザの作成を行うのでMySQLユーザ一覧のタブをクリックしてください。

追加完了
追加完了

MySQLユーザの追加を行います。データベース名と同様に先頭にサーバIDが付与されます。8文字以上の名前は付与できないのでlaravelという名前をつけて作成します。MySQLユーザIDだけでなくパスワードもLaravelからMySQLの接続情報で必要となります。入力が完了したら確認画面へ進むボタンをクリックしてください。

ユーザの追加
ユーザの追加

追加が完了したら下記の画面が表示されます。

MySQLユーザの追加
MySQLユーザの追加

作成したユーザに作成したデータベースへのアクセス権を付与する必要があります。MySQL一覧をクリックしてください。

作成したデータベースにはアクセス権所有ユーザがいないのでプルダウンメニューから先ほど作成したMySQLユーザを選択してください。

アクセス権の確認
アクセス権の確認

アクセス権の設定が完了すると下記のようにアクセス権所有ユーザMySQLにユーザ名が表示されます。

アクセス権設定完了
アクセス権設定完了

以上でデータベースの作成は完了です。データベース中に設定したMySQLデータベース名、MySQLユーザ名、パスワードを利用してLaravelからMysqlに接続を行います。

接続設定

データベースの接続設定についてはプロジェクトディレクトリの直下にある環境変数のファイル.envファイルに記述します。

.envファイルを開いてDBの環境変数に関する箇所を更新してください。DB_HOSTにはXserverのサーバパネルのMySQLの設定でMySQL5.7 IPアドレスに表示されていたIPアドレスを設定してください。DB_DATABASEには作成したMySQLデータベース名、DB_USERNAMEにはMySQLユーザ名、DB_PASSWORDにはMySQLユーザを作成した時のユーザ名を指定してください。先頭にはサーバID_が必要です。


DB_CONNECTION=mysql
DB_HOST=1XX.1XX.XX.XXX
DB_PORT=3306
DB_DATABASE=XXXXX_groupware
DB_USERNAME=XXXXX_laravel
DB_PASSWORD=password

これでデータベースへの接続情報の設定は完了です。

先ほど失敗したphp artisan migrateコマンドを実行してください。今度はテーブルの作成が成功するはずです。


$ php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (8.94ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (7.86ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (7.97ms)

データベースの作成ができることが確認できました。

Xserverではphpmyadminをサーバパネルから利用することができます。データベースの中身をみるためのGUIのツールなので動作確認をしておいてください。

phpmyadminへの接続
phpmyadminへの接続

接続にはMySQLのユーザIDとパスワードを利用します。

テーブルの作成は動作確認のため実施したのでphp artisan migrate:rollbackコマンドでテーブルを削除しておきます。

Laravel8では認証にJetStreamを利用することができますがこの時作成するユーザテーブルを使うとエラーが発生します。JetStreamでは新たにuserテーブルに列を追加するためです。そのため削除しておきます。

ここまでの作業でLaravelとデータベースの接続が完了したのでLaravel上で生成するデータをデータベースに保存することができます。ユーザのログイン認証が必要でない場合はここから各自オリジナルのアプリケーションの作成をはじめてください。

JetStreamのインストール

Laravel8から認証にJetstreamが追加され、インストール時にlivewireからinertiaを選択することができます。
※認証にはLaravel7までのlaravel/uiをインストールすることも可能です。

JetSreamについて詳細な動作確認は現時点では行っていないため説明は省略させてもらいますが、認証に関する機能を持っています。

JetStreamパッケージのインストールはcomposerコマンドで行います。


$ composer require laravel/jetstream

パッケージのインストールが完了したら、Jetstremが使えるようにphp artisanコマンドを実行します。Jetstreamではlivewireかinertiaを選択する必要があります。

今回はLivewireを利用しユーザをチームで管理することができるteam機能も追加します。実行後、npmコマンドでJavaScript関連のファイルとビルドのためにnpmコマンドを実行します。


$ php artisan jetstream:install livewire --teams
//略
Livewire scaffolding installed successfully.
Please execute the "npm install && npm run dev" command to build your assets.

インストールメッセージ通りにnpm install && npm run devの実行します。しかし、npmコマンドが見つからないとメッセージが表示されます。


$ npm install && npm run dev
-bash: npm: コマンドが見つかりません

nodeのインストール

nodejsのインストールを行っていない場合は”コマンドが見つかりません”とエラーが表示されます。nodeはサーバ再度でJavaScriptを実行することができるためJavaScriptファイルを扱うために必要となります。

nodebrewのインストール

nodeをインストールする必要がありますが、nodeにはさまざまなバージョンがあり更新も頻繁に行われます。nodeのバージョンの切替が簡単に行うことができるnodebrewをインストールします。

wgetコマンドでnodebrewのファイルをダウンロードします。

実行したディレクトリのnodebrewファイルが保存されます。perlを利用してsetupを行います。


$ perl nodebrew setup
Fetching nodebrew...
Installed nodebrew in $HOME/.nodebrew

========================================
Export a path to nodebrew:

export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================

実行後、ホームディレクトリ下に.nodebrewが作成されるのでメッセージにしたがって環境変数のPATHの追加を行います。

3回目の.bash_profileの登場です。bash_profileのPATHに追加を行っていください。


PATH=$HOME/.nodebrew/current/bin:$HOME/.config/composer/vendor/bin:$HOME/bin:$PATH

設定後.bash_profileを再読み込みしてnodebrew lsコマンドを実行します。not installedとcurrent:noneと表示されます。nodeがインストールされていない、現在利用しているnodeのバージョンはないという意味です。


$ nodebrew ls
not installed

current: none

この状態ではnodebrewが実行できてもnode, npmコマンドを実行することができません。


$ node
-bash: node: コマンドが見つかりません
$ npm
-bash: npm: コマンドが見つかりません

nodeのインストール

node.jsにはさまざまバージョンがあり、ホームページで現在の安定版と最新版を確認することができます。

nodejsのホームページ
nodejsのホームページ

安定版が12.19.0で最新版は14.13.1であることがわかります。安定版をインストールしてみましょう。nodebrew installの引数にバージョンを指定します。


$ nodebrew install v12.19.0
Fetching: https://nodejs.org/dist/v12.19.0/node-v12.19.0-linux-x64.tar.gz
######################################################################## 100.0%
Installed successfully
nodeのインストール可能なバージョンはnodebrew ls-remoteを実行すると表示されます。

node lsコマンドを実行するとインストールしたバージョンが表示されます。バージョンは表示されていますが、currentはnoneのままです。


$ nodebrew ls
v12.19.0

current: none

どのバージョンを利用するかの指定はuseオプションを利用します。


$ nodebrew use v12.19.0
use v12.19.0

npmコマンドが使えるようになったか確認しておきましょう。先ほどまで出力していたエラーが消えてバージョンが表示されます。


$ npm -version
6.14.8

nodeのインストールが完了したのでLaravelのプロジェクトディレクトリでnpmコマンドを実行します。JavaScriptライブラリのインストールとビルドが行われます。


$ npm install && npm run dev

ompiled successfully in 18620ms                                 18:24:15

       Asset      Size   Chunks             Chunk Names
/css/app.css  4.35 MiB  /js/app  [emitted]  /js/app
  /js/app.js   594 KiB  /js/app  [emitted]  /js/app

ビルドが完了したのでブラウザからアクセスを行うと以下の画面が表示されます。

エラーが発生
エラーが発生

エラーが発生しますが、これはテーブルが作成されていないためです。php aritsan migrateコマンドを実行してテーブルを作成してください。

MySQL設定した後に実行したよりも作成されているテーブルが増えていることが確認できます。増えたテーブルについてはすべてJetstreamに関係するテーブルです。


$ php artisan migrate
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (26.46ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (23.67ms)
Migrating: 2014_10_12_200000_add_two_factor_columns_to_users_table
Migrated:  2014_10_12_200000_add_two_factor_columns_to_users_table (8.12ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (7.59ms)
Migrating: 2019_12_14_000001_create_personal_access_tokens_table
Migrated:  2019_12_14_000001_create_personal_access_tokens_table (11.92ms)
Migrating: 2020_05_21_100000_create_teams_table
Migrated:  2020_05_21_100000_create_teams_table (40.67ms)
Migrating: 2020_05_21_200000_create_team_user_table
Migrated:  2020_05_21_200000_create_team_user_table (8.85ms)
Migrating: 2020_10_09_085212_create_sessions_table
Migrated:  2020_10_09_085212_create_sessions_table (18.63ms)
Migrated:  2020_10_09_085212_create_sessions_table (277.94ms)
もしここで下記のエラーが発生する場合はuserテーブルが作成済なのでphp arisan migrate:rollbackで一度削除して再実行してください。SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘current_team_id’ in ‘field list’

ここまでの作業が完了して再度ブラウザでアクセスするとLaravelの初期画面が表示されますが、右上には認証を行うためのLoginとRegisterのリンクが表示されます。

Laravelの初期画面
Laravelの初期画面

ここまでの設定でXserverでLaravel8を構築するための準備は完了しました。ようやくスタートラインについたのでオリジナルのアプリケーションの構築を開始してください。