LoginSignup
0
2

More than 1 year has passed since last update.

Laravelで簡単なCMSを作成(環境構築)

Last updated at Posted at 2021-05-03

Laravelの開発環境をdockerを使ってnginx + php + sqliteの構成で作ってみます。

docker-composeで管理

ディレクトリ構成は以下です。srcディレクトリ配下にはLaravelのコードがインストールされます。

.
├── docker
│   ├── nginx
│   │   └── default.conf
│   └── php
│       ├── Dockerfile
│       └── php.ini
│
├── docker-compose.yml
└── src

docker-composeでコンテナを管理します。

docker-compose.yml
version: '3'
services:
  nginx:
    image: nginx
    ports:
      - 8080:80
    volumes:
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
      - ./src:/var/www
    depends_on:
      - php
  php:
    build: ./docker/php
    volumes:
      - ./src:/var/www

nginxの設定

default.conf
server {

    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    server_name localhost;
    root /var/www/public;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fixes timeouts
        fastcgi_read_timeout 600;
        include fastcgi_params;
    }
}

phpコンテナ

Dockerfile
FROM php:7.3-fpm

ENV COMPOSER_ALLOW_SUPERUSER 1
ENV COMPOSER_HOME /composer
ENV PATH $PATH:/composer/vendor/bin
#Composer install
COPY --from=composer /usr/bin/composer /usr/bin/composer

RUN apt-get update &&\
    apt-get install -y libzip-dev &&\
    docker-php-ext-configure zip --with-libzip && \
    # Install the zip extension
    docker-php-ext-install zip && \
    docker-php-ext-install pdo_mysql

COPY php.ini /usr/local/etc/php/

WORKDIR /var/www
php.ini
[Date]
date.timezone = "Asia/Tokyo"
[mbstring]
mbstring.internal_encoding = "UTF-8"
mbstring.language = "Japanese"

コンテナ起動

docker-compose.ymlファイルが置いてある場所でdocker-compose upを実行するとコンテナが起動します。バックグラウンドで起動するために-dも付けて起動させます。

docker-compose up -d

Laravelインストール

コンテナが起動できたらLaravelをインストールするために、phpコンテナに入ります。

# docker-compose exec php bash

phpコンテナに入れたらLaravelをインストールします。

# composer create-project laravel/laravel .

.env.example.envにリネームします。

cp .env.example .env

アプリケーションキーを作成します。

php artisan key:generate

インストールが完了したら、http://localhost:8080にアクセスして環境が正しく構築出来ているか確認します。下の画像のように表示できていればOKです。

スクリーンショット 2021-05-02 131652.png

SQLiteの設定

laravel/database 配下に database.sqlite というファイルを作成します。次に.envファイルをsqliteを使用するために修正します。

.env
DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
# DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

これで設定は終わりです。

作成したデータベースにデータを登録する場合は、以下の記事を参考に。

0
2
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
0
2