Windows 7でのWAMP 403 Forbiddenメッセージ


101

Windows 7マシンにWAMPバージョン2.1をインストールしました。ブラウザでlocalhostを参照すると、WAMPサーバーページが表示されます。

しかし、ブラウザで自分のIPを参照すると、メッセージが表示されます

403アクセスは許可されていません:このサーバーにアクセスする権限がありません。

助言がありますか?


Apacheサーバへのアクセスが以外のアドレスから禁止されている127.0.0.1httpd.conf(Apacheの設定ファイル)
Nasreddine

私はそれを修正しました、今、私のphpMyAdminで403 Forbiddenを取得しています、そのための提案はありますか?
ジェイク

phpmyadmin.conf'localhost / phpmyadmin'エイリアスのディレクティブを含むもあります
Nasreddine

あなたは、Windows 8 CHKこのためにここにいる場合stackoverflow.com/questions/13945783/...
みすぼらしい

回答:


126

Apacheサーバーへのアクセス127.0.0.1httpd.conf(Apacheの設定ファイル)以外のアドレスから禁止されています:

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

PHPMyAdminアクセスにも同じことが言えます。設定ファイルはphpmyadmin.conf次のとおりです。

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
</Directory>

次のように、すべてのIPアドレスからの接続を許可するように設定できます。

AllowOverride All
Order allow,deny
Allow from all

7
これは確かに任意のIPアドレスからのアクセスを可能にしますが、それは少し危険ではありませんか?「127.0.0.1から」を許可するルールは、ローカルアクセスを許可するのに十分なはずです。ここでの主な目的が127.0.0.1である場合、127.0.0.1は基本的にネットワークアダプターへのループバックです。アドレスバーに「http '://127.0.0.1:{portNumber} / {folderOrFileName}」と入力すると、正常に機能するはずです。これはlocalhostを使用するのと同じように機能するはずですが、一部のブラウザーは何らかの理由でlocalhostに問題があることを発見しました。
ジェレミー

最後のコメントで住所行をフォーマットできなかったので、余分な「 '」が含まれているため、誰かを混乱させてもその申し訳ありません。
ジェレミー

注:ファイルにはデフォルトが設定されており、後で一度に1つずつオーバーライドされるため、これらの行がすべてのオーバーライドの後にあることを確認してください。
大会

3
WAMPシステムトレイメニューから「すべてのサービスを再起動」することを忘れないでください(または実行します。)
Plummer

12
Apacheバージョン2.4.xの場合、タグ内のhttpd.confファイルで置き換えRequire localてからRequire all grantedすべてのサービスを再起動します<Directory "c:/wamp/www/">
Rakesh

62

もっと簡単な修正を見つけました...

アイコンは緑色でしたが、WAMPは「オンラインにする」(アイコンを左クリックしたときのメニューの最後の項目)である必要があります。

その後、通常通りアクセスできました。


3
実際、これは受け入れられた回答としてフラグを立てる必要があります。どうもありがとう。
ummahusla

オンラインにするボタンを実際にクリックすると構成が更新されるため、このソリューションは賛成票を投じる価値があり
Pierre-Yves Guillemet

これで修正されました。私の場合、最初に「オフラインにする」、次に「オンラインにする」必要がありましたが、構成ファイルに他の変更を加えることなく機能しました!ありがとうございました!!
Osmar

1
実際、私は最初の受け入れられた答えでこれらすべてのものを作り始めました。そしてそれは助けにはならなかった。すると、これをここで見たのですが、「これなんて…」って思ったんですけど、それだけでうまくいきました。
Fusseldieb 2016

Supercalifragilisticexpialidocious!
Vahid 2016年

25

私にとって「ローカルを必要とする」を含めることは、エラー403の解決に役立ちました。エイリアス構成ファイルは次のようになります。

Alias /mytest/ "C:/mytest/" 

<Directory "C:/mytest/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
    Require local
</Directory>

3
これは、Apache 2.4.9を使用して私にとっても機能しました。ずっとこれを探していました。ありがとう!
Jonathan Lidbeck 2014年

Options Indexes FollowSymLinks MultiViewsまた、必須
Hammad Khan 2015

「C:/ mytest /」の部分を追加した理由は何ですか?それは何の効果もないようで、標準のように最後に/を残すだけでも同様に機能するようです
Squazz

ローカルネットワークの他のデバイスでサイトを開きたい場合は、「ローカルを要求」の代わりに「すべての許可を要求」を使用することをお勧めします
Rakesh

「すべてから許可」を追加することで、私はそれを行いました。
レックスザストレンジ

10

外部からWAMPサーバーへのアクセスを提供することに問題がなければ、httpd.confの権限を変更するソリューションが機能します。

そうしたくない場合は、「localhost」ドメインが127.0.0.1を指していることをウィンドウに伝えるだけです。これは、システムディレクトリのhostsファイルを編集することで実行できます。

