web-dev-qa-db-ja.com

WAMPはローカルネットワーク403でアクセスできません

私はこの質問が何度も聞かれたことを知っています

インターネットのほとんどの回答をフォローしましたが、同じメッセージが表示されます

403禁止します

このサーバーで/にアクセスする権限がありません。

同じPCを使用してlocalhost:1234にアクセスすると正常に動作しますが、IPアドレスを使用してアクセスすると192.168.0.188:1234

また、本当に奇妙なのは、他のPCにWAMPをインストールしようとしたことです。設定なしでそのPCにアクセスできました。

だから、マカフィーとファイアウォールが未亡人とマカフィーのポートを開き、何も変わらなかったので、ファイアウォールをオフにしても、何も変わらなかったからだと思った。

その後、理由もなく、「ポートフォワーディング」ルーターを介してポートを開いても、何も変わりません。

この403 Forbiddenメッセージをまだ取得できており、設定なしで他のPCを使用してアクセスできるので、WAMPでの設定が原因だとは思いません。

両方のPCは次のようにセットアップされます:

Windows 8 Pro

  • WAMP Wampserver: 2.4
  • Apacheバージョン: 2.4.4
  • PHPバージョン: 5.4.12
  • MySQLバージョン: 5.6.12

アクセス可能なPCはMicrosoft Security Essentialsを使用します。

アクセスできないPCは、McAfee Internet Securityを使用します。

WAMPをオフにするおよびIISを起動するを有効にしようとしましたが、Microsoftサーバーの場合(どのPCからでも完全に動作します)、WAMPはまだ動作しません

私はこれらのチュートリアルに従いました:

そして、スタックオーバーフローはここに答えます:

50
Ahmad Saleh

WAMPServer 3を使用している場合

WAMPServerバージョン<= 2.5の場合

デフォルトでは、Wampserverはできるだけ安全に構成されているため、Apacheはwampを実行しているマシンからのアクセスのみを許可するように設定されています。結局、developmentサーバーであり、notライブサーバーであることになっています。

また、アクセス権に新しいApache 2.4構文の代わりに古いApache 2.2構文を使用するWAMPServer 2.4でリリースされた小さなエラーがありました。

Apacheのセキュリティ設定を変更して、どこからでもアクセスできるようにする必要があるため、httpd.confファイルを編集します。

このセクションの変更:

#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost

宛先:

#   onlineoffline tag - don't remove
    Require local
    Require ip 192.168.0

Require localは、これらのIPの127.0.0.1 & localhost & ::1からのアクセスを許可します。

ステートメントRequire ip 192.168.0を使用すると、内部ネットワーク上の任意のIPからApacheサーバーにアクセスできます。また、あなたがしようとしているように、サーバーマシンからサーバーmechines実際のIPアドレスを使用してアクセスを許可します。

WAMPServer 3には異なる方法があります

WAMPServerのバージョン3以降では、localhostに対して事前に定義された仮想ホストがあるため、仮想ホスト定義構成ファイルでアクセス権限を変更する必要があります。

最初にhttpd.confファイルを修正してはいけません。見つけたままにしておいてください。

メニューを使用して、httpd-vhosts.confファイルを編集します。

enter image description here

次のようになります。

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

修正する

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

プロジェクトの仮想ホストを作成し、サイトのwamp\wwwフォルダーを使用しないことを願っています。その場合、ローカルホストの定義はそのままにして、仮想ホストのみに変更を加えます。

この変更を行った後、Apacheを再起動することを忘れないでください

121
RiggsFolly

Apache 2.4.9の場合

さらに、C:\ wamp\bin\Apache\apache2.4.9\conf\extraのhttpd-vhosts.confファイルを参照してください。

<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot C:/wamp/www
<Directory "C:/wamp/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require local
</Directory>
</VirtualHost>

への変更:

<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot C:/wamp/www
<Directory "C:/wamp/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require all granted
</Directory>
</VirtualHost>

「Require local」から「Require all granted」に変更すると、ローカルネットワークのエラー403が解決されました

26
Michel

here からこの回答を得ました。そしてその作品

Require local

への変更

Require all granted
Order Deny,Allow
Allow from all
17
Mayuri

RiggsFolly の答えを展開するには、または同じ問題に直面しているがApache 2.2以前を使用している人には、この形式が適切に機能するはずです。

Order Deny,Allow
Deny from all
Allow from 127.0.0.1 ::1
Allow from localhost
Allow from 192.168
Allow from 10
Satisfy Any

Apache 2.4のフォーマット変更の詳細については、公式の 2.4から2.2へのアップグレード ページはかなり明確で簡潔です。重要なポイント:

古い構成との互換性のために、新しいモジュールmod_access_compatが提供されていますが、古いアクセス制御イディオムは新しい認証メカニズムに置き換える必要があります。

つまり、世界中のシステム管理者は、Apache 2.2の設定を2.4準拠に変更することについて必ずしもパニックに陥る必要はありません。

9
JakeGould

Windows 10(64ビット)でApache 2.4.35でWAMP 3.1.4を実行している可能性のある人向け

Localhostに接続する外部デバイスに問題があり、403 Forbiddenエラーを受け取った場合は、httpd.confhttpd-vhosts.confファイルと、両方ともファイル内にある「Require local」行。

[前] httpd-vhosts.conf

<VirtualHost *:80>
 ServerName localhost
 ServerAlias localhost
 DocumentRoot "${INSTALL_DIR}/www"
 <Directory "${INSTALL_DIR}/www/">
   Options +Indexes +Includes +FollowSymLinks +MultiViews
   AllowOverride All
   Require local     <--- This is the offending line.
 </Directory>
</VirtualHost>

[後] httpd-vhosts.conf

<VirtualHost *:80>
 ServerName localhost
 ServerAlias localhost
 DocumentRoot "${INSTALL_DIR}/www"
 <Directory "${INSTALL_DIR}/www/">
   Options +Indexes +Includes +FollowSymLinks +MultiViews
   AllowOverride All
 </Directory>
</VirtualHost>

さらに、次のようにhttpd.confファイルを更新する必要があります。

[前] httpd.conf

DocumentRoot "${INSTALL_DIR}/www"
<Directory "${INSTALL_DIR}/www/">
#   onlineoffline tag - don't remove

    Require local  #<--- This is the offending line.
</Directory>

[後] httpd.conf

DocumentRoot "${INSTALL_DIR}/www"
<Directory "${INSTALL_DIR}/www/">
#   onlineoffline tag - don't remove

#   Require local
</Directory>

(画面右下のシステムトレイ-> WAMPアイコンを左クリック-> "すべてのサービスを再起動")でWAMPサーバーを再起動してください。

次に、ローカルホストでマシンのブラウザーを更新して、適切な接続が維持されていることを確認してから、以前に接続しようとしていた他の外部デバイスを更新します。

免責事項:企業環境にある場合、これはセキュリティの観点からテストされていません。全面的な変更を実装する前に、ローカル開発環境のアクセスプロトコルを十分に認識してください。

1
Jonathan LeRoux