管理画面をイチイチゼロから作るなど、最早流行らないのである。
時代は落として簡単作成なのだ、素敵。
今回は『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設定を見直す。
アクセスしてみる
ユーザ名: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補足
便利なものがあったのでメモにしておく。
コメント