鶏口牛後な日々

魔法使い(なんでも作れるエンジニア)を目指してます。ブログは発散中

ApacheのDocumentRootを変えてもLaravelの画面が出てこない時の注意点

ApacheでLaravelを動かすため、本番環境をAWSで用意しています。 Apacheをインストールして、起動します。

Apache 起動

systemctl status httpd

で今起動して居るかどうかを確認し、起動していない場合は、

sudo systemctl start httpd

で起動させます。

Apacheの画面を確認

この状態で

http://IPアドレス

を叩くと、ApacheのTest Pageが出てくるはずです。 f:id:TACOSVilledge:20181019140838p:plain

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

または、

sudo systemctl stop httpd sudo systemctl start 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のスタートのページが表示されました。

f:id:TACOSVilledge:20181019142516p:plain

参考記事: 【Laravel】AWSにLaravelをインストールする | 84LIFE AWSのEC2を立ち上げてLaravelのログイン機能を動かすまで