Apache/2.2.22 このサーバーの / にアクセスする権限がありません エラー

Apache/2.2.22 このサーバーの / にアクセスする権限がありません エラー

見つけられる権限に関するすべての提案を試しましたが、うまくいきませんでした。Apacheは正常に起動しているようです

[ ok ] Restarting web server: apache2 ... waiting ..

アクセスログには

192.168.15.51 - - [12/Feb/2016:04:19:48 -0800] "GET / HTTP/1.1" 403 498 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"

エラーログ:

[Fri Feb 12 04:19:48 2016] [error] [client 192.168.15.51] (13)Permission denied: access to / denied

ls -al /var/www:

root@AOScloud:/etc/apache2# ls -la /var/www
total 12
drwxr-xr-x  2 root     root     4096 Feb 12 03:33 .
drwxr-xr-x 13 root     root     4096 Feb 12 03:31 ..
-rwxr-xr-x  1 www-data www-data  177 Feb 12 03:33 index.html

ls -ld /var/www

root@AOScloud:/etc/apache2# ls -ld /var/www
drwxr-xr-x 2 root root 4096 Feb 12 03:33 /var/www

apache2.confに以下を追加しました

DocumentRoot /var/www

<Directory /var/www/>
  Options Indexes FollowSymLinks
  AllowOverride None
  Require all granted
</Directory>

私はDebian 4.2.0カーネルを実行しています

これは、以下のように要求された /etc/apache2/sites-available/default の内容です。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

答え1

今は動作しています。何らかの理由で www-data ユーザーが破損していました... 新しいユーザー www を追加し、すべてをこのユーザー www に変更しました。今は動作しています...

答え2

Debian ベースのパッケージからの Apache は、以下のようにデフォルトでレビューされます。

https://catjcode.com/apache_conf.txt「デフォルトの Apache 設定」

https://catjcode.com/apache_site.txt「デフォルトのApacheサイト」

より最小限のデフォルト設定を試して、http://192.168.15.1/index.htmlまたは同様のアクセス可能なもの。次に、構成の必要な各部分を追加します。

投稿されたログ メッセージに別の問題が考えられます:

access to / denied

http://192.168.15.1/サーバーは、表示しようとするとインデックスとして表示されるように構成されている可能性があります。Apache ディレクトリ インデックスまたはファイル リストは、デフォルトではオフになっていることがよくあります。デフォルトのハンドラーは構成が不足している可能性があります。ログ内のエラーが異なるかどうかを確認するために、index.html直接アクセスしてみることをお勧めします。http://192.168.15.1/index.html

また、シンボリック リンクがある場合はそれも確認してください。サイトが実際には/etc/apache2/sites-available/default構成として使用されていないと仮定すると、別のファイルが使用されており、変更がすべて無効になります。以下は一般的なセットアップからのものです。シンボリック リンクと命名スキームに注意してください。

ls /etc/apache2/sites-enabled/ -lah
drwxr-xr-x 2 root root 4.0K Aug 29 11:43 .
drwxr-xr-x 8 root root 4.0K Aug 29 11:40 ..
lrwxrwxrwx 1 root root   35 Aug 29 11:38 000-default.conf -> ../sites-available/000-default.conf

権限の問題を診断するには、Apache が www-data を使用しているかどうかを確認し、Apache を起動してプロセス所有者を確認します。以下の www-data に注意してください。

ps -ef|fgrep apache

root      1495     1  0 Feb16 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  5239  1495  0 09:33 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  5240  1495  0 09:33 ?        00:00:00 /usr/sbin/apache2 -k start

ファイル システムのアクセス許可を確認します。例を以下に示します。

ls -lah /var/www/html/
drwxr-xr-x 6 root     root 4.0K Sep  9 13:30 .
drwxr-xr-x 3 root     root 4.0K Aug 29 11:38 ..
drwxr-xr-x 2 www-data root 4.0K Aug 30 17:56 cgi-bin
drwxr-xr-x 2 www-data root 4.0K Sep  9 13:26 css
drwxr-xr-x 2 www-data root 4.0K Sep  8 12:36 images
drwxr-xr-x 2 www-data root 4.0K Sep  9 10:14 js
-rw-r--r-- 1 www-data root 3.4K Sep  9 13:14 index.html

関連情報