WAMP 403 Messaggio vietato su Windows 7


101

Ho installato WAMP versione 2.1 sulla mia macchina Windows 7. Quando cerco localhost nel mio browser, la pagina del server WAMP è visibile.

Ma quando cerco il mio IP nel browser, ricevo il messaggio

403 Proibito: non hai il permesso di accedere a / su questo server.

Eventuali suggerimenti?


L'accesso al server Apache è vietato da indirizzi diversi da quelli 127.0.0.1a httpd.conf(file di configurazione di Apache)
Nasreddine

L'ho corretto, ora ricevo 403 Forbidden nel mio phpMyAdmin, qualche suggerimento per questo?
Jake

c'è anche un phpmyadmin.confche contiene le direttive per l'alias 'localhost / phpmyadmin'
Nasreddine

se sei qui per Windows 8 chk this stackoverflow.com/questions/13945783/…
shabby

Risposte:


126

L'accesso al server Apache è vietato da indirizzi diversi da quelli 127.0.0.1a httpd.conf(file di configurazione di Apache):

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

Lo stesso vale per l'accesso PHPMyAdmin, il file di configurazione è 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>

Puoi impostarli per consentire le connessioni da tutti gli indirizzi IP come segue:

AllowOverride All
Order allow,deny
Allow from all

7
Questo aprirà sicuramente l'accesso da qualsiasi indirizzo IP, ma non è un po 'pericoloso? La regola per consentire "da 127.0.0.1" dovrebbe essere sufficiente per consentire l'accesso locale, se questo è l'obiettivo principale qui, 127.0.0.1 è fondamentalmente un ciclo di ritorno alla scheda di rete. Se digiti nella barra degli indirizzi "http": //127.0.0.1: {portNumber} / {folderOrFileName} "dovrebbe funzionare correttamente. Dovrebbe funzionare come se si usasse localhost, ma ho scoperto che alcuni browser hanno problemi con localhost per qualche motivo.
Jeremy

Non sono riuscito a formattare la riga del mio indirizzo in quell'ultimo commento, quindi c'è un "'" in più in esso, ignoralo se confonde qualcuno.
Jeremy

Nota: il file imposta i valori predefiniti che vengono quindi sovrascritti uno alla volta in seguito, quindi assicurati che queste righe vadano dopo tutte le sostituzioni.
incontro

3
Non dimenticare di "Riavvia tutti i servizi" dal menu della barra delle applicazioni di WAMP (o comunque lo fai.)
Plummer

12
Per la versione 2.4.x di Apache, sostituire Require localcon Require all grantednel file httpd.conf all'interno del <Directory "c:/wamp/www/">tag, quindi riavviare tutti i servizi
Rakesh

62

Ho trovato una soluzione più semplice ...

Sebbene l'icona fosse verde, WAMP deve ancora essere "Metti in linea" (ultimo elemento del menu quando si fa clic con il pulsante sinistro del mouse).

Dopo di che ho avuto accesso normalmente.


3
In realtà, questo dovrebbe essere contrassegnato come una risposta accettata. Grazie amico.
ummahusla

Questa soluzione merita un voto positivo perché la configurazione viene aggiornata quando si fa effettivamente clic sul pulsante di messa in linea: forum.wampserver.com/read.php?1,119467,119546
Pierre-Yves Guillemet

Questo ha risolto anche me. Anche se nel mio caso ho dovuto prima "Metti offline", poi "Metti online" e ho lavorato senza altre modifiche ai miei file di configurazione! Grazie!!
Osmar

1
In realtà, ho iniziato a fare tutte queste cose nella prima risposta accettata. E non ha aiutato. Poi ho visto questo qui, e ho pensato "Non può essere questo ...", ma era quello e ha funzionato.
Fusseldieb

Supercalifragilisticexpialidocious!
Vahid

25

Per me l'inclusione di "Richiedi locale" ha aiutato a risolvere l'errore 403. Il file di configurazione alias ha questo aspetto:

Alias /mytest/ "C:/mytest/" 

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

3
Questo ha funzionato anche per me, usando Apache 2.4.9. Lo stavo cercando da molto tempo. Grazie!
Jonathan Lidbeck

Options Indexes FollowSymLinks MultiViewsè richiesto anche
Hammad Khan

Qualche motivo per aggiungere la parte "C: / mytest /"? Non sembra avere alcun effetto, e lasciare una / alla fine come è di serie sembra funzionare altrettanto bene
Squazz

