Laravel で作られている laravel-admin を使って管理画面を構築してみます。
今回は laradock を使用して Laravel 用の Docker 環境を用意します。
Contents
laravel-admin
laradock
Laradockを使うことで、簡単に Docker 用の PHP 開発環境を構築できます。
インストール
laradock 取得
Github からクローンします。
1 |
$ git clone https://github.com/LaraDock/laradock.git |
env 設定
.env ファイルを用意して編集します。
1 2 |
$ cd laradock $ cp env-example .env |
パス関連の編集
データの保存先を変える場合はDATA_PATH_HOST
も変更します。
1 2 3 4 5 |
#APP_CODE_PATH_HOST=../ APP_CODE_PATH_HOST=../laravel-admin #DATA_PATH_HOST=~/.laradock/data DATA_PATH_HOST=.laradock/data |
コンテナ起動
- 使用するコンテナ
- laradock_nginx
- laradock_php-fpm
- laradock_redis
- laradock_phpmyadmin
- laradock_mysql
- laradock_workspace
- dind
docker-compose を実行します。
1 |
$ docker-compose up -d nginx mysql phpmyadmin redis workspace |
laravel プロジェクト作成
warkspace にログインします。
1 |
$ docker-compose exec -u laradock workspace bash |
今回は 6.x で作成します。
1 |
$ composer create-project --prefer-dist laravel/laravel laravel-admin "6.*" |
表示
下記 URL にアクセスします。
http://localhost
laravel-admin
インストール
設置
warkspace にログインします。
1 |
$ docker-compose exec -u laradock workspace bash |
composer で laravel-admin を追加します。
1 |
$ composer require encore/laravel-admin |
アセットと構成を publish します。
1 2 3 4 5 6 7 8 9 |
$ php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider" // `config/admin.php`や構成ファイルが生成されます。 Copied Directory [/vendor/encore/laravel-admin/config] To [/config] Copied Directory [/vendor/encore/laravel-admin/resources/lang] To [/resources/lang] Copied Directory [/vendor/encore/laravel-admin/database/migrations] To [/database/migrations] Copied Directory [/vendor/encore/laravel-admin/resources/assets] To [/public/vendor/laravel-admin] Publishing complete. |
.env ファイル編集
DB設定をdefault
のDBとユーザーを使用します。
1 2 3 4 5 6 |
DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=default DB_USERNAME=default DB_PASSWORD=secret |
arutisan コマンドでインストールします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$ php artisan admin:install // マイグレーション実行や bootstrap、routes ファイルなどが生成されます。 Migration table created successfully. Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_create_users_table (0.05 seconds) Migrating: 2014_10_12_100000_create_password_resets_table Migrated: 2014_10_12_100000_create_password_resets_table (0.03 seconds) Migrating: 2016_01_04_173148_create_admin_tables Migrated: 2016_01_04_173148_create_admin_tables (0.32 seconds) Migrating: 2019_08_19_000000_create_failed_jobs_table Migrated: 2019_08_19_000000_create_failed_jobs_table (0.02 seconds) Database seeding completed successfully. Admin directory was created: /app/Admin HomeController file was created: /app/Admin/Controllers/HomeController.php AuthController file was created: /app/Admin/Controllers/AuthController.php ExampleController file was created: /app/Admin/Controllers/ExampleController.php Bootstrap file was created: /app/Admin/bootstrap.php Routes file was created: /app/Admin/routes.php |
表示
下記 URL にアクセスします。
http://localhost/admin/
初期値として admin/admin でログインできます。
コンテナに入る
docker-compose でユーザー指定で入ります。
1 |
$ docker-compose exec --user=laradock workspace bash |