Windows 7'de WAMP 403 Yasak mesajı


101

Windows 7 makineme WAMP 2.1 sürümünü kurdum. Tarayıcımda localhost'a göz attığımda, WAMP sunucusu sayfası görünüyor.

Ancak tarayıcımda IP adresime göz attığımda şu mesajı alıyorum

403 Yasak: Bu sunucuya erişim izniniz yok.

Baska öneri?


Apache sunucusuna erişim dışındaki adreslerden yasaktır 127.0.0.1içinde httpd.conf(Apache'nin yapılandırma dosyası)
Nasreddine

Bunu düzelttim, şimdi phpMyAdmin'imde 403 Yasaklanıyorum, bunun için herhangi bir öneriniz var mı?
Jake

ayrıca phpmyadmin.conf'localhost / phpmyadmin' takma adı için yönergeler içeren bir de var
Nasreddine

Burada pencereler 8 için iseniz bu chk stackoverflow.com/questions/13945783/...
perişan

Yanıtlar:


126

Apache sunucusuna erişim dışındaki adreslerden yasaktır 127.0.0.1içinde httpd.conf(Apache'nin yapılandırma dosyası):

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

Aynısı PHPMyAdmin erişiminiz için de geçerli, yapılandırma dosyası 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>

Bunları, aşağıdaki gibi tüm IP adreslerinden bağlantılara izin verecek şekilde ayarlayabilirsiniz:

AllowOverride All
Order allow,deny
Allow from all

7
Bu kesinlikle herhangi bir IP adresinden erişimi açacaktır, ancak bu biraz tehlikeli değil mi? '127.0.0.1'den' izin verme kuralı, yerel erişime izin vermek için yeterli olmalıdır, buradaki ana amaç buysa, 127.0.0.1 temelde ağ bağdaştırıcısına geri dönen bir döngüdür. Adres çubuğuna 'http': //127.0.0.1: {portNumber} / {klasörOrFileName} 'yazarsanız, düzgün çalışmalıdır. Bu, localhost'u kullanmakla aynı şekilde çalışmalı, ancak bazı tarayıcıların bazı nedenlerden dolayı localhost ile sorunları olduğunu buldum.
Jeremy

Bu son yorumda adres satırımı biçimlendiremedim, bu yüzden içinde fazladan bir "" "var, eğer birinin kafasını karıştırıyorsa özür dilerim.
Jeremy

Not: dosya, daha sonra birer birer geçersiz kılınan varsayılanları ayarlar, bu nedenle bu satırların tüm geçersiz kılmalardan sonra gittiğinden emin olun.
meetar

3
WAMP sistem tepsisi menüsünden (veya nasıl yaparsanız yapın) "Tüm Hizmetleri Yeniden Başlat" ı unutmayın
Plummer

12
Apache 2.4.x sürümü için httpd.conf dosyasını etiketin içinde Require localile değiştirin ve ardından Tüm hizmetleri yeniden başlatınRequire all granted<Directory "c:/wamp/www/">
Rakesh

62

Daha basit bir düzeltme buldum ...

Simge yeşil olsa da WAMP'ın "Çevrimiçi Yap" olması gerekir (simgeye sol tıklandığında menünün son öğesi).

Bundan sonra normal bir şekilde giriş yaptım.


3
Aslında, bu kabul edilmiş bir cevap olarak işaretlenmelidir. Teşekkürler ahbap.
ummahusla

Bu çözüm bir yükseltmeyi hak ediyor çünkü yapılandırma, çevrimiçi koy düğmesine gerçekten tıkladığınızda güncelleniyor: forum.wampserver.com/read.php?1,119467,119546
Pierre-Yves Guillemet

Bu benim için de düzeltti. Gerçi benim durumumda önce "Çevrimdışına koy" ardından "Çevrimiçine koy" ve yapılandırma dosyalarımda başka herhangi bir değişiklik yapmadan çalışmam gerekti! Teşekkür ederim!!
Osmar

1
Aslında, bütün bunları ilk kabul edilen cevapta yapmaya başladım. Ve yardımcı olmadı. Sonra bunu burada gördüm ve 'Bu olamaz ...' diye düşündüm, ama öyleydi ve işe yaradı.
Fusseldieb

Supercalifragilisticexpialidocious!
Vahid

25

Benim için "Yerel gerektir" seçeneğinin eklenmesi Hata 403'ün çözülmesine yardımcı oldu. Takma ad yapılandırma dosyası şuna benzer:

Alias /mytest/ "C:/mytest/" 

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

3
Bu, Apache 2.4.9'u kullanarak benim için de çalıştı. Bunu uzun zamandır arıyordum. Teşekkürler!
Jonathan Lidbeck

Options Indexes FollowSymLinks MultiViewsayrıca gereklidir
Hammad Khan

"C: / testim /" bölümünü eklemek için herhangi bir neden var mı? Herhangi bir etkisi yok gibi görünüyor ve sonunda standart olduğu gibi bir / bırakmak da işe yarıyor gibi görünüyor
Squazz

Sitenizi yerel ağınızdaki diğer cihazlarda açmak istiyorsanız, 'Yerel gerektir' yerine 'Tüm izin verilmesini zorunlu kıl'ı daha iyi kullanın
Rakesh

"Her şeyden izin ver" i eklemek benim için bunu yaptı.
Rex the Strange

10

Httpd.conf dosyasındaki izinleri değiştirmenin çözümü, WAMP sunucusuna dışarıdan erişim sağlamada sorun yoksa işe yarayacaktır.

Bunu yapmak istemezseniz, yapmanız gereken tek şey pencerelere "localhost" etki alanının 127.0.0.1'e işaret ettiğini söylemektir. Bunu, sistem dizininizdeki hosts dosyasını düzenleyerek yapabilirsiniz.

Dosya şu konuma yerleştirilir: C: \ Windows \ System32 \ drivers \ etc \ hosts

varsayılan olarak Windows 7 aşağıdakilerle birlikte gelir:

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

Localhost için eşlemenin açıklamasını kaldırmanız gerekir:

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

Not: hosts dosyasını salt okunur bir dosya olarak düzenleyemezsiniz. Düzenlemek için yönetici olmanız, dosyayı başka bir konuma kopyalamanız, düzenlemeniz ve ardından etc dizinine geri kopyalamanız gerekir.

Hosts dosyasının değiştirilmesini önermiyorum. Httpd.conf dosyasının izinlerini kullanın. ana bilgisayar dosyası yaklaşımını yalnızca sunucuya dışarıdan erişilmesini istemiyorsanız kullanın.


8

Httpd-vhosts.conf dosyasına aşağıdaki kod satırlarını eklemeyi deneyin:

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

7

Öğrendiğim başka bir şey de, ağ bağdaştırıcınız IPV6 kullanıyorsa, 127.0.0.1 olarak gösterilmeyecek ama :: 1

Sonunda yaptığım şey şu:

<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>

Aynısı PHPMyAdmin erişiminiz için de geçerlidir, yapılandırma dosyası phpmyadmin.conf'dur:

<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>

Bu cevabın gerçekten sorulan önemli şeyi ele aldığını düşünüyorum, yani IPv6 etkinleştirildiğinde localhost bir IPv6 adresine (:: 1) çözümleniyor ve bu da talep eden adresin aynı zamanda bir IPv6 adresi olacağı anlamına geliyor (ayrıca :: 1) bağlantılara izin verilen tek adres olan 127.0.0.1 ile aynı DEĞİLDİR. Ayrıca, localhost varsayılan olarak yerel DNS sunucusu üzerinden çözer (ana bilgisayarlar değil) ve bu şekilde bırakmak ve bunun yerine localhost'un 127.0.0.1'e çözülmesi için IPv6'yı devre dışı bırakmak veya yukarıdaki gibi değiştirmek / dahil etmek için bana göre daha iyi görünüyor.
hızlı refleksler

sadece "c: \ wamp \ alias \ phpmyadmin.conf dosyasına" 'den :: 1'e izin vermek "phpmyadmin 403 problemini çözdü.
ewroman

4

localhost / phpmyadmin / kullandıysanız

sadece kullan

127.0.0.1/phpmyadmin/ PHPMyAdmin için

127.0.0.1/sqlbuddy/ SQLBuddy için

veya localhost kullandıysanız: 8080 / phpmyadmin / sonra

127.0.0.1:8080/phpmyadmin/ PHPMyAdmin için

127.0.0.1:8080/sqlbuddy/ SQLBuddy için


4

Kukla öğeleri kaldırmayı unutmayın 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>

Teşekkürler! Bu onu düzeltti.
Steve

4

Apache sürümü için 2.4.x basitçe yerine Require localile Require all grantedde httpd.conf içindeki dosya <Directory "c:/wamp/www/">etiketi sonra tüm hizmetleri yeniden başlatın


1
Bu benim için hile yaptı. Garip olan şey, diğer 2 VirtualHost'un (httpd-vhosts.conf içinde) 'Yerel gerektir' veya 'Tüm verilmiş olanı gerektir' içermemesi ve yine de iyi çalışıyor olmasıdır. ¯_ (ツ) _ / ¯
kmdsax

3

Wamp 3.1.3 ve Apache 2.4 için httpd-vhosts.conf dosyamdaki 1 satırı değiştirmem gerekiyordu.

  1. Httpd-vhosts.conf dosyasını açın
  2. "Yerel gerektir" i "Tüm veriyi gerektir" olarak değiştirin
  3. Tüm hizmetleri yeniden başlatın

Daha sonra apache sunucuma diğer bilgisayarlardan ulaşabildim.

Bu videoyu belirtin: https://www.youtube.com/watch?v=Sy_f6wBGnjI


2

Bu sorunların birçok nedeni olabilir

Yaşadıklarım:
1) 127.0.0.1 localhostgiriş, ana bilgisayar dosyasında kopyalandı
2) Apachemod_rewrite etkinleştirilmedi

