ApacheのDocumentRootを変えてもLaravelの画面が出てこない時の注意点
ApacheでLaravelを動かすため、本番環境をAWSで用意しています。 Apacheをインストールして、起動します。
Apache 起動
systemctl status httpd
で今起動して居るかどうかを確認し、起動していない場合は、
sudo systemctl start httpd
で起動させます。
Apacheの画面を確認
この状態で
http://IPアドレス
を叩くと、ApacheのTest Pageが出てくるはずです。
Document Rootを変更
上と同様に、IPアドレス直下を叩いた場合に、表示するべきものを格納して居るフォルダをApacheのDocument Rootを変更することで設定します。
<VirtualHost *:80> DocumentRoot /var/www/プロジェクトフォルダ/public <Directory "/var/www/develop/snakle"> Options Indexes FollowSymlinks AllowOverride All Require all granted </Directory> </VirtualHost>
ここで、注意するべきは、最後に「public」と入れて居るかどうかです。
プロジェクトフォルダを指定してしまっても、その直下を見るので、一般的に公開するファイルを入れて居る public
フォルダを指定する必要があります。
私は、それを忘れていて、ApacheのTest Pageばかり出てしまい、以下に示すようなLaravelのページを出すまでに苦労しました。
Apacheを再起動
sudo systemctl restart httpd
または、
で、Apacheを再起動しましょう。
起動して居るかどうかは、上述したように sudo systemctl status httpd
で確認できます。
再起動しないと、先ほどのApacheのDocument Rootの設定は反映されませんので、気をつけます。
Laravelの画面が出るかを確認
これで、Laravelの Laravel
という画面が出てくる・・・のはまだ早く、確かにLaravelが出して居る画面なのですが、以下の文言が表示されます。
Whoops, looks like something went wrong.
これは、ここにも書いてあるのですが、アプリケーションキーの生成をしていないことが原因で表示されるようです。
アプリケーションキーの生成
プロジェクトフォルダ直下で、以下のします。
cp .env.example .env php artisan key:generate
Laravelの最初のページやがやっとでる
これでやっと、Laravelのスタートのページが表示されました。
参考記事: 【Laravel】AWSにLaravelをインストールする | 84LIFE AWSのEC2を立ち上げてLaravelのログイン機能を動かすまで