Autorizzazione negata: /home/.htaccess pcfg_openfile: impossibile controllare il file htaccess


13

Questo dominio funzionava questa mattina, ora ricevo un errore 403 e il messaggio sopra nel mio registro errori. Non sto usando i file .htaccess ma ne sto facendo una copia sul server, quindi potrei aver fatto un casino ma nessuna modifica a questo dominio (se non per caso!). Cos'è comunque questa cosa pcfg_openfile?

Sono stati fatti molti google ma nessuna delle soluzioni sembrava adattarsi a queste circostanze. Il server è ubuntu Hardy Heron.

Risposte:


19

probabilmente hai cambiato le autorizzazioni sulla directory (o su uno dei suoi genitori) in cui il web server sta cercando .htaccess, in modo che il web server non possa più controllare se c'è un file .htaccess.

prima correggi le autorizzazioni sulla directory (deve essere rx dal processo del server web, quindi 755 o 775, a seconda che tu voglia che la directory sia scrivibile in gruppo o meno). Si noti che è necessario assicurarsi che le autorizzazioni di ogni directory principale di cui è stato eseguito il backup nella radice del filesystem (ie /) siano rx dal server web.

e poi, se in realtà non stai usando i file .htaccess e non hai intenzione di usarli in futuro (cioè intendi mettere tutta la tua configurazione in httpd.conf / apache.conf), disabilita i file htaccess nella configurazione di apache.

c'è una piccola penalità prestazionale per verificare l'esistenza, la lettura e l'analisi dei file .htaccess nella directory corrente e in ogni directory principale di cui è stato eseguito il backup nella radice del documento. è molto piccolo ma si somma quando ci sono molte richieste.


Spot on. Un po 'di homehome è riuscito a cambiare i permessi sulla directory / home e questo ha rovinato tutto. Grazie enorme!
user19196,

2

Se non è ovvio che .htaccess non può essere letto dal server (0755 o .htacess e il resto dell'albero è nel gruppo www-data), cerca una directory radice superiore solo onwer: gruppo che fa *** * non **** avere accesso a esecuzione mondiale.

Affinché apache trovi un file, deve cercare nella struttura ad albero. Non può farlo se una directory che è root: root non ha accesso globale all'esecuzione.

L'ho inciampato alcune volte .... :-)


"Non può farlo se una directory che è root: root non ha accesso globale all'esecuzione." Questo non è sempre vero. Se stai eseguendo suPHP, PHP è in esecuzione come proprietario del file. Teoricamente, dovresti essere in grado di testare l'accesso di Apache passando all'utente proprietario del file e vedi se riesci a navigare lì.
Buttle Butkus,
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.