Nedeni ne olursa olsun, yedekleme seninwww yardımcı olacaktır klasörü sankonların yapılandırma dosyası (ve httpd yapılandırma dosyası). Ve böyle bir süreç birkaç dakika sürer.

İyi şanslar


2

Tüm Düzeltmeleri okudum ve denedim ama biri işe yaramadı. Sonunda Wamp Sunucusu Logosunun Yeşil Olduğunu Ama "ÇEVRİMİÇİ KOYMASI" gerektiğini buldum. Çok basit ve kontrol ettikten sonra hızlı bir düzeltme PHPMyAdmin.Cofgve HttPD.cofgONLINE KOYUN'a Tıklayın


1

Yukarıdaki yapılandırmaları denedim ve yalnızca bu WAMP Apache 2.4.2 yapılandırmam için çalıştı. Windows hosts dosyanızda adlandırılmış etki alanları olmayan birden çok kök site için http://locahost:8080, http://localhost:8081, http://localhost:8082ve şu yapılandırmayı kullanın :

#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'de wamp ile bu sorunla karşılaştım. Aşağıdaki kodu httpd-vhosts.conf'a eklemek sorunu benim için çözdü.

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

1

Sorunuz için teşekkürler. Şimdi wamp 3 kullanıyorum. Sorunuzun altında bunu yapmak için basit bir cevap buluyorum. Ancak bu cevap wamp 3'te biraz değişmeli. Adımlar aşağıdaki gibidir:

  1. Wamp simgesine sağ tıklayın
  2. Wamp Ayarını Seçin
  3. Menü öğesini tıklayın: çevrimiçi / çevrimdışı
  4. Sol tıklama wamp simgesi
  5. "Çevrimiçi koy" adında yeni bir öğe bulacaksınız.

