「禁止-このサーバーにアクセスする権限がありません」エラー


Apache Webサーバーは、その安定性と信頼性のおかげで、最も人気があり、広く使用されているオープンソースWebサーバーの1つです。 Webサーバーは、特にWebホスティングプラットフォームにおいて、巨大な市場を支配しています。

とはいえ、ウェブサイトを設定した後、ブラウザで「禁止–このサーバーにアクセスする権限がありません」というエラーが表示される場合があります。これは非常に一般的なエラーであり、かなりの数のユーザーがサイトのテスト中にこのエラーを経験しています。では、このエラーは何ですか?

禁じられたエラーの謎を解き明かす

403 Forbiddenエラーとも呼ばれるApacheの「ForbiddenError」は、制限または禁止されているWebサイトにアクセスしようとしたときにWebページに表示されるエラーです。図のように、通常はブラウザにスプラッシュされます。

さらに、エラーは、以下に示すように、ブラウザ上でいくつかの方法で現れる可能性があります。

  • HTTP Error 403 – Forbidden
  • Forbidden: You don’t have permission to access [directory] on this server
  • 403 Forbidden
  • Access Denied You don’t have permission to access
  • 403 forbidden request forbidden by administrative rules

では、そのようなエラーの原因は何ですか?

「403ForbiddenError」は、次の主な理由で発生します。

このエラーは、webrootディレクトリのファイル/フォルダの権限が正しくないために発生する可能性があります。ユーザーにWebサイトファイルへのアクセスを許可するようにデフォルトのファイルアクセス許可が調整されていない場合、このエラーがWebブラウザーでポップする可能性が高くなります。

このエラーは、Apache構成ファイルの1つの構成ミスが原因である可能性もあります。構成ファイルに含まれている、またはディレクティブが欠落しているパラメーターが正しくない可能性があります。

「403ForbiddenError」の修正

このエラーが発生した場合は、これを修正するために実行できるいくつかの手順を次に示します。

誤ったファイルのアクセス許可とディレクトリの所有権は、Webサイトファイルへのアクセスを制限することが知られています。したがって、最初に、図のように、ファイルのアクセス許可をwebrootディレクトリに再帰的に割り当てるようにしてください。 webrootディレクトリには常にEXECUTE権限が必要であり、 index.html ファイルにはREAD権限が必要です。

$ sudo chmod -R 775 /path/to/webroot/directory

さらに、次のようにディレクトリの所有権を調整します。

$ sudo chown -R user:group /path/to/webroot/directory

ここで、ユーザーは通常のログインユーザーであり、グループは www-data または apache です。

最後に、変更を有効にするために、ApacheWebサーバーをリロードまたは再起動します。

$ sudo systemctl restart apache2

これで問題が解決しない場合は、次の手順に進みます。

Apacheのメイン構成ファイル /etc/apache2/apache2.conf で、次のコードブロックがあることを確認します。

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

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

保存して終了し、その後、Apacheを再起動します。

RHEL/CentOSシステムでApacheを実行している場合は、 /etc/httpd/conf/httpd.conf メインの/var/www ディレクトリへのアクセスを緩和してください。 Apache構成ファイル。

<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>

次に、すべての変更を保存し、Apacheをリロードします。

これらすべての手順を試してもエラーが発生する場合は、仮想ホストファイルの構成を確認してください。 CentOS8でApache仮想ホストファイルを構成する方法についての詳細な記事があります。

提供されている手順が403エラーのクリアに役立つことを願っています。