2015-10-03 41 views
5

私のLaravelプロジェクトはすべてローカルホストで動作しています。 EC2にデプロイしましたが、何も表示されません。 私がdevコンソールに表示されるのは、内部エラー(500)です。EC2にLaravelアプリケーションをデプロイできません

私には何が欠けていますか? AWSに導入する前に変更する必要があるのは何ですか?ここで http://ec2-52-88-99-75.us-west-2.compute.amazonaws.com

httpd.confファイルされる: http://collabedit.com/sdcxm

+0

は755に、ファイルのパーミッションを変更してみてください、それが空の場合(アプリ/ストレージ/ログ/ laravel.log)あなたのlaravelログをチェックし、許可に関係することができまたは777(推奨しません) –

答えて

8

Laravelをインストールした後、あなたには、いくつかの権限を設定する必要があるかもしれません。ここURLです。 ストレージ内のディレクトリとブートストラップ/キャッシュディレクトリ は、Webサーバーによって書き込み可能である必要があります。 - http://laravel.com/docs/master#configuration

Laravel「ストレージ」フォルダと「ブートストラップ/キャッシュ」フォルダには、コマンドラインユーザーとデフォルトのWebサーバのユーザ(WWW-データ)中(作曲の更新などを実行します1)の両方からアクセスする必要がありますあなたのEC2インスタンスでubuntuを使っている場合

次の3つのコマンドを使用すると、両方のコマンドにその権限が与えられます。プロジェクトのルートで実行してください。

HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` 

sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX storage bootstrap/cache 

sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX storage bootstrap/cache 

デバッグできるエラーが表示されるはずです。また、デバッグオプションも使用すると、プロジェクトのルートで環境を指定し、デフォルトの.envファイルを持っていることを確認しapp.php

yourproject/config/app.php 

'debug' => true, 

に真として設定されていることを確認してください。また

yourproject/.env 

//should have this 
APP_ENV = dev 

このコマンドを使用して ことにより、あなたが鍵を生成していることを確認してくださいなどのセッションを使用していて、(設定がapp.php

「キー」=> ENVとして設定/持っていない場合「APP_KEY」、「SomeRandomString」)、新しいAmazon EC2インスタンスのための

yourproject/config/app.php  

php artisan key:generate 

一つの共通の落とし穴は、ポート80およびインバウンドとして許可さ443を持っていないあなたのインスタンスへのセキュリティグループ を割り当てることです。 EC2インスタンスのセキュリティグループを確認し、グループ内のそれらのポートがまだない場合は許可してください。

+0

上記のコマンドをAmazon Linux AMIで実行する方法を教えてください。 – omrakhur

+0

同じコマンドが標準のlinux AMIで動作するはずです。 –

関連する問題