2013-08-06 20 views
10

Ho eseguito Vagrant con successo per circa una settimana. La scorsa notte mi sono imbattuto in vagabondo ricarica e ora non riesco più ad accedere ai miei siti.Vagrant 403 Proibito

miei file vivono a/vaganti/siti . In un primo momento la mia "pagina di benvenuto" che vive a/vagabondo/Siti Resi ad

http://localhost:4567/ 

Tutti i miei progetti sono cartelle in Siti. Ad esempio,/vagrant/Sites/test non renderizza index.html. Ottengo il seguente

Proibita

Non hai il permesso di accesso/su questo server. Apache/2.4.6 (Ubuntu) Server at localhost Port 4567

Il vhost assomiglia:

<VirtualHost *:80> 
    DocumentRoot "/vagrant/Sites/test" 
    ServerName test 
    <Directory "/vagrant/Sites/test"> 
    AllowOverride All 
    </Directory> 
</VirtualHost> 

I vhosts sono di proprietà di root. I miei file di progetto sono di proprietà di vagabondo e chmod'ed 0777.

Dopo un successo, ho fatto un distruttore vagabondo completo seguito da vagabondo e poi la pagina di benvenuto dell'host di localhost ha smesso di rendering anche con l'errore proibito.

risposta

7

La mia impressione è che questo non sia un problema vagabondo, ma solo un problema di configurazione di Apache. Ci sono alcune cose che posso pensare di controllare.

In primo luogo, ovviamente, è per confermare che l'utente in cui apache è in esecuzione ha autorizzazioni di lettura ed esecuzione per la cartella DocumentRoot.

Poiché hai menzionato Apache 2.4, there have been changes in the configs from 2.2. Assicurati che le tue dichiarazioni Allow from all ora leggano Require all granted. (Se si è ancora in 2.2, è necessario assicurarsi che abbiano detto Allow from all anziché Deny from all.) In entrambi i casi, è possibile impostarlo singolarmente su ogni <VirtualHost> oppure impostare un valore predefinito nel blocco <Directory /> del file principale httpd.conf.

Sempre più oscuro, è possibile controllare per selinux, anche se sono abbastanza sicuro che questo non è presente in Ubuntu per impostazione predefinita. (È in CentOS, per esempio.)

+0

Grazie, "Richiedi tutto concesso" ha ottenuto la mia parte del modo lì. Il contenuto nella mia root dove vengono visualizzati i punti localhost, tuttavia non riesco ad accedere al contenuto nella cartella di test in 'http: // test: 4567 /', ma posso raggiungerlo a 'http: // localhost: 4567/test "che non è così desiderabile. – Kris

+0

Solo per coprire le basi, hai verificato di avere '127.0.0.1 test' nel tuo file'/etc/hosts'? –

+0

Grazie per il controllo, sì ce l'ho nel mio file host Mac. Il mio setup come descritto ha funzionato perfettamente con la versione precedente di Apache, ma è crollato dopo l'aggiornamento. – Kris

2

Questo è risolto e alla fine è venuto giù per alcune cose molto semplici.

  • Usa "richiedono che tutte le ha concesso" al posto di "Consenti da tutti"
  • Mettere contenuti ogni siti web allo stesso livello e cioè /vagrant/Sites/default, /vagrant/Sites/test, /vagrant/Sites/real-site
  • Aggiungi .conf estensione a VHost nomi come prova .conf e real-site.conf
  • Aggiungi AllowOverride All a vhost per rispettare i siti '.htaccess file (ho capito che era nel mio post originale, si è perso come ho provato a risolvere questo)

Tutte le cose basilari che mi sono sfuggito per una parte migliore di una settimana. Spero che questo possa aiutare qualcun altro.

0
cd /etc/apache2/sites-available 
for file in `ls *`; do sed 's/\(.*<\/Directory.*>\)/Require\ all\ granted\n\1/' $file > $file.new;mv $file.new $file ; done; 

perché ha funzionato prima, non vorrei perdere tempo su file di correzione dal file di

2

Ho avuto lo stesso problema quando si cambia la DocumentRoot.

Dal momento che hai cambiato DocumentRoot-"/ qualsiasi/percorso/foo/bar", assicurarsi di avere i permessi impostati su "apache2.conf" per questo percorso.

Cerca:

<Directory /any/path/foo/bar> 

in apache2.conf

e aggiungere un nuovo blocco come questo:

<Directory /any/path/foo/bar> 
     Options Indexes FollowSymLinks 
     AllowOverride All 
     Require all granted 
</Directory> 

E la mia ipotesi è che tutto sta andando bene!

Problemi correlati