Help us understand the problem. What is going on with this article?

Laravelローカル開発環境10分でセットアップ手順(Laradock)

Webアプリケーション開発で、Laravel利用、スピード重視な方、バックエンドメインでインフラ経験がない方向けの記事になります。

触れる技術、サービスのリストはこちら
- Laravel
- Laradock
- Docker for Mac
- docker-compose

ローカル開発環境設定

Laravel

まずはローカルでLaravelアプリケーションの作成。

% composer create-project --prefer-dist laravel/laravel yourappname 

または

% laravel new yourappname 

Laradock

次にLaradockでLaravel用Docker環境を作ります。
*Docker for Macがない方は、ここでインストールしておいてください。
*docker-composeコマンドがない方は、ここでインストールしておいてください。

Laradock(laravel用docker環境)をローカルに落としてきます。
自分はアプリケーション作成したディレクトリと同じ階層にcloneしています。

% git clone https://github.com/Laradock/laradock.git
% ls
yourappname laradock

という感じで。次はlaradockとアプリケーションをつないでいきます。

% cd laradock
% cp env-example .env

.env設定@laradock

.envを編集

.env

APP_CODE_PATH_HOST=../yourappname
DATA_PATH_HOST=.laradock/yourappname_data

# MYSQLの項目を探す

MYSQL_VERSION=5.7 # 推奨
MYSQL_DATABASE=任意
MYSQL_USER=任意
MYSQL_PASSWORD=任意

nginx設定@laradock

laradock/nginx/sites/の下にアプリケーション用の設定ファイル(下記ではyourapp.conf)を作成します。

yourapp.conf

server {

    listen 80;
    #listen [::]:80;

    # For https
    # listen 443 ssl default_server;
    # listen [::]:443 ssl default_server ipv6only=on;
    # ssl_certificate /etc/nginx/ssl/default.crt;
    # ssl_certificate_key /etc/nginx/ssl/default.key;

    server_name yourapp.test;
    root /var/www/yourappname/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-upstream;
        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;
    }

    location ~ /\.ht {
        deny all;
    }

    location /.well-known/acme-challenge/ {
        root /var/www/letsencrypt/;
        log_not_found off;
    }
}

後少しです。

.env@laravel

今度は、yourappnameのディレクトリに移動して、アプリケーションの.envファイルを修正します

# .env
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd

hostsファイル編集

今、nginxの項で設定したyourapp.testにアクセスできないのでアクセスできるようにします(hostsファイルをいじります)

% sudo vim /etc/hosts

127.0.0.1 yourapp.test #追加

Dockerコンテナ立ち上げ

いよいよです。
Dockerが立ち上がっていることを確認して、

% docker-compose up nginx mysql php-fpm redis

でコンテナを立ち上げます

ブラウザでyourapp.testにアクセスできることを確認。
php artisan migrateする時は、workspaceコンテナに入ります。

# laradock
% docker-compose exec --user=laradock workspace bash
laradock####:/var/www$ cd yourappname
laradock####:/var/www$ php artisan migrate

簡単にローカル開発環境がセットアップできました。

続き

次は下記に関して書いて、通しでローカル開発環境、ステージング環境を作れるよう記事を書きたいと思います。

laravelステージング環境設定について
利用するサービスリスト
- Amazon Web Service
- Elasticbeanstalk
- Amazon RDS

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away