Laravel 10導入ガイド:初心者も安心のステップ解説

Laravel 10導入ガイド:初心者も安心のステップ解説 サーバー

Web開発の世界に新たな扉を開く「Laravel 10」。
このガイドでは、その魅力と簡単な導入方法を紹介します。

まずはPHP 8.2のセットアップから。
次にComposerのインストール、そしてLaravel 10へと進みます。

最終的にはApacheとの連携を図り、あなたのWeb開発をスムーズにスタートさせましょう。
初心者も安心、一緒にLaravelの世界を探求しましょう。

本記事の内容

  • Laravel 10とは?
  • PHP 8.2のインストール
  • Composerのインストール
  • Laravel 10のインストール
  • ApacheとLaravelの連携

それでは、上記に沿って解説していきます。

Laravel 10とは?

Laravel 10は、2023年2月14日にリリースされています。
以下より、各バージョンの情報が確認できます。

VersionPHP (*)ReleaseBug Fixes UntilSecurity Fixes Until
87.3 – 8.1September 8th, 2020July 26th, 2022January 24th, 2023
98.0 – 8.2February 8th, 2022August 8th, 2023February 6th, 2024
108.1 – 8.2February 14th, 2023August 6th, 2024February 4th, 2025
118.2Q1 2024August 5th, 2025February 3rd, 2026

2023年11月末時点での最新バージョンは、Laravel 10になります。
今回は、このバージョンをインストールします。

その際にPHPのバージョンが、ポイントになります。

  • PHP 8.1
  • PHP 8.2

このバージョンがLaravel 10のシステム要件となっています。
それ以外でポイントになるのは、Composerです。

  • PHP 8.2
  • Composer(最新版)

まずは、上記を準備しましょう。
利用する環境は、Ubuntu 22.04です。

PHP 8.2のインストール

UbuntuへのPHPのインストールは、次の記事で解説しています。

上記記事の時点では、PHP 8.1でした。
もちろん、PHP 8.2でも同じようにしてインストール可能です。

$ php -v
PHP 8.2.13 (cli) (built: Nov 24 2023 08:47:18) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.13, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.13, Copyright (c), by Zend Technologies

現時点でのPHP 8.2系の最新版が、インストールされました、

Composerのインストール

UbuntuへのComposerのインストールは、次の記事で解説しています。

同じようにして、インストールします。

$ composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.6.5 2023-10-06 10:11:52

なお、グローバルにインストールしています。
ここで言うグローバルとは、「/usr/local/bin」の下に実行ファイルを設置するということです。

プロジェクト毎にComposerを管理したい場合は、ローカルにインストールします。
PATHをどう設定するかということです。

Laravel 10のインストール

Laravelのインストールは、Composerで行います。
詳細は、次の記事で説明しています。

今回は、Apacheとの連携を行います。
そのため、まずは次の場所に移動しておきます。

cd /var/www

ここで次のコマンドで「my_laravel」プロジェクトを作成します。

composer create-project laravel/laravel my_laravel

プロジェクトの作成が、Laravelのインストールになります。
なお、このコマンドの実行時にエラーが発生するかもしれません。

今回は、以下の2つのエラーが発生しました。

laravel/pint[v1.0.0, ..., v1.13.6] require ext-xml * -> it is missing from your system. Install or enable PHP's xml extension.
spatie/laravel-ignition[2.0.0, ..., 2.3.1] require ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.

足りないモノは、インストールします。

sudo apt install php-xml
sudo apt install php-curl

この辺は、各自の環境により異なるでしょう。
エラーから、必要なモノを特定してインストールして対応します。

プロジェクトの作成に成功したら、次のようなメッセージが表示されます。

Application key set successfully.

ApacheとLaravelの連携

ApacheとLaravelの連携させます。
そのために必要な作業は、以下。

  • プロジェクトの権限変更
  • Apache設定ファイルの編集
  • mod_rewriteの有効化
  • Apacheの再起動

それぞれを以下で説明します。

プロジェクトの権限変更

プロジェクトは、以下の場所に作成済みです。

$ ls /var/www/my_laravel/
README.md  artisan    composer.json  config    package.json  public     routes   tests   vite.config.js
app        bootstrap  composer.lock  database  phpunit.xml   resources  storage  vendor

Apache(Webサーバー)がアクセスできるように権限を変更します。

sudo chown -R www-data:www-data /var/www/my_laravel

Apache設定ファイルの編集

Laravelアプリケーションの公開ディレクトリは、「/var/www/my_laravel/public」となります。
そのことをApache設定ファイルに設定します。
バーチャルホストの場合は、それぞれの設定ファイルを変更することになります。

普通にApacheをインストールしていていれば、以下がApache設定ファイルです。
「/etc/apache2/sites-available/000-default.conf」

このファイルの「DocumentRoot」を変更します。

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

↓↓↓

ServerAdmin webmaster@localhost
DocumentRoot /var/www/my_laravel/public

mod_rewriteの有効化

Laravelアプリケーション上で.htaccessを利用します。
そのため、mod_rewriteを有効にする必要があります。

mod_rewriteを有効にする方法は、以下の記事で解説しています。

Apacheの再起動

ここまでの設定を反映させるために、Apacheの再起動を行います。

sudo systemctl restart apache2

確認には、「http://localhost」にブラウザでアクセスします。
そして、次のような画面が確認できればOKです。

画面の右下にバージョンが表示されています。

インストールしたPHPのバージョンも確認できますね。
ブラウザでの確認以外には、wgetを用いた方法があります。

$ wget http://localhost
--2023-11-26 15:46:57--  http://localhost/
localhost (localhost) をDNSに問いあわせています... 127.0.0.1
localhost (localhost)|127.0.0.1|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 特定できません 
‘index.html’ に保存中

index.html                        [ <=>                                              ]  26.87K  --.-KB/s    in 0s

そして、以下のコマンドでバージョンを確認できます。

$ cat index.html | grep 'Laravel' | tail -n 1
                        Laravel v10.33.0 (PHP v8.2.13)
タイトルとURLをコピーしました