執筆時2021年2月23日、本日は令和天皇陛下のお誕生日ということで祝日でした。
そんな日ですが連日のコロナ騒動の最中ということで私は今日も家にこもりパソコンであれこれしていたわけです。
今日はかねてより気になっていたLaravelを触ろうということで、まずはローカル環境を用意せねばという流れになったのです。が、いつも使っているVagrant等で仮想環境の設定から行っていては時間がかかりすぎる。
そういうことでこれまた現在のローカル環境構築においては必須級のソフトウェアDockerを使用してみようと思い立ちまして、朝から調べてちょこちょこやってみました。
大体はLaravel学習帳(https://laraweb.net/develop/)様を参考にさせていただきました。
作業環境
- OS:Windows 10 Home
- Dockerバージョン:20.10.2
- PHPバージョン:7.3.27
- Laravel v8.28.1
一日でできたこと
- Laravelの”Hello,world!”
- Laravel8でのAuth機能の実装
別に技術力のある人間でもないのでこれくらいできて自分は満足です。
つまづいたこと
Dockerの入れ方間違ってる?
まずDockerを入れようという話なのですが、作業環境にも書いた通り私の作業PCのOSはwin10のHomeです。
ですが、まずWindowsでDockerを入れようと思うと私のインターネットが「Hyper-Vが必要です」と言いまくっているので自分のPCで関連する項目を調べまくっても見つからないんですよね。
それもそのはず、Hyper-Vが使えるのはwindows10 Proの人が対象だったのです。結局その時は、「とりあえずインストーラー入れてみっぺ。ダメならどっかで止まるだろう」的な考えでDockerインストーラーを起動。そうしたらWSL2へのアップデートやらで少しつまづきましたが難なくインストールに成功。
意味が分からないので調べたら、Windows 10 Homeを使用している場合はVirtual Boxなど仮想環境を構築してそのうえでDockerを動かすことができるそうで。(今回の場合はDockerインストールのときにつまづいたWSL2(Windows Subsystem for Linux 2)という機能を使用)。
WSL2は2020年のWindowsアップデートで使用可能となり、従来のWSLより高速に、よりLinuxOSを独立させて起動できるようになっているとのことで安定してDockerを起動できるようになりました。そんなことも知らずなんとなく入ったからオッケーという感じで進むのは今後よくないのでちゃんと”どうして動くのか”、”なぜこの機能が必要なのか”といったことは調べつつやっていこうと思いました。
LaravelのTOP画面までたどり着けない
これは以前、Node.jsだったか、EC-CUBEだったかをローカル環境で触ろうと思った時にも直面した問題で、今回すぐに思い出せなかったのは反省ですが、こちら単純にパーミッションの設定を変更していなかったことが原因でした。
Logファイルに書き込めないだのセッションファイルが開けないだの、根本のディレクトリに書き込み権限が無いときに起きるエラーですが、完全に忘れていてまあまあ時間を取られてしまいました。パーミッション設定もそうですが、環境構築系の業務や作業なんかをしばらくやっていないとまずやることみたいなものを忘れてしまいませんか。
viの記録して終了(:wq)とかそういうコマンド系もGuiにばっかり頼ってるとよくないですね。
だいぶ逸れましたが、各ディレクトリのパーミッション設定を適切に行うことでLaravel8のTOP画面を無事に表示することができました。
Auth機能(ログイン周りの機能)なんかもバージョン8ではやり方が変わったみたいなのですが、他の方の記事を参考にしたらあっという間に実装できました。難しそうな機能を短時間で実装できるのもフレームワークのいいところですよね。
まとめ
将来WordPressが本当にオワコンになって仕事がなくなっても困ると思ってLaravel使ったwebアプリを作れるようになりたいので、今後も頑張っていきたいと思います。
まるで中身のない文章になりましたが、こんなところで。