スポンサーリンク

LaradockでDockerとLaravelの環境構築手順

Laravel

LaradockでのLaravelの開発環境構築手順を解説しています。

個人的な備忘録としても残しておきたかったので、実案件でも問題なく使えるものになっているかと思います。

構成

  • Apache
  • MySQL 8.0
  • PHP 8.1
  • バーチャルホスト対応

ディレクトリ構成

今回は同一のプロジェクト内にLaradockとLaravelの両方を配置する構成にします。

my_project
├── laravel
│   ├── app
│   ├── artisan
│   ├── bootstrap
│   └── ...
└── laradock
    ├── adminer
    ├── aerospike
    ├── apache2
    └── ...

準備

Dockerをまだインストールしていない場合は、予めインストールしておきましょう。

Home
Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious set...

Laradockのセットアップをする

Laradockを取得

$ cd ~/my_project
$ git clone https://github.com/laradock/laradock.git

.envファイルを作成

$ cd ./laradock
$ cp .env.example .env

Laradockの設定ファイルを編集


- APP_CODE_PATH_HOST=../
+ APP_CODE_PATH_HOST=../laravel/

- PHP_VERSION=7.4
+ PHP_VERSION=8.1

- WORKSPACE_INSTALL_XDEBUG=false
+ WORKSPACE_INSTALL_XDEBUG=true

- WORKSPACE_INSTALL_IMAGEMAGICK=false
+ WORKSPACE_INSTALL_IMAGEMAGICK=true

- PHP_FPM_INSTALL_XDEBUG=false
+ PHP_FPM_INSTALL_XDEBUG=true

- MYSQL_VERSION=latest
+ MYSQL_VERSION=8.0

バーチャルホストの設定

laravel.conf を作成

$ cd ./laradock/apache2/sites
$ cp sample.conf.example laravel.conf

laravel.conf を編集

「local.example.com」の部分は好きなドメインに置き換えて読んでください。

<VirtualHost *:80>
  ServerName local.example.com
  DocumentRoot /var/www/public/
  Options Indexes FollowSymLinks

  <Directory "/var/www/public/">
    AllowOverride All
    <IfVersion < 2.4>
      Allow from all
    </IfVersion>
    <IfVersion >= 2.4>
      Require all granted
    </IfVersion>
  </Directory>

</VirtualHost>

バーチャルホストでアクセスできるように /etc/hosts に下記を追加

127.0.0.1       local.example.com

Dockerを起動

$ cd ./laradock
$ docker-compose up -d apache2 mysql phpmyadmin

これでLaradock自体のセットアップは完了です。

Laravelのインストール

$ composer install

.envファイルを作成

$ cp .env.example .env

.envファイルを編集

DB_CONNECTION=mysql
- DB_HOST=127.0.0.1
+ DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
- DB_USERNAME=root
+ DB_USERNAME=default
- DB_PASSWORD=
+ DB_PASSWORD=secret

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

$ php artisan key:generate

ブラウザからアクセスできるか試す

これで下記のURLでアクセスできるようになっているはずです。

http://local.example.com

コメント

タイトルとURLをコピーしました