LoginSignup
2
6

More than 3 years have passed since last update.

Dockerで始めるLaravel講座 - Laravel編

Last updated at Posted at 2020-05-15
1 / 24

はじめに

皆さんこんばんわ。

Stay Homeがんばってますか?

Stay Homeとか言う前からこの記事は用意してたんですが、ようやく日の目を見ることができそうで何よりです。

この記事は「Dockerで始めるLaravel講座」のLaravel編です。
Docker編で作ったDocker環境を使ってLaravel構築を行っていこうかと思いましたが色々手間取りそうだったので最初から作り直します。


おしながき

  • Docker環境を作ろう
  • Laravelのインストーラーをインストールしよう
  • Laravelをインストールしよう
  • ログイン画面を作ってみよう

Docker環境を作ろう


早速なのですが、何処か新しいディレクトリを作ってから、その中でこちらのコマンドを実行して環境を引っ張ってきてください。

$ git clone git@github.com:layzy/docker-laravel.git docker

リポジトリのURLはこちらです
https://github.com/layzy/docker-laravel


できたら html というディレクトリも作ります。
多分こんな感じになるはずです。

.
├── docker
└── html

今回はみんな大好きAmazonLinux2をもとに作ります。
中のDockerfile見ればなんとなく感づいたと思いますが、以下の構成で作ろうかと思います。
CentOS+Apacheで頑張るパターンもたまに見かけますが、AWS使うならこの構成が楽で良いと思います。
(ローカル環境作るのはやや苦労しますが)

  • AmazonLinux2
  • Nginx
  • php-fpm
  • php7.4
  • mariaDB
  • mailcatcher

ここまでできたらdockerディレクトリの下にいって、下記のコマンドで一気にコンテナを立ち上げてしまいましょう。

$ docker-compose up -d

そしたらphpコンテナの中に入ります。どきどき。

$ docker exec -it {phpコンテナの名前} bash

phpコンテナの名前がわからなかったら docker ps コマンドで見てみてください。


Laravelのインストーラーをインストールしよう


phpコンテナに入ったら以下のコマンドでLaravelのインストーラーを引っ張ってきます。

$ composer global require laravel/installer

できたら、グローバルインストールしたcomposerの配下にある vendor/bin のパスを通してやります。

$ export PATH=$PATH:/root/.config/composer/vendor/bin

すると

$ laravel

というコマンドが使えるようになります。なんだか怖いね!w


Laravelをインストールしよう


Laravelをインストールしてみましょう。
とりあえず何も考えずにドキュメントルートに移動しましょう。

$ cd /usr/share/nginx/html

で、せっかくLaravelのインストーラーを入れたので、 app という名前のプロジェクトを作ってみましょう。

$ laravel new app

すると一気にめくるめくLaravelのプロジェクトが展開されていきます。
終わったら http://localhost:8080 にアクセスしてみてください。


image.png

こんな感じの画面が出てきたらまずは成功です。やったぜ!


ログイン画面を作ってみよう


Laravel使ってわざわざ作るようなものはだいたい会員制サービスと相場が決まっています。
スマホアプリのREST APIバックエンドに使うにしたって、ユーザー登録くらいはするのです。
流行りのVue.jsを使ったシャレオツなSPAサイトをササッと作れるのもLaravelの良いところではあるのですが、今回は静的ページで無骨に作りましょう。


ではまず、アプリケーションキーを生成しましょう。
Laravelの安全性を高めるために必要な儀式です。
appディレクトリに移動して以下のコマンドを実行します。

$ php artisan key:generate

これだけです。これをすると .env ファイルに APP_KEY と言うのが書き加えられてるのがわかると思います。

image.png


このときに使った artisan (アーティザン、またはアルティザン) コマンドはLaravelで開発していく上で死ぬほどお世話になります。他のフレームワークにも大体似たようなのはあるので、それのLaravel版だと思ってください。

FW名 コマンド名
CakePHP bake
Symphony symphony
ZendFramework zf
Phalcon phalcon
FuelPHP oil
CodeIgniter 自動生成など甘え、そんなものはない

ついでにDB接続周りの設定もしちゃいましょう。
.env ファイルをこんな感じに書き換えてください。

DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=larapass

これでさっき一緒に立ち上げた mariadb のコンテナにアクセスできます。


そこまでできたら今度はこのコマンドです。
ちょっと時間かかりますが、なかなか驚くかと思います。

$ composer require laravel/ui
$ php artisan ui bootstrap --auth

終わったらさっきのページを読み込み直してみましょう。
するとこんな感じになってると思います。

image.png

この右上のリンクの LOGIN というやつを押してみると……


image.png

ワオ! ログインフォームが出てきたぞい!


今回はとりあえずここまでです。
次回はもう少しページを増やしたりしてみましょう!

おつかれさまでした!


おまけ

BOOM TECK CAFEオリジナルバーチャル背景
セミナー用背景.png

セミナーの様子はYouTubeでも公開されています!
https://www.youtube.com/watch?v=LPnoqJ6Pl8Y

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6