🔥

第5話 Laravel導入のための調べ方編 ~ 実践!Hyper-Vで開発環境構築! CentOS7+VSCode+Laravel

2024/06/20に公開

はじめに

これはLaravel開発環境構築のためにhyper-VでCentOS7をインストール済み
そこから初めてLaravel開発環境を構築したい人向けの記事です

前提

  • Hyper-Vにインストール済みのCentOS7(ver: 7.9)
    この記事ではHyper-VにインストールされたCentOS7にLaravelを開発環境として
    構築するために必要な準備について解説します。

    CentOS7のバージョン確認するにはCentOSを起動して以下コマンドを実行してください。

    cat /etc/centos-release
    

    Linux release 7.9.2009 (core)
    と表示されればOKです

    もしそうでなければ、以下記事を参考に導入してから本記事を閲覧頂ければと思います。

本題のまえに・・・

さて、ついにLaravelと向き合うときが来ました。

実のところ以前までの記事

は、本当の最低限の要件から見れば必須ではありません。

しかしながら、ここからはゴリゴリにCentOS7に手作業で設定していくため
少しでも楽に、そしてハマりにくくするために上記の記事を執筆しています。

ここからの記事は上記の記事の内容を実施済みであることを前提に解説します。
もし、進行速度が早いとか分からない前提で進行が進んでいるように感じましたら、
上記記事の内容を実施の上本記事の閲覧頂ければと思います。

前提は違えど自身の環境を把握して記事の内容との差分を理解して置き換えて読める方
このまま閲覧頂ければと思います。

※とはいえ、今回は導入準備のためほとんどはwindowsでのお話になります。

本題

最近では、Laravel(ララベル)という言葉を耳にするようになりました。
特にITエンジニアになりたい!とかITエンジニアになってみたけどWeb系が気になる!
というような人にはすぐさま、PythonのDjangoやらPHPのLaravelといったワードが目入ることでしょう。
そしてそれらはWebアプリケーションフレームワークとかフルスタック・フレームワークといった言葉で説明されています。

つまりLaravelはWebアプリ用のPHPのフレームワークということになります。

では、フレームワークとはなんでしょうか?
フレームワークとは開発する上で必要(または良く利用される)機能をパッケージ化したものと言えます。

例えば、あなたがWebアプリでTODOリストを作ろうと思ったとします。
その為にプログラミング言語はPHPでその処理をプログラミングしよう!そう思ったとします。
そして
ついにTODOリストの機能を実装できた!

しかし残念ながらそれだけではWebアプリとしてのTODOリストとしては機能はしないのです。

おかしいなぁ?僕のパソコンの上ではブラウザでちゃんと動くのに・・・

じつはWebアプリとして←ここの部分がとても難しいのです。。
TODOリストの実装もそれなりに難しいものではありますが、それを成立させる要件がたくさんあるのです。

例えば最低限でも以下の要件を満たした実装である必要があります。

  • ネットワーク
  • セキュリティ

そのため、機能のみ実装だけではなく上記の要件を満たすための安全な仕掛けの実装も必要になります。

しかし、昨今のサイバー攻撃のニュースがあるようにその様な安全な仕掛けを自前で実装するのはとても難しそうです。

それでも必要最低限の必要機能が予め利用しやすくパッケージ化されているのがフレームワークです。

そのおかげで、私たちはそれらの高度な知識を有してなくても最低限の要件を満たしたWebアプリを自分が実装したい部分だけに集中して開発できるのです。

そのため、初心者向けの記事ではフレームワークを中心に説明されていることが多いのではと考察しています。

では、前振りはこのぐらいにして本題に入りましょう。

導入するLaravelのバージョンに必要な要件を調べるには??

Laravelを導入するには最低限以下4つのアプリケーションが必要になります。

  • PHP
  • composer
  • Webサーバー
  • データベース

今回はその為に以下のアプリケーションの導入を目指します。

  • PHP
  • composer (ライブラリ依存管理ツール)
  • Apache (Webサーバー)
  • MariaDB (データベース)

そしてこれらはLaravelのバージョンに合わせたバージョンであることが必要になります。
そのため、これらのバージョンを調べていきます。

まず決めるべきは以下2つです。
・Laravelのバージョンはどうするか
・そのLaravelを導入するにはそれぞれどのバージョンが必要なのか

では、順を追って決めていきましょう。

Laravelのバージョンはどうするか

まずは以下サイトで現在のバージョン情報を確認していきましょう。
https://laravelversions.com/ja

※2024年6月19日現在

現在の最新バージョンは11のようです。
特に問題ないようであれば最新バージョンを採用したいですが、もう少し調べてみましょう。

laravel11 変更点とググってみます。

ん??? 新常識???

https://zenn.dev/pcs_engineer/articles/laravel11-new-structure

記事を読んでみましたが、何やらスリム化のために以前までとは構造が色々変わったようです。

念のため以下のサイトも確認。

  • Laravel公式の日本語翻訳サイト ※内容を一部抜粋

かなり大きな変更のようですね・・・。

実際に開発していくために参考になる技術書は・・・?

2024年6月20日現時点ではほとんどないようです。

となると、最新バージョンの11を採用するには現時点ではリスクが高そうですね・・・。
ですので今回は技術書も多くあるLaravel10を採用していきます。

そのLaravelを導入するにはそれぞれどのバージョンが必要なのか

今回採用するLaravelのバージョンは10と決まりました。
次にそのバージョンのLaravelに必要要件を確認していく必要があります。
色々な方法があると思いますが、私はXAMPP(ザンプ)を参考にしています。
そして先ほど調べた内容から今回採用するLaravel10に必要なPHPバージョンは8.1~8.3でした。
では、現在リリースされているXAMMPから調べてみましょう。
https://www.apachefriends.org/jp/index.html

今回はLinuxであるCentOS7への環境構築のためLinuxを確認します。
どうやらXAMMPでの最新のPHPバージョンは8.2.12のようですね。
今回導入するLaravel10の要件に当てはまるため、こちらを参考にしていきます。

  • 必要な要件を確認するには赤枠をクリック
  • 目的のバージョンの What's Included? をクリックして表示されたポップを確認する

赤枠の部分は必須。黄色枠は要件によっては導入するべき項目です。

赤枠

  • Apache 2.4.58
  • MariaDB 10.4.32
  • PHP 8.2.12

黄色枠

  • phpMyAdmin 5.2.1
  • OpenSSL 3.1.3

それ以外のアプリのバージョンについて

残すところcomposerになりますが、こちらはできるだけ最新版をインストールすれば良さそうです。

結論

以下のアプリケーションとバージョンでインストールすれば良さそうです。

  • Apache 2.4.58
  • MariaDB 10.4.32
  • PHP 8.2.12
  • composer (出来るだけ最新版)

今後はこれらを導入していくことを目指していきます。

さいごに

私がITエンジニアを志した時にどうやったらWebアプリをリリースできるのかをたくさん調べました。
しかしながら、体形的にそれを説明しているようなサイトは見つけられなかった記憶があります。
なので、私がITエンジニアなった後実際に得られた知見を基に今回はこのような記事を書いてみました。
やり方はそれぞれで正解がないものですが、参考になれば幸いです。

Discussion