Becom-Developer / study-laravel

laravel 学習用
0 stars 0 forks source link

ドキュメント更新 2024年02月 #7

Open ykHakata opened 7 months ago

ykHakata commented 7 months ago

2024-02-16

Laravel のアップデートサイクルは年に一回になっているようだ

https://readouble.com/laravel/10.x/ja/releases.html

このリポジトリも最低年に一回は更新しておき、更新時期は毎年3月ごろを目処にしたい。

構築方法について

Laravel には sail コマンドが提供されているが sail を使う前に php 環境が必要になることから docker file を用意してコンテナの中で php 環境を用意したい。

docker file を用意するところから、laravel 初期インストール、Laravel Sanctum, spatie/laravel-medialibrary が使える状態までの手順をまとめておきたい。

最終的なまとめは README.md にまとめておく

ykHakata commented 7 months ago

2024/02/18

作成中の原案

今稼働している状況の環境を調べておく

stg
(liff-stg-api)[ec2-user@ip-10-0-0-90 ~]$ php --version
PHP 8.2.9 (cli) (built: Aug 24 2023 20:33:12) (NTS)

(liff-stg-api)[ec2-user@ip-10-0-0-90 ~]$ composer --version
Composer version 2.5.8 2023-06-09 17:13:21
FROM php:8.3.2-apache-bullseye
COPY --from=composer /usr/bin/composer /usr/bin/composer
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# apache 設定
ENV APACHE_DOCUMENT_ROOT /usr/src/app/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
RUN a2enmod rewrite

# laravel インストール用
RUN apt update
RUN apt install -y unzip

# mysql
RUN docker-php-ext-install pdo_mysql

# ユーザーを作成後切り替え
RUN useradd -s /bin/bash -m -u 1000 appuser
USER 1000
version: '3.9'
services:
  web:
    container_name: ctr-study-laravel10
    build:
      context: .
    image: img-study-laravel10
    ports:
      - '8100:80'
    volumes:
      - .:/usr/src/app
  db:
    container_name: ctr-study-laravel10-db
    image: mysql:8.0.36
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: study
      MYSQL_DATABASE: forge
      MYSQL_USER: forge
    volumes:
      - mysql_study:/var/lib/mysql
  phpmyadmin:
    container_name: ctr-study-laravel10-phpmyadmin
    image: phpmyadmin:5.2.1-apache
    restart: always
    ports:
      - 8200:80
    environment:
      PMA_HOST: 'db'
      PMA_USER: 'root'
      PMA_PASSWORD: 'study'
  mailpit:
    image: 'axllent/mailpit:latest'
    ports:
      - '${FORWARD_MAILPIT_PORT:-1025}:1025'
      - '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025'

volumes:
  mysql_study:
    external: true