ファイルは次の場所にあります:C:\ Windows \ System32 \ drivers \ etc \ hosts

デフォルトでは、Windows 7には次のものが付属しています。

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

localhostのマッピングのコメントを外す必要があります。

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
#   ::1         localhost

注:hostsファイルを読み取り専用ファイルとして編集することはできません。編集するには、管理者である必要があります。ファイルを他の場所にコピーし、編集してから、etcディレクトリにコピーします。

hostsファイルの変更はお勧めしません。httpd.confファイルの権限を使用します。外部からサーバーにアクセスさせたくない場合にのみ、hostsファイルを使用してください。


8

次のコード行をファイルhttpd-vhosts.confに追加してみてください。

<VirtualHost *:80>
ServerAdmin serveradmin@host.com
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>

7

私が見つけたもう1つのことは、ネットワークアダプターがIPV6を使用している場合、127.0.0.1ではなく:: 1と表示されることです。

私がやったことはこれです:

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
</Directory>

PHPMyAdminアクセスにも同じことが言えます。設定ファイルはphpmyadmin.confです。

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
        Allow from ::1
</Directory>

この回答は、質問されている重要な問題に実際に対応していると思います。つまり、IPv6が有効になっている場合、localhostはIPv6アドレス(:: 1)に解決され、要求側のアドレスもIPv6アドレスになります(::: 1)これは、接続が許可される唯一のアドレスである127.0.0.1とは異なります。また、localhostはデフォルトで(ホストではなく)ローカルDNSサーバーを介して解決します。私によると、そのままにして、IPv6を無効にしてlocalhostが127.0.0.1に解決されるようにするか、上記のように変更/追加するようにします。
fast-reflexes

「c:\ wamp \ alias \ phpmyadmin.confファイル」に「:: 1からの許可」を追加するだけで、phpmyadmin 403の問題が解決しました。
ewroman 2016

4

localhost / phpmyadmin /を使用した場合

単に使用する

127.0.0.1/phpmyadmin/(PHPMyAdminの場合)

127.0.0.1/sqlbuddy/(SQLBuddyの場合)

またはlocalhost:8080 / phpmyadmin /を使用した場合

127.0.0.1:8080/phpmyadmin/(PHPMyAdminの場合)

127.0.0.1:8080/sqlbuddy/(SQLBuddyの場合)


4

ダミー要素を削除することを忘れないでください httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

ありがとう!これはそれを修正しました。
スティーブ

4

Apacheバージョン 2.4.xの場合、タグ内のhttpd.confファイルで単に置き換えRequire localてからRequire all grantedすべてのサービスを再起動します<Directory "c:/wamp/www/">


1
これは私にとってはトリックでした。奇妙なことに、他の2つのVirtualHosts(httpd-vhosts.conf内)には「ローカルを要求」または「すべて許可を要求」がなく、正常に機能します。_(ツ)_ /¯
kmdsax

3

Wamp 3.1.3とApache 2.4の場合、httpd-vhosts.confファイルの1行を変更するだけで済みました。

  1. httpd-vhosts.confを開きます
  2. 「ローカルが必要」を「すべての許可が必要」に変更
  3. すべてのサービスを再起動します

その後、他のコンピューターから自分のApacheサーバーにアクセスできました。

この動画にクレジットを付けてくださいhttps : //www.youtube.com/watch?v=Sy_f6wBGnjI


2

この問題には多くの原因が考えられます

私が経験したことは次のとおりです
。1)127.0.0.1 localhosthostsファイルでエントリが重複しています
。2)Apache mod_rewriteが有効になっていませんでした。

原因に関係なく、フォルダー、vhost構成ファイル(およびhttpd構成ファイル)のバックアップwwwが役立ちます。そして、そのようなプロセスは数分かかります。

幸運を


2

私はすべての修正を読んで試しましたが、うまくいきませんでした。やっとWampサーバーのロゴは緑色であるが、「PUT ONLINE」である必要があることがわかりました。あなたのチェック後のシンプルでクイックフィックスPHPMyAdmin.CofgHttPD.cofgPUT ONLINEをクリックするだけ


1

私は上記の設定を試しましたが、これは私のWAMP Apache 2.4.2設定で機能しました。Windows hostsファイルに名前付きドメインのない複数のルートサイトの場合はhttp://locahost:8080, http://localhost:8081, http://localhost:8082、次の構成を使用します。

#ServerName localhost:80
ServerName localhost

Listen 8080
Listen 8081
Listen 8082
#..... 
<VirtualHost *:8080>
    DocumentRoot "c:\www"
    ServerName localhost
    <Directory "c:/www/">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
<VirtualHost *:8081>
    DocumentRoot "C:\www\directory abc\svn_abc\trunk\httpdocs"
    ServerName localhost
    <Directory "C:\www\directory abc\svn_abc\trunk\httpdocs">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
