it-swarm.com.de

So zeigen Sie den Verzeichnisindex in Apache 2.4 mit benutzerdefiniertem Dokumentstamm an

ich habe ein Problem in Apache 2.4 in Ubuntu 13.10 ... Ich versuche, Document Root in /home/fandi/public_html zu ändern. Und alles funktioniert gut. Aber ich versuche, einen Ordner in meiner public_html zu erstellen/ich bekomme eine Fehlermeldung wie diese:

[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

Ich muss die Datei index.html, index.php und eine andere index.xxx-Datei erstellen.

In der Standardeinstellung muss Directory Index ..__ angezeigt werden. Wie kann der Directory Index aktiviert werden?

Dies ist meine Datei 000-default.conf:

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

18
fanjavaid

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

DirectoryIndex disabled
Options Indexes

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

Hier sind die entsprechenden Fehlerprotokollzeilen (für Suchzwecke):

[authz_core:error] client denied by server configuration:
[proxy_fcgi:error] Got error 'Primary script unknown\n'
8
mad
Options All <--turn on all options
Options Indexes FollowSymLinks   <--- replace previously set options with these two

Die zweite Zeile ist redundant, da Sie bereits alle Optionen mit der ersten Zeile aktiviert haben und da den beiden Optionen nicht + vorangestellt ist, ERSETZEN Sie tatsächlich die gesamte mit All aktivierte Optionsliste mit diesen beiden Optionen .

6
Marc B

Ich habe es geschafft, es zum Laufen zu bringen

Grundsätzlich scheint Apache2.4 die Einstellungen von DocumentRoot nicht auf Ihre virtuellen Hosts zu übertragen, es sei denn, die virtuellen Hosts sind Unterordner von DocumentRoot, wie dies in früheren Versionen der Fall war. Welche Art von Sinn macht Sinn, aber die Änderung sollte dokumentiert werden und war es nicht.

Was ich damit meine, ist, dass Sie in Ihrer httpd.conf (dies ist eine OS X-Datei) haben:

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

Und dann in Ihrer 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 hat alle Einstellungen übernommen - nicht mehr, wenn es sich nicht um einen Unterordner handelt. Was Sie also tun müssen, ist das Kopieren und Einfügen der Einstellungen in die VH (oder Sie können wahrscheinlich einen anderen <directory erstellen, wenn sich viele VHs an derselben Stelle befinden).

<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 sind die + Indizes, die die Magie bewirken.

5
gotofritz

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

Bei einer Neuinstallation wird das Problem höchstwahrscheinlich durch welcome.conf verursacht, durch die Optionsindizes an jedem Speicherort deaktiviert werden:

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

Diese Datei wird bei jedem Apache-Upgrade wiederhergestellt. Sie sollten dann die vorherigen Zeilen kommentieren oder löschen.

5
balucio

Im Protokoll können Sie einen Fehler finden

[So Dez 03 17: 38: 17.649269 2017] [Autoindex: Fehler] [PID 4806] [Client :: 1: 57323] AH01276: Verzeichnis/etc/httpd/conf/htdocs/kann nicht bereitgestellt werden: Kein übereinstimmender DirectoryIndex () gefunden. und vom Server generierter Verzeichnisindex, der von der Options-Direktive verboten wird

etwas reparieren:-

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

unterhalb der vorhandenen Konfiguration: -

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

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

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

Fügen Sie diese Zeile zu Ihrer vhost.conf-Datei für die Site hinzu

DirectoryIndex default.html

Und du bist fertig 

0
error2007s

für zukünftige Menschen, wenn Sie alle oben genannten Punkte befolgen und immer noch Probleme auftreten, versuchen Sie Folgendes:

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">
0
hellowd