🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

解決済

3回答

9080閲覧

Laravelのhttpd.conf設定の記述方法を確認頂きたいです。

amaturePy

総合スコア131

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

1グッド

0クリップ

投稿2019/12/17 01:43

編集2019/12/17 06:54

EC2内でLaravelの環境を構築してます。そこで、最後のブラウザから表示させる段階で詰まってしまい。解決できずにいます。エラーとしては403のパーミッションエラーです。
もしかしたら私の認識違いでhttpd.confの記載方法を間違えてる可能性もあるので、アドバイスを頂戴したいです。
Apacheのバージョンは2.4です。

また、virtulahostの設定を別のconfファイルに書いたのですが、そちらにもDocumentRootを記載してます。このように複数の関連ファイルに同じ内容の複数の記載があってもエラーの原因にはならないのでしょうか??
よろしくお願いします。
cd /var/www/html/hitobito/下のファイルになります。

イメージ説明

<試した事>
①/var/www/html/hitbito/ディレクトリの所有権をapacheに変更
②エラーログの確認

Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.php,index.html,index.php) found, and server-generated directory index forbidden by Options directive ``` ③以下の記事を参考にApache2.4系の記載ルールを確認 https://www.softel.co.jp/blogs/tech/archives/3142 ④SELinuxをオフ ``` /etc/httpd/conf/httpd.conf # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "/var/www/html/hitobito/public" # # Relax access to content within /var/www. # <Directory "/var/www/html/hitobito/public"> Require all granted </Directory> # # Deny access to the entirety of your server's filesystem. You must # explicitly permit access to web content directories in other # <Directory> blocks below. # <Directory /var/www/html/hitobito/public> Require all granted </Directory> コード ``` ``` /etc/httpd/conf.d/hitobito.conf <VirtualHost *:80> DocumentRoot "/var/www/html/hitobito/public" <Directory "/var/www/html/hitobito/public"> Require all granted </Directory> </VirtualHost> コード ```
yodel👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yodel

2019/12/17 01:57

apache httpd はバージョンによって記述の仕方が異なるので、バージョンを明記したほうが良いです。
amaturePy

2019/12/17 02:00

大変失礼いたしました。 追記いたしました。
guest

回答3

0

自己解決

ec2LAMP環境の再構築からLaravelのインストールを再度行うことでスムーズに解決いたしました。
正確な原因は分からないままですが、とりあえずLaravelの実装は完了です。

投稿2019/12/20 02:05

amaturePy

総合スコア131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

1.AllowOverrideはAllでpublic配下の.htaccessを許可する必要があります。

2.ディレクトリの所有権をapacheに変更とありますが、ディレクトリ全体のパーミッションとオーナーをapacheの777に変更してください(ディレクトリ全体を別の場所にバックアップ後)

3.SELinuxの影響の場合もありますが、本当にオフになっていますか?

4.接続先ディレクトリにindex.htmlを配置しても同じエラーとなりますか?
var/www/html/: No matching DirectoryIndex (index.php,index.html,index.php) found, and server-generated directory index forbidden by Options directiveというエラーは、/var/www/html/のディレクトリを参照してindex.htmlが見つからないというエラーです。

DocumentRootを変更しているはずなのに/var/www/html/ 配下のindex.htmlファイルを参照しに行っているように見えるのが気になっています。

投稿2019/12/17 03:12

編集2019/12/17 07:31
yodel

総合スコア508

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amaturePy

2019/12/17 07:01 編集

ありがとうございます! 3)getenforceを打つとdisabledになるので、オフにはなっているかと思います。 4)/public/index.phpは存在してます。それでもエラーが出ているので もう少し調べて見ます。
amaturePy

2019/12/17 10:15

そうですね。ドキュメントルートは変えてるので、ブラウザ表示されてもいいと思うんですけどね。
guest

0

同じ設定で確認してみましたが、再現しなかったので原因不明ですね。
再構築で解消されたとのこと、了解しました。

投稿2019/12/20 02:16

yodel

総合スコア508

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問