Teşekkür ederim @ miltonb.
Smart Du

1

Bunu anlamam sonsuza kadar sürdü.

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

Bu dosyada, aşağıdakilere benzer birkaç örnek sanal ana bilgisayar dosyası göreceksiniz:

<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>

Bu girişleri silin ve şununla değiştirin:

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

Kesinlikle diğer ördeklerinizin arka arkaya olduğundan emin olmalısınız, ancak bu benim için işe yarayan çözümle.


0

merhaba 2 çözüm var:

  1. metin dosyasında (httpd.conf) 80 numaralı bağlantı noktasını 81 olarak değiştirin ve 127.0.0.1:81'e tıklayın

  2. ağ ayarını değiştir kontrol paneline git - ağ ve internet - ağ ve paylaşım merkezi

tıklayın -> yerel alan bağlantısı seçin -> uygun - diğerine izin ver ..... ve - diğerinde doğru kontrol edin .....


0

Ben de bu problemi yaşadım. Sorunumun yolu vhosts.conf dosyamda bir hata yapmış olmamdı. Eğer vhost kullanıyorsanız, bu kontrol etmeniz gereken başka bir şeydir


0

Httpd.conf'daki bu yapılandırma benim için iyi çalışıyor.

<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'ta olsanız bile .conf dosyanızdaki yol adlarınızda Windows'un dizin ayırıcı karakteri (ters eğik çizgi) kullanmadığınızdan emin olun. Apache bunları anlamaz, ancak yine de başlayacak ve sonra bir 403 Forbidden Message.

