2014-01-25 2 views
16

Ich habe ein Problem in Apache 2.4 in Ubuntu 13.10. Ich versuche, Document Root nach/home/fandi/public_html zu ändern Und alles funktioniert gut. Aber ich versuche, Ordner in meinem public_html erstellen/i erhalten einen Fehler wie folgt aus:So zeigen Sie Verzeichnis-Index in Apache 2.4 mit benutzerdefinierten Document Root

[Sat Jan 25 10:59:50.149441 2014] [autoindex:error] [pid 1093] [client 127.0.0.1:39901] AH01276: Cannot serve directory /home/fandi/public_html/report_php/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive 

I index.html-Datei erstellen müssen, index.php und andere index.xxx Datei.

Standardmäßig muss der Verzeichnisindex angezeigt werden. Wie kann der Verzeichnisindex aktiviert werden? 000-default.conf

Dies ist meine Datei:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /home/fandi/public_html 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

    <Directory "/home/fandi/public_html"> 
     Options All 
     AllowOverride All 
     Require all granted 
     Options Indexes FollowSymLinks 
    </Directory> 

</VirtualHost> 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet 

Bitte helfen, danke vor ^^

+0

nicht sicher, warum diese php oder ubuntu markiert wurde - es ist eine reine Frage Apache – gotofritz

Antwort

6
Options All <--turn on all options 
Options Indexes FollowSymLinks <--- replace previously set options with these two 

Die zweite Zeile überflüssig ist, weil Sie bereits über alle Optionen mit dem ersten aktiviert haben Zeile, und da die beiden Optionen + nicht vorangestellt sind, ersetzten sie tatsächlich die gesamte Optionsliste aktiviert mit All mit nur diesen beiden einzelnen Optionen.

+1

Also, wie soll ich bearbeiten? Zuvor verwende ich nur 'Options All', und jetzt versuche ich nur' Options Indexes FollowSymLinks' zu verwenden, aber es hat nicht funktioniert. : \ – fanjavaid

+0

Hat nicht für mich gearbeitet. Apache 2.4 ist plötzlich ein Problem und ich arbeite seit über 10 Jahren mit Apache. Das Problem ist, wenn Sie versuchen, google es, erhalten Sie Antworten aus den letzten 10 Jahren für 2.2, die alle falsch sind. – laapsaap

8

Es stellt sich heraus, dass Sie DirectoryIndex in Apache 2.4 deaktivieren müssen, um Auto-Indizes zu erhalten.

DirectoryIndex disabled 
Options Indexes 

Wenn DirectoryIndex- nicht deaktiviert, Auto-Index nicht funktioniert und Apache sendet entweder eine 403 Forbidden oder eine 404-Datei nicht gefunden, wenn Sie fastcgi/php-fpm verwenden.

Hier sind die entsprechenden Fehlerprotokoll Leitungen (für Suchzwecke):

[authz_core:error] client denied by server configuration: 
[proxy_fcgi:error] Got error 'Primary script unknown\n' 
+0

Hätte gedacht, dass der Fehler,/usr/share/apache2/icons/zu bedienen, irgendwo von einer automatisierten Test-Suite aufgegriffen wurde. alias.conf aktiviert .../icons/standardmäßig aber hatte [autoindex: error] ... AH01276: Kann Verzeichnis nicht bedienen/usr/share/apache2/icons/Danke! – rjt

+0

Das war das Problem für mich. Sie müssen zuerst DirectoryIndex deaktivieren – Brady

+3

Das hat nichts für mich getan. – gotofritz

5

ich es geschafft,

Grundsätzlich zu arbeiten scheint es, dass Apache2.4 nicht über die Einstellungen nicht tragen von DocumentRoot zu Ihren virtuellen Hosts, es sei denn, die virtuellen Hosts sind wie frühere Versionen Unterordner von DocumentRoot. Welche Art von sinnvoll ist, aber die Änderung sollte dokumentiert werden und es war nicht.