Usa meglio "Richiedi tutte le autorizzazioni concesse" al posto di "Richiedi locale" se desideri aprire il tuo sito su altri dispositivi della tua rete locale
Rakesh

L'aggiunta di "Consenti a tutti" ha funzionato per me.
Rex lo Strano

10

La soluzione per modificare i permessi in httpd.conf funzionerà se sei d'accordo nel fornire l'accesso al server WAMP dall'esterno.

Se non vuoi farlo, tutto quello che devi fare è dire a Windows che il dominio "localhost" punta a 127.0.0.1. Puoi farlo modificando il file hosts nella directory di sistema.

Il file si trova in: C: \ Windows \ System32 \ drivers \ etc \ hosts

per impostazione predefinita, Windows 7 viene fornito con:

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

Devi rimuovere il commento dalla mappatura per localhost:

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

Nota: non sarai in grado di modificare il file hosts poiché è un file di sola lettura. Per modificare, devi essere l'amministratore, copiare il file in un'altra posizione, modificarlo e quindi copiarlo di nuovo nella directory ecc.

Non consiglio la modifica del file hosts. Usa i permessi del file httpd.conf. usa l'approccio del file hosts solo se non vuoi che il server acceda dall'esterno.


8

Prova ad aggiungere le seguenti righe di codice al file httpd-vhosts.conf:

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

7

Un'altra cosa che ho scoperto è che se la tua scheda di rete utilizza IPV6, non verrà visualizzato come 127.0.0.1 ma :: 1

Quello che ho finito per fare è questo:

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

Lo stesso vale per l'accesso a PHPMyAdmin, il file di configurazione è 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>

Penso che questa risposta affronti davvero la cosa importante che viene richiesta, vale a dire che quando IPv6 è abilitato, localhost si risolve in un indirizzo IPv6 (:: 1) e che a sua volta significa che anche l'indirizzo richiedente sarà un indirizzo IPv6 (anche :: 1) che NON è uguale a 127.0.0.1 che è l'unico indirizzo da cui sono consentite le connessioni. Inoltre, localhost si risolve tramite il server DNS locale per impostazione predefinita (non gli host) ed è solo più bello secondo me lasciarlo in questo modo e invece disabilitare IPv6 in modo che localhost si risolva in 127.0.0.1 o modificare / includere come sopra.
riflessi veloci

semplicemente aggiungendo "Consenti da :: 1" a "c: \ wamp \ alias \ file phpmyadmin.conf" si è risolto il problema 403 di phpmyadmin.
ewroman

4

se hai usato localhost / phpmyadmin /

usa semplicemente

127.0.0.1/phpmyadmin/ per PHPMyAdmin

127.0.0.1/sqlbuddy/ per SQLBuddy

o se hai usato localhost: 8080 / phpmyadmin / allora

127.0.0.1:8080/phpmyadmin/ per PHPMyAdmin

127.0.0.1:8080/sqlbuddy/ per SQLBuddy


4

Ricorda di rimuovere gli elementi fittizi in 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>

Grazie! Questo l'ha risolto.
Steve il

4

Per la versione 2.4.x di Apache, sostituire semplicemente Require localcon Require all grantednel file httpd.conf all'interno del <Directory "c:/wamp/www/">tag, quindi riavviare tutti i servizi


1
Questo ha funzionato per me. La cosa strana è che altri 2 VirtualHost (in httpd-vhosts.conf) non hanno "Richiedi locale" o "Richiedi tutto concesso" e funzionano ancora bene. ¯_ (ツ) _ / ¯
kmdsax

3

Per Wamp 3.1.3 e Apache 2.4 ho semplicemente dovuto cambiare 1 riga nel mio file httpd-vhosts.conf.

  1. Apri httpd-vhosts.conf
  2. Cambia "Richiedi locale" in "Richiedi tutti i concessi"
  3. Riavvia tutti i servizi

Sono stato quindi in grado di accedere al mio server Apache da altri computer.

Dai credito a questo video: https://www.youtube.com/watch?v=Sy_f6wBGnjI


2

Le cause di questi problemi potrebbero essere molte

Quello che ho sperimentato sono:
1) la 127.0.0.1 localhostvoce è stata duplicata nel file hosts
2) Apachemod_rewrite non è stato abilitato

Indipendentemente dalla causa, eseguire il backup del filewww cartella, del file di configurazione di vhost (e del file di configurazione httpd) aiuterà. E tale processo richiede alcuni minuti.

In bocca al lupo


2

