質問をすることでしか得られない、回答やアドバイスがある。

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

ただいまの
回答率

88.04%

mac apache2.4でバーチャルホストを設定しても「Forbidden You don't have permission to access this resource.」

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 98

score 29

ローカルで開発しているlaravelアプリをバーチャルホストでドメインを割り当てたいのですが、
403 Forbidden
You don't have permission to access this resource.

というエラーで詰まっております。

環境
macOS catalina :バージョン10.15.7
プリインストールのapache :バージョン2.4.41 

laravelプロジェクトのあるパス :/Users/hiro/Works/test/ec
割り当てたいドメイン :local.test.com

/etc/hosts には、以下のようにlocal.test.comを追記しました

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
127.0.0.1       local.test.com
255.255.255.255 broadcasthost
::1             localhost

/private/etc/apache2/extra/httpd-vhosts.conf は以下のように記述しています

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/Users/hiro/Works/test/ec/public"
    ServerName local.test.com
    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
    <Directory "/Users/hiro/Works/test/ec/public">
        Require all granted
    </Directory>
</VirtualHost>

/etc/apache2/httpd.conf で以下のコメントアウトを外す

# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf 

これで  sudo apachectl restart をしても403エラーが返ってくる状態です。

最初 localhost でアクセスしたら It works! が表示されたのですが、/etc/hostsを色々変更していたらいつの間にかこちらも同じ「You don't have permission to access this resource.」になってしまっていました。。

https://normalblog.net/system/apache2-4-forbidden/
で2.4から書き方が変わったとのことで変更してみたのですが状況は変わらず、、どなたかお知恵をお貸しいただけないでしょうか。

よろしくお願いいたします。

=================
追記1

コメントにて教えていただいたエラーログを確認しましたところ、以下のように出力されていました。

[Tue May 04 19:05:52.734540 2021] [autoindex:error] [pid 78731] [client 127.0.0.1:58996] AH01276: Cannot serve directory /Users/hiro/Works/test/ec/public/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive

=================
追記2

コメント欄で教えていただき権限を確認いたしました。

 % ls -ld /Users
drwxr-xr-x  5 root  admin  160  5 28  2020 /Users
 % ls -ld /Users/hiro
drwxr-xr-x+ 98 hiro  staff  3136  5  4 19:04 /Users/hiro
 % ls -ld /Users/hiro/Works 
drwxr-xr-x  4 hiro  staff  128  5  4 11:10 /Users/hiro/Works
 % ls -ld /Users/hiro/Works/test 
drwxr-xr-x  6 hiro  staff  192  5  4 11:11 /Users/hiro/Works/test
 % ls -ld /Users/hiro/Works/test/ec
drwxr-xr-x  35 hiro  staff  1120  5  4 12:26 /Users/hiro/Works/test/ec
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • hiro..

    2021/05/04 20:00

    itagaki様 たびたびありがとうございますm(__)m
    laravelなのでec/public以下はindex.htmlではなくindex.phpしかないのです。。
    が、今コメントいただいて試しにindex.htmlを作ってみたらブラウザ表示されました!!ありがとうございますm(__)m
    実際には index.php を表示させたいのですが、もし何かお心あたりがありましたらお教えいただけますと幸いです。自分でも今から調べてみます。

    キャンセル

  • itagagaki

    2021/05/04 20:04

    リクエストされたURLがディレクトリである場合に返すページはデフォルトでこの設定になっていると思います。
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    これを
    <IfModule dir_module>
    DirectoryIndex index.html index.php
    </IfModule>
    のようにすればよいです。

    キャンセル

  • hiro..

    2021/05/04 20:18

    いただいた内容に変更して、phpファイルが開きました!ありがとうございます!!

    キャンセル

回答 1

check解決した方法

0

自己解決ではありませんが、BAが選べないためこちらで失礼いたします。

コメントいただいた /etc/apache2/httpd.conf の変更

<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>

で、index.phpを読み込むことができました。

itagaki様、angel_p_57様、ありがとうございます!m(__)m

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 88.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る