ネットワーキング
 Computer >> コンピューター >  >> ネットワーキング >> ネットワーキング

Apache設定後に「Forbidden – このサーバーへのアクセス権限がありません」と表示される場合の原因と解決方法

Apacheとは

Apacheは、世界のWebサーバーの約67%で採用されている代表的なWebサーバーソフトウェアです。Apache Software Foundationによって開発・配布されており、オープンソースとして無料で利用できます。高速性・安全性・信頼性の高さから、長年にわたり多くのユーザーに支持され続けています。

しかし最近、ドメイン向けにApacheをセットアップする際に、「Forbidden – You don't have permission to access / on this server(このサーバーへのアクセス権限がありません)」というエラーが表示されるという報告が多数寄せられています。本記事では、このエラーの原因と具体的な解決手順を詳しく解説します。

エラーが発生する主な原因

多くのユーザーからの報告をもとに調査を行った結果、このエラーは主に以下の3つの要因で発生することが判明しました。

  • グローバルディレクトリ設定の誤り:グローバルディレクトリの設定が正しく構成されておらず、サイトに必要なディレクティブが与えられていない可能性があります。適切なディレクティブがないと、このエラーが発生します。
  • パーミッション(アクセス権)の誤り:Apacheが正常に動作するには、ディレクトリのルートフォルダまで適切な権限が付与されている必要があります。権限が不足しているとエラーが発生します。
  • ユーザー名の未設定:環境によっては、「httpd.conf」に実際のユーザー名を明示的に記述することでエラーが解消されるケースがあります。

問題の概要を理解したところで、解決策に進みましょう。以下の手順は、記載された順番どおりに実行してください。

解決策1:グローバルディレクトリ設定の変更

この問題を解決するには、一部の設定を適切に見直す必要があります。ここでは、環境に応じて「httpd.conf」または「httpd-vhosts.conf」にあるグローバルディレクトリ設定に、Optionsディレクティブを追加します。

  1. 「httpd.conf」または「httpd-vhosts.conf」を開き、ディレクトリ設定を探します。以下のようなコードが記載されているはずです。
    Apache設定後に「Forbidden – このサーバーへのアクセス権限がありません」と表示される場合の原因と解決方法
    <Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
    </Directory>

    注意:コード内の「Allow From All」の部分が「Deny From All」になっている場合があります。その場合は、下記のように「Allow From All」または「Require All Granted」に変更することが重要です。

  2. 続いて、「Options Indexes FollowSymLinks Includes ExecCGI」の行を追加し、以下のようなコードになるように編集します。
    <Directory />
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from all
    </Directory>
  3. ブラウザでページを開き直し、エラーが解消されたか確認します。
  4. それでも問題が解決しない場合は、「Allow from All」の行を「Require All Granted」に置き換えてください。
  5. 再度、エラーが解消されたかどうかを確認します。

解決策2:パーミッションの変更

Apacheをドメインに紐付ける際、ソフトウェアがファイルを読み書きできるようにパーミッションを付与します。この権限設定は正確に行うことが重要です。以下に、正しい付与方法を示します。

  1. 慣例的に、多くのユーザーは次のようにパーミッションを設定しています。
    chgrp -R www-data /username/home/Dropbox/myamazingsite/
    chmod -R 2750 /username/home/Dropbox/myamazingsite/
  2. しかし、これらのコマンドは誤りであり、以下のように対象パスを短く修正する必要があります。
    chgrp -R www-data /username
    chmod -R 2750 /username
  3. また、「chmod」の指定値にも注意してください。ユーザーに読み取り権限を与える「chmod 755」など、適切なレベルを選択しましょう。
  4. 以上の対処を実行した後、エラーが解消されたかどうかを確認します。

解決策3:ユーザー名の追加

「httpd.conf」内で、「User」や「Group」といったプレースホルダーの代わりに、ご自身の正確なユーザー名を入力していることを確認してください。この方法でエラーが解消されるケースもあります。

Apache設定後に「Forbidden – このサーバーへのアクセス権限がありません」と表示される場合の原因と解決方法

補足:設定ファイルを編集した後は、変更を反映させるために必ずApacheの再起動(sudo systemctl restart apache2 または sudo apachectl restart など)を実行してください。再起動を忘れると、修正内容が有効にならずエラーが継続して表示されます。

  1. 【解決済み】「このフォルダーへのアクセス許可が現在ありません」エラーの直し方

    PC上のフォルダーやファイルにアクセスしようとした際、「このフォルダーへのアクセス許可が現在ありません」というエラーメッセージが表示されることがあります。本記事では、この問題の原因と具体的な解決方法をわかりやすく解説します。 エラーが発生する主な原因 「このファイル/フォルダーへのアクセス許可が現在ありません」というエラーは、主に以下のようなケースで発生します。 以前、ネットワーク上で別の権限設定により共有されていたディスクやフォルダーにアクセスする場合 HP製ノートパソコンに搭載された「HP Client Security Manager」が、接続した外付けUSBストレージデバイスへのア

  2. 【Windows 7】「このコンピュータをシャットダウンする権限がありません」エラーの直し方

    Microsoftは現在、Windows 7の不具合を調査中です。このバグの影響で、ユーザーがパソコンをシャットダウンしようとした際にエラーが発生する事態が報告されています。根本的な原因は依然として不明ですが、Redditなどのコミュニティサイト上で、ユーザー自身による有効な解決策がすでに見つかっています。 本記事の対処法は、今月に入ってから「このコンピュータをシャットダウンする権限がありません」という警告が表示されるようになったWindows 7マシンが対象です。なお、この方法ではグループポリシーエディターを使用するため、Windows 7 Professional以上のエディションが必要と