LaradockでLaravel-admin使い管理画面作成する

管理画面をイチイチゼロから作るなど、最早流行らないのである。
時代は落として簡単作成なのだ、素敵。

今回は『laravel-admin』を使うことにした。

info
Windows 10 home
Docker version 18.03.0-ce, build 0520e24302 (docker --version)
Laravel Framework 5.7.22 (php artisan --version)
Laradock(git rev-parse HEAD) 913abc54f9edde865a1d6de8a03b38098593ebfb

ちなみに下記の調査情報を鵜呑みにした結果の『Laravel-admin』です!
laravel-adminで管理画面を速攻で構築する。 - Qiita
versionや環境等諸々違うので、そのまま使うことが出来ない。
Laravel5.7 laravel-adminを導入! | のるぼるのるの
こっちのが近い。一所懸命探しました!

Windows 10 homeにdocker及びLaradock・Laravelは入れ済の呈で進める。
Windows10のhomeだけどDocker使う
Windows10でLaradockを使う

つまるところ

docker-compose up -d nginx workspace
docker-compose exec workspace bash

して

composer create-project laravel/laravel laravel_pj

までやってる呈。

Laravel-adminのダウンロード

作成したプロジェクトのディレクトリに入り、composerで落とす。

cd laravel_pj
composer require encore/laravel-admin

『composer.json』に追記方式でインストールすると原因不明の失敗するので、上記コマンドでインストールすること。

その後『composer update』を実行し環境を最新化しておく。

このままだと『laravel-admin』は『vendor』以下にあるので、configファイル等諸々をvendorの外に出す。

php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"

実行後『laravel_pj/config/admin.php』を確認すると『Encore\Admin』を指定したものが増えている。

2019年確認では『/resources/views』だけ移動せずventor以下のまま(コメントアウト)の様子。
念の為、composer updateとかしたら『php artisan vendor:publish --force』してオーバーライトしておいた方が無難かも知れない。

Laravelディレクトリ(laravel_pj)内ファイルの編集

環境設定ファイル(.env)を編集

http://localhostから変更する。

APP_URL=http://laravel.local:800

mysqlもredisも別コンテナのため『127.0.0.1』では接続出来ないので、呼び出しを書き換える。
まとめて書いたが、各々元の場所を書き換えてください。

DB_HOST=mysql
REDIS_HOST=redis

下記をプロジェクトとlaradockの.envに合わせて変えておく。

DB_DATABASE=【データベース名:今回は『laravel_pj』】
DB_USERNAME=【ユーザ名:今回は『homestead』】
DB_PASSWORD=【パスワード:通常は『secret』】

config/app.phpを編集

urlをlocalhostから変更

'url' => env('APP_URL', 'http://laravel.local:800'),

お好みで日本語化しておく(enからja)

'locale' => 'ja',

『'fallback_locale' => 'en'』は、日本語が準備できていないテキストの翻訳言語だから変えなくていいのではないかと。

タイムゾーンを変えておいてもいい。

'timezone' => 'Asia/Tokyo',

MySQLを起動

ここまでやったら1回『exit』してworkspaceから出る。

docker-compose up -d mysql

を実行してMySQLが無事起動することを願う。

終わったら

docker-compose ps

して『_mysql』含むもの(今回の例だと『laradockpj_mysql_1』)が『Exit 1』とか『Exit 3』とかせずに、キチンと起動してないか確認。

成功してたら喜ぶ。
失敗したら多分この辺が原因だと思うので、ここみて戦ってきてください

docker-compose run --rm mysql mysql --version

でMySQLバージョンが見れるので、自分が入れたバージョンか確認しておく。

ついでにredisも入れておく。

docker-compose up -d redis

次回からは下記だけでサーバ起動OK!

docker-compose up -d nginx mysql redis workspace

インストール

docker-compose exec workspace bash

でもう1度入ってから

php artisan admin:install

上手く入らない場合は.envのDB設定を見直す。

アクセスしてみる

http://laravel.local:800/admin
ユーザ名:admin
パスワード:admin

ログインできたら成功!!

DB内容を確認

別にしなくてもいいのだけど、内容を確認したい人向けに書いておく。
コマンドでどうこうするのがツライ人は、phpMyAdminを入れる方法も書いたので、下記は飛ばしてそっち入れて使ったらいいです。

docker-compose exec mysql bash

MySQLにログイン。
初期値のままなら

mysql -u 【今回の場合『homestead』】 -p
Enter password:【今回の場合『secret』】
show databases;
【今回の場合『laravel_pj』テーブルが含まれた一覧】
use 【今回の場合『laravel_pj』テーブルが含まれた一覧】;
show tables;

自動的にたくさんテーブルが作成されているのが確認出来る。

管理画面ユーザーは『admin_xxx』のように頭に『admin_』が付いているのが管理画面用。
『users』はフロント用で、フロントと管理画面の認証の分離も自動的にされているらしい。素敵。

Laravel補足

便利なものがあったのでメモにしておく。

Laravel日本語化ファイル

Laravel 5.5 日本語バリデーションメッセージファイル · GitHub

コメント

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