Was ich meine ist, in httpd.conf musst du (dies ist ein OS X ein):

DocumentRoot "/Library/WebServer/Documents" 
<Directory "/Library/WebServer/Documents"> 
    Options +Indexes +FollowSymLinks 
    # etc 
</Directory> 

Und dann in Ihrem extra/httpd-vhosts.conf

<VirtualHost *:80> 
    DocumentRoot "/pth/to/somewhere/completely/different" 
    ServerName my-virtual-host.dev 
    ErrorLog "/private/var/log/apache2/my-virtual-host.dev-error_log" 
    CustomLog "/private/var/log/apache2/my-virtual-host.dev-access_log" common 
</VirtualHost> 

Der VH erbte alle Einstellungen - nicht mehr, wenn es kein Unterordner ist. Also, was Sie tun müssen, ist Kopieren und Einfügen die Einstellungen in der VH (oder Sie können sich wahrscheinlich eine andere <directory erstellen, wenn Sie eine Menge von VHS an der gleichen Stelle haben)

<VirtualHost *:80> 
    DocumentRoot "/pth/to/somewhere/completely/different" 
    ServerName my-virtual-host.dev 
    ErrorLog "/private/var/log/apache2/my-virtual-host.dev-error_log" 
    CustomLog "/private/var/log/apache2/my-virtual-host.dev-access_log" common 
    <Directory "/pth/to/somewhere/completely/different"> 
     Options +Indexes 
    </Directory> 
</VirtualHost> 

Es ist die + Indizes, die die Magie tut .

+1

In Debian 8.0 Jessies Apache (2.4) ist es notwendig, 'DocumentRoot/var/www' explizit zu Ihrer'/etc/apache2/apache2.conf' hinzuzufügen, wenn Sie mehrere virtuelle Hosts mit ihren eigenen Dokumenten-Roots versorgen. – TranslucentCloud

0

In dieser Zeile vhost.conf Datei für den Standort

DirectoryIndex- Standard.html

und Sie sind alle gesetzt

0

für zukünftige Menschen, wenn Sie alle oben und Problem immer noch auftreten folgen, versuchen Sie dies:

httpd.conf(make sure belows are open): 
LoadModule alias_module modules/mod_alias.so 
LoadModule authz_core_module modules/mod_authz_core.so 
LoadModule authz_host_module modules/mod_authz_host.so 
LoadModule autoindex_module modules/mod_autoindex.so 
Include conf/extra/httpd-autoindex.conf 

extra/httpd-autoindex.conf:

<Directory "change to your directory"> 
4

Ich hatte das gleiche Problem mit Centos 7.2 und Apache 2.4.

In Neuinstallation das Problem der meisten wird wahrscheinlich durch welcome.conf verursacht, die Option Indizes in jeder Lage zu deaktivieren:

<LocationMatch "^/+$"> Options -Indexes ErrorDocument 403 /.noindex.html </LocationMatch>

Diese Datei auf jedes Upgrade Apache gestellt wird, dann sollten Sie vorherige Zeilen kommentieren oder löschen .

1

Im Protokoll einen Fehler [03 17 So Dez: 38: 17,649269 2017]

findet [Autoindex: Fehler] [pid 4806] [client :: 1: 57.323] AH01276: dienen Kann Verzeichnis/etc/httpd/conf/htdocs /: keine passende DirectoryIndex-() gefunden, und servergenerierten durch Options-Direktive

es zu beheben verboten Verzeichnis Index: -

dann müssen Sie entfernen Sie die Zeile in/etc/httpd /conf.d/welcome.conf

unter der bestehenden Konfiguration: - <LocationMatch "^/+$"> Options -Indexes ErrorDocument 403 /.noindex.html </LocationMatch>

mit der folgenden Konfiguration gelöst,: - auskommentierte eine Zeile.

<LocationMatch "^/+$"> #Options -Indexes ErrorDocument 403 /.noindex.html </LocationMatch>

Verwandte Themen