Laradockで簡単にLaravel開発を開始しよう!

Laravelの環境を簡単に導入するためのメモ


前提

Windows10の環境で行っています。

各種ソフトのインストール時のバージョンを変更しない前提で最新のものがインストールされる前提で説明しております。

現時点(2019/08/19)の情報なので、うまくいかない場合があるかも知れないのでご注意ください。


用意

Dockerをコチラからインストールしてください。

適当な箇所にプロジェクト用フォルダを作成してください。


Laradocの取得

gitコマンドが有効であれば以下のコマンドで取得してください。

プロジェクト用フォルダの直下で以下のコマンドを実行してください。

git clone https://github.com/laradock/laradock.git

コチラからzipをダウンロードすることも可能です。

ダウンロードしたファイルはプロジェクト用フォルダの直下で解凍してください。


Laradocの公式サイトはコチラ


Laradocの設定

「/laradock/env-example」のファイルをコピーして「.env」を作成します。


Nginxのhttps化

「/laradock/nginx/sites/default.conf」を修正します。

デフォルト設定のままですと、https化されておりません。

    # 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;

    # 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;

コードの共有場所の変更

「/laradock/.env」の「APP_CODE_PATH_HOST」を変更します。

「APP_CODE_PATH_HOST」はdockerに共有するフォルダの指定です。

そのままの設定ですとLaradockまでdockerに共有されてしまいますので

APP_CODE_PATH_HOST=../

APP_CODE_PATH_HOST=../laravel

データの保存場所の設定

「/laradock/.env」の「DATA_PATH_HOST」を変更します。

「DATA_PATH_HOST」はDB等のデータを格納する場所になります。

そのままの設定にしてしまうと、DB等のデータ格納場所が別プロジェクトと一緒になってしまうので指定しておきましょう

DATA_PATH_HOST=~/.laradock/data

DATA_PATH_HOST=./data

Mysqlの設定

Mysqlだと8.0から認証方式が変更されているので、この手順を行わないとphpmyadminで接続することが出来ません

「/laradock/mysql/my.cnf」の修正。

「/laradock/mysql/docker-entrypoint-initdb.d/createdb.sql」の作成。

「DATA_PATH_HOST」はDB等のデータを格納する場所になります。

そのままの設定にしてしまうと、DB等のデータ格納場所が別プロジェクトと一緒になってしまうので指定しておきましょう

# The MySQL  Client configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysql]

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
character-set-server=utf8

# The MySQL  Client configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysql]
default-character-set=utf8mb4

[mysqld]
character_set_server=utf8mb4
collation-server=utf8mb4_bin
default_authentication_plugin=mysql_native_password

[client]
default-character-set=utf8

「/laradock/mysql/docker-entrypoint-initdb.d/createdb.sql」は作成しておくと初期構築時にSQLを実行してくれます。

今回はrootユーザのパスワードの再設定のみです。

-- Mysql 8.0以降対策
ALTER USER root IDENTIFIED WITH mysql_native_password BY 'root';

Laradock起動

Laradockを起動させます。

docker-compose up -d nginx mysql phpmyadmin redis workspace 

※redisが不要な場合は含めずに実行してください。


初期の起動はサーバーの設定等があるため時間がかかります。

起動が完了すると以下のように表示されます。

Starting laradock_redis_1            ... done
Starting laradock_mysql_1            ... done
Starting laradock_docker-in-docker_1 ... done
Starting laradock_workspace_1        ... done
Starting laradock_phpmyadmin_1       ... done
Starting laradock_php-fpm_1          ... done
Starting laradock_nginx_1            ... done

起動後にhttps://localhost/に接続するとnginxのエラーページが表示されます。


Laravelのインストール

以下のコマンドでworkspaceのコンテナにログインします。

docker exec -it laradock_workspace_1 bash

Laravelのインストールを実行します。

「.」部分はプロジェクト名が入りますが、今回はその場に展開をするのでこうなっております。

composer create-project laravel/laravel .

インストールの完了後にhttps://localhost/に今度はLaravelのページが表示されるはずです。


phpmyadminにはhttp://localhost:8080/で接続出来ます。

ログイン情報は以下を使用してください。

サーバ mysql
ユーザ名 root
パスワード root

Laradock停止

コンテナを停止させます。

docker-compose stop

downの場合はコンテナを停止し、そのコンテナとネットワークを削除します。

docker-compose down

まとめ

他に細かな設定もありますが、これだけでnginx、DB、phpmyadminまで入って簡単に開発環境を作成することが出来ます。


0 件のコメント :

コメントを投稿