LoginSignup
34
42

More than 3 years have passed since last update.

Laravelチュートリアル - 汎用業務Webアプリを作る(1/4) Laradockで環境構築

Last updated at Posted at 2019-05-01

はじめに

これまで私はDjangoでいくつかのWebアプリを作ってきましたが、とある事情から今後Laravelに触れる必要が出てきました。

そこで、既存のDjangoアプリをLaravelで再現するチュートリアル記事を作成し、その過程を通してLaravelについて学ぶことにしました。

題材には、CRUD機能、検索機能、認証機能を持ち、Djangoを勉強する際にも大変お世話になった、下記Webアプリとさせていただきました。

Djangoチュートリアル - 汎用業務Webアプリを最速で作る - Qiita

チュートリアル全体の構成

  1. Laradockで環境を構築する(本記事

  2. テーブルとCRUD画面を作る

  3. 検索画面とページネーションを作る

  4. 認証機能を作る(作成予定)

環境

  • macOS High Sierra 10.13.6
  • php 7.2.16
  • Laravel 5.5.45
  • PostgreSQL 9.6.2

1. Laradockで環境構築する

ディレクトリ構造

本記事での環境構築を終えると、下記のディレクトリ構造が出来上がります。

├── data // データベースのディレクトリ
├── laradock // Docker関連ファイルのディレクトリ
└── src // Laravelのルートディレクトリ

Laradockのコピー

プロジェクトのルートとなるディレクトリに、Laradockをコピーします。

$ git clone https://github.com/Laradock/laradock.git

Laradockの.envファイルの編集

laradockディレクトリが出来上がるので、その配下のenv-exampleファイルをコピーし、.envファイルを作成します。

$ cd laradock
laradock $ cp env-example .env

laradock/.envの以下2つの設定を編集します。

laradock/.env
APP_CODE_PATH_HOST=../src

DATA_PATH_HOST=../data

PostgreSQLのバージョンの指定

PostgreSQLは9.6.12を使用することにします。
PostgreSQLのDockerファイルを以下の通り編集します。

laradock/postgres/Dockerfile
FROM postgres:9.6.12

LABEL maintainer="Ben M <git@bmagg.com>"

CMD ["postgres"]

EXPOSE 5432

コンテナの起動

コンテナを起動します。

laradock $ docker-compose up -d --build workspace postgres php-fpm nginx

Laravelのインストール

Laravelをインストールします。

まず、起動したコンテナの中に入ります。

laradock $ docker-compose exec workspace bash

続いて、Laravelをインストールします。
バージョンは5.5.*にします。

/var/www# composer create-project --prefer-dist laravel/laravel . "5.5.*"

データベースを作成する

コンテナの中に入ったまま、今度はPostgreSQLに接続し、データベースを作成します。

まず、PostgreSQLに接続します。

/var/www# psql -U default -h postgres

パスワードを入力します。

Password for user default: 

続いて、データベースを作成します。
データベース名は、sampleにします。

default=# create database sample;

PostgreSQLとの接続を終了します。

default=# \q

Laravelのタイムゾーンを日本時間にする

Laravelのタイムゾーンを日本時間にします。

src/config/app.php
<?php
return [
//略
  'timezone' => 'Asia/Tokyo',
//略
];

.envファイルの編集

Laravelの.envファイルを編集し、LaravelからPostgreSQLに接続できるようにします。

src/.env
DB_CONNECTION=pgsql
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=sample
DB_USERNAME=default
DB_PASSWORD=secret

最後に

以上で環境構築は完了です。

次の記事では、テーブルとCRUD画面の作成を行います。

参考

34
42
3

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
34
42