1. ホーム
  2. linux

[解決済み] Apache バーチャルホスト 403 Forbidden

2022-07-20 12:50:18

質問

最近、Apacheでテストサーバーを立ち上げようとしました。ドメイン下で動作していること www.mytest.com . 私はいつも 403 Forbidden のエラーが発生しました。Ubuntu 10.10 server editionを使用しています。docのルートはdirの下にあります。 /var/www . 以下は私の設定です。

var/www の内容

ls -l /var/www/

total 12
drwxr-xr-x 2 root root 4096 2011-08-04 11:26 mytest.com
-rwxr-xr-x 1 root root 177 2011-07-25 16:10 index.html

サーバー上のホストファイルの内容(IP 192.168.2.5 の場合)

cat /etc/hosts

127.0.0.1 localhost 
127.0.1.1 americano
192.168.2.5 americano.mytest.com www.mytest.com

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

サイト構成

<VirtualHost *>
ServerAdmin [email protected]
ServerName www.mytest.com
ServerAlias mytest.com

DocumentRoot "/var/www/mytest.com"

ErrorLog /var/log/apache2/mytest-error_log
CustomLog /var/log/apache2/mytest-access_log combined

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/mytest.com">
Options -Indexes FollowSymLinks
AllowOverride None

Order allow,deny
Allow from all
</Directory>
</VirtualHost>

私は .htaccess ファイルがありません。パーミッションは正しく設定されています (www-data で読み取り可能)。

デスクトップから IP アドレスを入力すると、サイトが正しく表示されます。私はデスクトップ上の hosts ファイルを変更して www.mytest.com をサーバーのIPに向けるように変更しました。それを使用すると 403 . このサイトの多くの機能はサイトネームに依存しているので、私はドメイン名でサイトにアクセスできるようにする必要があります。

もう 1 つのおかしな点は、すべてのログ ファイルが適切に作成されたとしても、このエラーに関する情報がないことです。

私は行き詰っています。どなたか助けていただけませんか。

どのように解決するには?

Apache 2.4.3 (またはそれより少し前) では、新しいセキュリティ機能が追加され、しばしばこのエラーが発生します。 また、"client denied by server configuration" という形のログ メッセージが表示されます。 この機能は、ディレクトリにアクセスするためにユーザーIDを要求しています。 これは、Apache に同梱されている httpd.conf で DEFAULT でオンになっています。 ディレクティブでこの機能を有効にすることができます。

Require all denied

これは基本的に、すべてのユーザへのアクセスを拒否することを意味します。 この問題を解決するには、denied ディレクティブを削除するか (あるいはもっと良い方法として) アクセスを許可したいディレクトリに以下のディレクティブを追加してください。

Require all granted

のように

<Directory "your directory here">
   Order allow,deny
   Allow from all
   # New directive needed in Apache 2.4.3: 
   Require all granted
</Directory>