Ho letto e provato tutte le correzioni ma nessuna ha funzionato. Finalmente ho scoperto che il logo del server Wamp è verde ma deve essere "MESSO ONLINE". Così semplice e una soluzione rapida dopo aver controllato il tuo PHPMyAdmin.Cofge HttPD.cofgfai clic su Metti online


1

Ho provato le configurazioni sopra e solo questo ha funzionato per la mia configurazione WAMP Apache 2.4.2. Per più siti radice senza domini denominati nel file host di Windows, utilizzare http://locahost:8080, http://localhost:8081, http://localhost:8082e questa configurazione:

#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

Ho affrontato questo problema con wamp su Windows 7. L'aggiunta del seguente codice a httpd-vhosts.conf ha risolto il problema per me.

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

1

Grazie per la tua domanda. Sto usando Wamp 3 ora. E trovo una risposta semplice per farlo sotto la tua domanda. Ma quella risposta dovrebbe cambiare leggermente su wamp 3. I passaggi sono i seguenti:

  1. Fare clic con il tasto destro sull'icona wamp
  2. Scegli Impostazioni Wamp
  3. Fare clic sulla voce di menu: online / offline
  4. Fare clic con il tasto sinistro sull'icona wamp
  5. Scoprirai che c'è un nuovo elemento chiamato "Metti online"

Grazie, @ miltonb.
Smart Du

1

Mi ci è voluta un'eternità per capirlo.

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

In questo file noterai diversi file host virtuali di esempio, che assomigliano a:

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

Elimina semplicemente queste voci e sostituiscile con:

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

Devi assolutamente assicurarti che le altre tue anatre siano in fila, ma questo per me con la soluzione che ha funzionato.


0

salve ci sono 2 soluzioni:

  1. modificare la porta 80 in 81 nel file di testo (httpd.conf) e fare clic su 127.0.0.1:81

  2. modificare le impostazioni della rete andare al pannello di controllo - rete e internet - rete e centro condivisione

fare clic su -> connessione alla rete locale selezionare -> proprietà controllare true in -allow other ..... e --- allo other .....


0

Anch'io ho avuto questo problema. La via del mio problema era che avevo fatto un errore nel mio file vhosts.conf. Se stai usando vhosts questa è un'altra cosa da controllare


0

Questa configurazione in httpd.conf funziona bene per me.

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

0

Assicurati di non utilizzare un carattere separatore di directory di Windows (barra rovesciata) nei nomi di percorso nel file .conf, anche se sei su Windows. Apache non li capisce ma si avvierà comunque e produrrà un file 403 Forbidden Message.

sbagliato:

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

giusto:

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

0

Sorprendentemente, anche le parentesi quadre nei percorsi DocumentRoot (e correlati, come <Directory>) possono causare l'errore 403:

  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]" fallito con 403, mentre
  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master" ha funzionato bene.

(Non mi sono preoccupato di capire il percorso di Apache in fuga, se presente, ho semplicemente rinominato il percorso. Se qualcuno lo sa, i commenti sono i benvenuti.)


0

La mia soluzione era disabilitare la codifica per i file codificati (questi file sono verdi in Windows). Ho ricevuto questi file dal computer MAC ed è stato crittografato per impostazione predefinita.

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

E voilà funziona.


0

Ho provato tutte le cose tranne la cancellazione del disordine nel file .htaccess.

Vai alla directory www / e fai una copia del file .htaccess in un'altra cartella. Quindi cancella tutte le righe in .htaccess originale . E aggiungi questa riga,

RewriteEngine On

Quindi riavvia il server. Questo ha risolto il mio problema e ho avuto accesso a tutti i miei siti localhost. Spero che risolva anche il tuo.


0

Anche su Apache 2,4 potrebbe essere necessario aggiungerlo alla direttiva directory in conf, nel caso si decidesse di includere httpd-vhosts.conf.

Per impostazione predefinita, puoi installare wamp in C: \ ma scegliere comunque di distribuire il tuo sviluppo web in un'altra posizione.

Per farlo all'interno di vhosts.conf puoi aggiungere questa direttiva:

<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

assicurati che il nome del file nella directory c:/wamp/apps/phpmyadmin3.1.3.1/corrisponda al nome (o versione) in phpMyAdmin.conf ( Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/")


0

Ho scoperto che se stai usando ammps, per qualche motivo è sempre proibito quando è nella tua cartella principale, quindi l'ho messo nella directory sopra la mia cartella principale e ho creato un alias httpd.conf usando questo

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

si prega di notare che sto usando ammps e non so per certo se funzionerà per altri, ma vale la pena provare;)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.