Skip to content

Instantly share code, notes, and snippets.

@bz0
Last active January 9, 2020 07:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bz0/e910b989d2654f71ea3b420afeedd8a6 to your computer and use it in GitHub Desktop.
Save bz0/e910b989d2654f71ea3b420afeedd8a6 to your computer and use it in GitHub Desktop.

laradockの使い方

公式マニュアル
https://laradock.io/getting-started/

github
https://github.com/laradock/laradock

環境

Ubuntu 18.04.3 LTS docker 19.03.5
docker-compose 1.25.0

ダウンロード

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

ディレクトリ

  • laradock
  • blog(laravelプロジェクトディレクトリ)

laravelのプロジェクトディレクトリ位置の指定(.envを編集)

# cd laradock
# vi .env
APP_CODE_PATH_HOST=../blog/

hostsファイルの編集

下記を追記

# sudo vi /etc/hosts
127.0.0.1       blog.test

nginx設定ファイルの編集

laravel用の設定ファイルをコピペ

# cp nginx/sites/laravel.conf.example nginx/sites/laravel.conf
# vi nginx/sites/laravel.conf

server_name,rootを編集

    server_name blog.test;
    root /var/www/blog/public;

docker-compose up(起動)

nginx mysqlを起動します。
Webサーバーコンテナとphp-fpmは依存している為、nginxやapacheを起動するとphp-fpmコンテナも自動起動します。

docker-compose up -d nginx mysql

composerインストール

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

https://getcomposer.org/download/
https://qiita.com/kakijin/items/02364adacf36410f449e

Laravelインストール

# composer create-project --prefer-dist laravel/laravel blog

https://qiita.com/dokkoisho/items/651a65ddcce25e9921b9

パーミッションを777に変更(よくないが、とりあえず)

# chmod 777 -R blog

MySQL設定

LaradockとMySQLのアカウント設定を合わせる

.env(laradock)

### MYSQL #################################################

MYSQL_VERSION=latest
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

.env(Laravel)

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=default
DB_PASSWORD=default

認証

# composer require laravel/ui --dev
# php artisan ui vue --auth

npm install

# docker-compose exec workspace bash
# cd blog
# npm install
# npm run dev

MySQL認証

defaultとrootの認証方式を変更する
https://qiita.com/kosawa/items/4fdbfbd47b2ba32f9f35

認証方式をmysql_native_passwordに変更します。

mysql> ALTER USER `root`@`localhost` IDENTIFIED WITH mysql_native_password BY 'root';
mysql> ALTER USER `root`@`%` IDENTIFIED WITH mysql_native_password BY 'root';
mysql> ALTER USER `default`@`%` IDENTIFIED WITH mysql_native_password BY 'secret';
mysql> flush privileges;
mysql> SELECT user,host,plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| default          | %         | mysql_native_password |
| root             | %         | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+

※FLUSH PRIVILEGES が必要なのは mysql スキーマのテーブルを直接変更したとき

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment