HerokuにLaravelアプリケーションをデプロイする手順は、初心者から経験豊富な開発者まで誰でも簡単に実行できるプロセスです。この記事では、HerokuにLaravelアプリケーションを完全にデプロイするための手順を詳細に説明します。各ステップを順を追って理解し、実際の操作に役立てることができるようにします。
1. 必要な準備
HerokuにLaravelをデプロイする前に、いくつかの準備が必要です。以下の準備が整っていることを確認してください。
1.1. Herokuアカウントの作成
Herokuを使用するには、まずHerokuの公式サイト(https://www.heroku.com/)でアカウントを作成します。アカウントを作成した後、Heroku CLI(コマンドラインインターフェース)をインストールします。
1.2. Laravelプロジェクトの準備
デプロイするためには、まずローカルでLaravelプロジェクトが正常に動作している必要があります。Laravelのインストールや基本的な設定が終わっていることを確認しましょう。
1.3. Gitのインストール
HerokuはGitを使用してコードを管理するため、Gitがインストールされている必要があります。Gitがインストールされていない場合は、公式サイトからインストールしてください。
2. Heroku CLIのインストール
Heroku CLIはHerokuのアプリケーションを管理するためのコマンドラインツールです。Heroku CLIをインストールするには、以下の手順に従います。
- 公式サイト(https://devcenter.heroku.com/articles/heroku-cli)からインストーラーをダウンロードしてインストールします。
- インストール後、ターミナルを開いて、以下のコマンドでHerokuにログインします。
bashheroku login
これにより、Herokuアカウントへのログインが求められます。
3. Gitリポジトリの初期化
LaravelプロジェクトをGitで管理するために、Gitリポジトリを初期化します。以下のコマンドを実行します。
bashgit init
次に、リモートリポジトリをHerokuに設定します。
bashheroku create
このコマンドは、Heroku上に新しいアプリケーションを作成し、そのリポジトリURLを表示します。このURLを使用して、コードをHerokuにプッシュします。
4. Laravelの設定ファイルの調整
LaravelをHerokuにデプロイするために、いくつかの設定を変更する必要があります。
4.1. composer.json
の変更
Herokuでは、アプリケーションの依存関係を管理するためにComposerを使用します。composer.json
ファイルのpost-install-cmd
に以下のコマンドを追加します。
json"post-install-cmd": [
"php artisan key:generate",
"php artisan config:cache"
]
これにより、Herokuにデプロイ後、Laravelのアプリケーションキーと設定が正しく生成されます。
4.2. .env
ファイルの設定
Herokuでは、環境変数をconfig
から管理します。.env
ファイルを直接Herokuにアップロードするのではなく、Herokuの設定ダッシュボードで必要な環境変数を設定します。以下は、よく使われる環境変数の例です。
bashheroku config:set APP_KEY=base64:your-app-key
heroku config:set APP_ENV=production
heroku config:set APP_DEBUG=false
heroku config:set DB_CONNECTION=pgsql
heroku config:set DB_HOST=your-db-host
heroku config:set DB_PORT=5432
heroku config:set DB_DATABASE=your-database-name
heroku config:set DB_USERNAME=your-db-username
heroku config:set DB_PASSWORD=your-db-password
これにより、Heroku環境での設定が整います。
5. データベースの設定
Herokuでは、PostgreSQLやMySQLなどのデータベースを利用できます。LaravelのデフォルトはMySQLですが、HerokuではPostgreSQLを使うことが一般的です。データベースの接続設定を.env
ファイル内で行います。
HerokuにPostgreSQLアドオンを追加するには、以下のコマンドを実行します。
bashheroku addons:create heroku-postgresql:hobby-dev
これで、HerokuのPostgreSQLデータベースが作成され、接続情報が自動的に.env
ファイルに反映されます。データベース設定はDB_HOST
やDB_DATABASE
、DB_USERNAME
、DB_PASSWORD
などを設定することで管理できます。
6. デプロイの準備
Herokuにデプロイする前に、以下の準備を行います。
6.1. .gitignore
ファイルの設定
.gitignore
ファイルに、デプロイ時に不要なファイルが含まれないように設定します。例えば、node_modules
やvendor
ディレクトリを含める必要はありません。
txt/vendor /node_modules
6.2. ローカルでのテスト
Herokuにデプロイする前に、ローカルで動作確認を行い、エラーがないことを確認しましょう。特に、データベース接続や外部サービスとの連携に問題がないかを確認します。
7. Herokuにデプロイ
準備が整ったら、Herokuにアプリケーションをデプロイします。以下のコマンドを順に実行します。
bashgit add .
git commit -m "Initial commit"
git push heroku master
これで、Herokuにコードがプッシュされ、デプロイが始まります。デプロイが完了すると、Herokuが提供するURLでアプリケーションが公開されます。
8. アプリケーションのマイグレーション
Herokuにデプロイした後、データベースのマイグレーションを実行する必要があります。以下のコマンドでマイグレーションを実行します。
bashheroku run php artisan migrate
これにより、Laravelアプリケーションのデータベースが正しくセットアップされます。
9. エラーログの確認
Herokuでアプリケーションが正常に動作していない場合、ログを確認してエラーを特定することが重要です。以下のコマンドでログを確認できます。
bashheroku logs --tail
このコマンドで、リアルタイムでエラーログを確認できます。
10. SSLの設定(オプション)
Herokuでは、無料でSSL証明書を提供しています。SSLを有効にするには、Herokuの設定で「Force SSL」を有効にする必要があります。これにより、HTTPSでアプリケーションが公開され、セキュリティが向上します。
まとめ
LaravelアプリケーションをHerokuにデプロイするための基本的な手順を紹介しました。これらのステップを順に進めることで、Herokuに簡単にLaravelアプリケーションをデプロイし、実際の運用環境で公開することができます。Herokuはスケーラブルなプラットフォームであり、アプリケーションの成長に合わせてリソースを調整することも可能です。