🗒️

ubuntu×Laravel sail×Dockerで環境構築

2024/08/16に公開

はじめに

こんにちは、ばななです。
laravel sailを使った開発環境構築で苦戦したので、手順を備忘録としてまとめます。

概要

  • ubuntu環境にLaravelプロジェクトを作成する手順
  • githubからクローンした時の操作手順

前提となる環境情報

windows11 home

WSL2

ubuntu 22.04.3LTS

PHP 8.2

laravel 10.x

ubuntu環境にLaravelプロジェクトを作成

依存関係の導入

PHPのインストール

sudo apt update
sudo apt install php-cli

PHP拡張機能のインストール

sudo apt install php-xml php-curl php-mbstring php-dom

Composerのグローバルインストール

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === trim(file_get_contents('https://composer.github.io/installer.sig'))) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

Laravelプロジェクト

Laravelプロジェクトを作成

composer create-project laravel/laravel your-project-name --prefer-dist "10.*"

Laravel Sailのインストール

cd /path/to/your/project
composer require laravel/sail --dev
php artisan sail:install

アプリケーションキーの生成

php artisan key:generate

phpMyAdminの設定

services:
  Laravel.test: ~~~
  mysql: ~~~
# ここから下を追加
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    links:
      - mysql:mysql
    ports:
      - 8888:80
    environment:
      MYSQL_USERNAME: '${DB_USERNAME}'
      MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
      PMA_HOST: mysql
    networks:
      - sail

Dockerコンテナの起動

./vendor/bin/sail up

GitHubからクローンする手順

準備

リポジトリのクローン

# プロジェクトを配置するディレクトリに移動
cd /path/to/your/directory

# GitHubからプロジェクトをクローン
git clone https://github.com/username/repository.git

# クローンしたディレクトリに移動
cd repository

起動までの手順

依存関係のインストール

laravelプロジェクト作成手順と同じ

envファイルの作成

cp .env.example .env

アプリケーションキーの生成

php artisan key:generate

Laravel Sailのインストールと設定

composer require laravel/sail --dev
php artisan sail:install

Dockerコンテナの起動

./vendor/bin/sail up -d

参考にした記事

https://dev.classmethod.jp/articles/how-to-laravel-sail-install-and-mysql-phpmyadmin/

最後に

以上が環境構築とクローンした際の手順になります。
ご指摘やアドバイスなどございましたら是非お願いします。

Discussion