yanlış:

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

sağ:

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

0

Şaşırtıcı bir şekilde, DocumentRoot'taki köşeli parantezler (ve <Directory> gibi ilgili) yollar da 403 hatasına neden olabilir:

  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]" 403 ile başarısız oldu
  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master" iyi çalıştı.

(Varsa, Apache yolunun kaçtığını bulmaya zahmet etmedim, bunun yerine yolu yeniden adlandırdım. Birisi biliyorsa, yorum yapmaktan memnuniyet duyarım.)


0

Çözümüm, kodlanmış dosyalar için kodlamayı devre dışı bırakmaktı (bu dosyalar pencerelerde yeşildir). Bu dosyaları MAC bilgisayardan aldım ve varsayılan olarak şifrelenmişti.

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

Ve işte işe yarıyor.


0

Htaccess dosyasındaki karışıklığı temizlemek dışında her şeyi denedim.

Git www / dizin ve bir kopyasını .htaccess başka bir klasöre dosya. Sonra .htaccess içindeki tüm satırları temizleyin orijinal dosyasındaki . Ve bu satırı ekleyin,

RewriteEngine Açık

Ardından sunucuyu yeniden başlatın. Bu, sorunumu çözdü ve tüm yerel ana bilgisayar sitelerime erişim sağladı. Umarım seninkini de çözer.


0

Ayrıca Apache 2,4'te, httpd-vhosts.conf'u eklemeye karar vermeniz durumunda, bunu conf içindeki dizin yönergesine eklemeniz gerekebilir.

Varsayılan olarak wamp'ı C: \ içine yükleyebilirsiniz, ancak yine de web geliştirmenizi başka bir konuma dağıtmayı seçebilirsiniz.

Bunu vhosts.conf içinde yapmak için şu yönergeyi ekleyebilirsiniz:

<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

dizindeki dosyanın c:/wamp/apps/phpmyadmin3.1.3.1/adının phpMyAdmin.conf ( Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/") içindeki adla (veya sürümle) eşleştiğinden emin olun.


0

Ammps kullanıyorsanız, kök klasörünüzde olduğu zaman herhangi bir nedenle yasak olduğunu buldum, bu yüzden onu kök klasörümün üzerindeki dizine koydum ve bunu httpd.conf kullanarak bir takma ad yaptım.

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

lütfen ammp kullanıyorum ve başkaları için işe yarayıp yaramayacağından emin değilim ama denemeye değer;)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.