セキュリティ対策のため開発用のモジュールを取り除きデプロイする。
メンテナンスモード
一時的にステータスコード503を返し停止中であることを伝える。
php artisan down
サービスを再開する。
php artisan up
Composer
モジュールはプロジェクトのvendorディレクトリ以下に配置されている。
bootstrapをインストールするとbootstrapディレクトリ以下に配置される。
開発用にrequire-devも含めてインストールしている状態から下記のコマンド実行すると、composer.jsonのrequireに限定してモジュールがインストールされる。
composer install --no-dev
インストール済みモジュールは下記のコマンドで確認できる。
composer show -i
開発でしか使用しないモジュールは下記のコマンドでインストールするとrequire-devに登録されインストールされる。
composer install 【モジュール名】 --dev
パッケージの更新はupdateコマンドを実行する。require-devに含まれるパッケージもインストールされるため、本番用サイト向けには install –no-dev を続けて実行する必要がある。
> composer update
Node.JS
モジュールはプロジェクトのnode_modulesディレクトリ以下に配置されている。
開発用にdevDependenciesも含めてインストールしている状態から下記のコマンドを実行すると、package.json のdependenciesに限定してインストールされる。
npm install --production
インストール済みモジュールは下記のコマンドで確認できる。
前述の動作に必要なモジュールだけをインストールした状態では依存関係を解決できない警告が表示される。
npm list
開発でしか使用しないモジュールは下記のコマンドでインストールするとdevDependenciesに登録されインストールされる。
npm install 【モジュール名】 --save-dev
パッケージの更新はupdateコマンドを実行する。updateコマンドによりdevDependenciesで指定されるパッケージがインストールされる。production環境でupdateを行うとdevDependenciesで指定されたパッケージもインストールされてしまう。この場合、node_modules ディレクトリを削除した後、npm install –production を実行する。
npm update
設定の変更
データベース
設定値をProduction用に変更
- .envファイルのAPP_DEBUGをfalseに変更
- .envファイルのAPP_URLをproduction用に変更
- .envファイルのDB_系の設定をproduction用に変更
シンボリックリンク
/storage/app/public から /pubic/storage へシンボリックリンクが張られている必要があるが、サイト全体をコピーするとコピー元へリンクが張られる。
一旦リンクを削除した後、下記のコマンドを実行しリンクを張り直す。
php artisan storage:link