2021/08/05
Laravelで開発したパッケージにインストーラーを導入
タイトルにもある通り、Laravelで開発したアプリケーション(パッケージ)にインストーラーを設置出来る物を開発したので、公開致します。
その名も「laravel-app-installer」です。
こちらからダウンロードを行ってご利用ください。
https://github.com/nextcode-sys/laravel-app-installer
実際にどういった物なのか、何が出来るのか
WordPressのインストールの様にサーバーにアプリケーション(パッケージ)をアップロードすると、http://○○○○.○○/installerにアクセスして手順に沿って入力する事でインストールが行えるといった物です。
WordPressのインストールで次の画像の様な物を見た事はないでしょうか?
WordPressを使える様にデータベースの設定等を行う、インストーラーです。
これと同じ様な物をLaravelで開発したアプリケーション(パッケージ)に入れる事が出来ます。
実際に導入した際の画面はサムネイルの画像になります。
前提条件
laravel-app-installerを使用するにあたって、次の内容にご注意下さい。
- PHPのバージョンは「7」以上
- Laravelのバージョンは「6」
- composerやnpmでインストールした物(vendorやnode_modules)はアプリケーション(パッケージ)に含めた状態とする
「.env
」は削除し、「.env.example」
を用意する- laravel-app-installerの改変は必須(詳しくは後述します)
- 確認済みの動作環境はXserverのみ
導入方法
- githubからZIPダウンロード
- ダウンロードした物を解凍
- 解凍した物の中にある「installer」のディレクトリを丸ごと、開発したLaravelアプリの「public」直下に配置
- 終わり
laravel-app-installer自体の改変は必須ですが、導入自体は非常に簡単です。
実際のインストーラー使用の流れ
- FTPでlaravel-app-installerが含まれたLaravelアプリをサーバーにアップロード
- http://○○○○.○○/installer にアクセス(○の部分はドメイン名です)
- ステップに沿って入力し進める
- 終わり
laravel-app-installerが内部で行っている事
laravel-app-installerではインストールする為のステップが3つ存在します。
そのステップ毎に内部で行っている事を記載しておきます。
これは前提条件に記載していた「laravel-app-installerの改変は必須」に関係するので、改変の際はよくご確認ください。
ステップ1
・ 「.env」ファイルの作成(.env.exampleのコピー)
・ コマンド「composer dump-auto」の実行
・ コマンド「php artisan key:generate」の実行
・ コマンド「php artisan storage:link」の実行
・ 入力された値を「.env」に書き込み
ステップ2
・ 入力された値を元にDBへ接続が行えるか確認
・ 入力されたDBに関する値を「.env」に書き込み
・ コマンド「php artisan config:cache」の実行
・ コマンド「php artisan migrate:fresh」の実行
・ 入力されたメールに関する値を「.env」に書き込み
・ 入力された値を元にメール送信が行えるか確認(テストメール送信)
ステップ3
・ 管理者アカウントをDBに挿入
・ コマンド「php artisan cache:clear」の実行
・ laravel-app-installer自体の削除
主に変更する部分としては「installer/api」にあるPHPファイルになるかと思います。
特にステップ3に関しては変更が必須です。
管理者アカウントをDBに挿入する際に、テーブル名(モデル名)やテーブル構造が異なるかと思いますので、開発されたものに合わせて書き換えて下さい。
以上になります。
導入や変更が難しい等があれば、ご依頼として承ります。
その際は、お電話またはお問い合わせページからお問い合わせ下さい。