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日にリリースされています。
以下より、各バージョンの情報が確認できます。
Version | PHP (*) | Release | Bug Fixes Until | Security Fixes Until |
---|---|---|---|---|
8 | 7.3 – 8.1 | September 8th, 2020 | July 26th, 2022 | January 24th, 2023 |
9 | 8.0 – 8.2 | February 8th, 2022 | August 8th, 2023 | February 6th, 2024 |
10 | 8.1 – 8.2 | February 14th, 2023 | August 6th, 2024 | February 4th, 2025 |
11 | 8.2 | Q1 2024 | August 5th, 2025 | February 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)