#<VirtualHost *:8082></VirtualHost>.......

1

Windows 7のwampでこの問題に直面しました。httpd-vhosts.confに次のコードを追加すると、問題が解決しました。

<VirtualHost *:80>
  DocumentRoot "F:/wamp_server/www/"
  ServerName localhost
</VirtualHost>

1

ご質問ありがとうございます。今はwamp 3を使っています。そして、私はあなたの質問の下でこれを行うための簡単な答えを見つけます。しかし、その答えはワンプ3で少し変わるはずです。手順は次のとおりです。

  1. ワンプアイコンを右クリック
  2. ワンプ設定を選択
  3. メニュー項目をクリックします。オンライン/オフライン
  4. ワンプアイコンを左クリック
  5. 「Put online」という新しいアイテムがあります。

ありがとう、@ miltonb。
Smart Du

1

これを理解するのに永遠にかかりました。

C:\ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-vhosts.conf

このファイルには、次のような仮想ホストファイルの例がいくつかあります。

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

これらのエントリを削除して、次のものに置き換えます。

<VirtualHost *:80>
    ServerAdmin serveradmin@host.com
    DocumentRoot "C:\wamp\www"
    ServerName localhost
</VirtualHost>

あなたは間違いなく他のアヒルが並んでいることを確認する必要がありますが、これは私にとってはうまくいった解決策です。


0

こんにちは2つの解決策があります:

  1. テキストファイル(httpd.conf)のポート80を81に変更し、127.0.0.1:81をクリックします。

  2. ネットワークの設定を変更するコントロールパネルに移動します-ネットワークとインターネット-ネットワークと共有センター

クリック->ローカルエリア接続の選択->プロパティは、-allow other .....および--- allo other .....でtrueをチェックします。


0

私もこの問題を抱えていました。私の問題のルートは、vhosts.confファイルに誤りを犯したことでした。vhostsを使用している場合は、これを確認する必要があります


0

httpd.confのこの構成は、私には問題なく機能します。

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 ::1
</Directory>

0

Windowsを使用している場合でも、.confファイルのパス名にWindowsのディレクトリ区切り文字(バックスラッシュ)を使用していないことを確認してください。Apacheはそれらを理解しませんが、それでも起動してを出力し403 Forbidden Messageます。

違う:

<Directory "c:\websites\my-website\">

正しい:

<Directory "c:/websites/my-website/">

0

驚いたことに、DocumentRoot(および関連する<Directory>)パスの角括弧もエラー403を引き起こす可能性があります。

  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]" 403で失敗しましたが、
  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master" うまくいきました。

(Apacheパスがエスケープしていると考えても、わざわざパスの名前を変更しただけです。誰かが知っている場合は、コメントを歓迎します。)


0

私の解決策は、エンコードされたファイルのエンコードを無効にすることでした(これらのファイルはWindowsでは緑色です)。IveはこれらのファイルをMACコンピューターから取得し、デフォルトで暗号化されていました。

Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...

そして出来上がり。


0

.htaccessファイルの混乱を解消することを除いて、すべてのものを試しました。

www /ディレクトリに移動し、.htaccessファイルのコピーを別のフォルダーに作成します。次に、.htaccessのすべての行をクリアします元のファイルのます。そしてこの行を追加し、

RewriteEngine On

次に、サーバーを再起動します。これで私の問題は解決し、すべてのローカルホストサイトにアクセスできるようになりました。それもあなたを解決することを願っています。


0

また、Apache 2,4では、httpd-vhosts.confを含めることにした場合、confのディレクトリディレクティブにこれを追加する必要がある場合があります。

デフォルトでは、wampをC:\にインストールできますが、Web開発を別の場所にデプロイすることもできます。

vhosts.conf内でこれを行うには、次のディレクティブを追加できます。

<Directory "e:/websites">
    Options Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    AllowOverride All
  <IfDefine APACHE24>
    Require local
  </IfDefine>
  <IfDefine !APACHE24>
    Order Deny,Allow
    Allow from all
    Allow from localhost ::1 127.0.0.1
  </IfDefine>
</Directory>

0

ディレクトリ内のファイルの名前がc:/wamp/apps/phpmyadmin3.1.3.1/phpMyAdmin.conf(Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/")の名前(またはバージョン)と一致していることを確認してください


0

私はあなたが何らかの理由でそれがあなたのルートフォルダにあるときそれが常に禁止されているammpsを使用しているので、私はそれを私のルートフォルダの上のディレクトリに置き、httpd.conf これを使用してエイリアスを作成しました

Alias /phpmyadmin "C:/Program Files (x86)/Ampps/phpMyAdmin"

私はammpsを使用していて、他の人でも機能するかどうかはわかりませんが、試してみる価値があります;)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.