it-swarm.com.de

So aktivieren Sie die Verzeichnisliste im Apache-Webserver

Ich kann die Verzeichnisauflistung in meinem Apache-Webserver nicht aktivieren. Ich habe verschiedene Lösungen ausprobiert, aber nicht funktioniert. Ich habe gerade httpd 2.4.6 neu installiert und https mit ssl.conf unter /etc/httpd/conf.d/ssl.conf dir aktiviert und versucht, auf https://server.example.com/ zuzugreifen. Dies ist jedoch der Fall das Verzeichnis nicht auflisten Dies ist die Konfiguration in ssl.conf

DocumentRoot "/home/userx/Downloads/"
ServerName server.example.com:443

Nachfolgend sehen Sie, was es in ssl.conf unter dem VirtualHost-Element gibt. Dateien und die ersten Directory-Elemente waren bei der Installation bereits vorhanden. Ich habe gerade Directory für "/ home/userx/Downloads" hinzugefügt. Ich möchte den Inhalt von/home/userx/downloads durchsuchen, wenn ich auf die URL https://server.example.com/ zugreife. Was fehlt mir hier?

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
<Directory "/home/userx/Downloads">
  Options +Indexes
  AllowOverride all
</Directory>
14
Satish Burnwal

Prüfen Sie, ob Sie auf/list das Verzeichnis '/ icons /' zugreifen können. Dies ist nützlich, um das Verhalten von Directory in Apache zu testen.

zum Beispiel: Möglicherweise haben Sie in Ihrer httpd.conf-Datei standardmäßig eine config..So klicken Sie auf die URL: IP: Port/icons/und sehen Sie, ob die Icons aufgelistet werden oder nicht 'innerhalb der' var/www/icons '.

Alias /icons/ "/var/www/icons/"

<Directory "/var/www/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
</Directory>

Wenn dies funktioniert, können Sie Ihre benutzerdefinierte Verzeichniskonfiguration mit der Konfiguration überprüfen.

15
Pnkj

Ich habe das Problem durch Aktivieren des mod_autoindex von Apache gelöst. Es war standardmäßig deaktiviert.

Sudo a2enmod autoindex
5
Despirithium

Versuche dies.

<Directory "/home/userx/Downloads">
  Options +Indexes
  AllowOverride all
  Order allow,deny 
  Allow from all 
  Require all granted
</Directory>

Wenn das nicht funktioniert, haben Sie wahrscheinlich irgendwo "Indizes ablehnen", die Ihre Konfiguration überschreiben. 

3
Eddimull

Gemäß der Apache-Dokumentation hier gefunden muss die DirectoryIndex-Direktive in der Site .conf-Datei angegeben werden (normalerweise in /etc/Apache2/sites-available unter Linux).

Aus den Dokumenten zitiert, heißt es:

Wenn sich keine Datei aus der DirectoryIndex-Direktive in der .__ befindet. Verzeichnis, dann kann mod_autoindex eine Auflistung des Verzeichnisses .__ erstellen. Inhalt. Dies wird mit der Direktive Options ein- und ausgeschaltet. Zum Um beispielsweise Verzeichnislisten für ein bestimmtes Verzeichnis zu aktivieren, können Sie Kann benutzen:

<Directory /usr/local/Apache2/htdocs/listme>   
  Options +Indexes
</Directory> 

Um Verzeichnislisten zu verhindern (z. B. aus Sicherheitsgründen), Sie sollten das Indexes-Schlüsselwort aus jeder Options-Direktive in .__ entfernen. Ihre Konfigurationsdatei. Oder um sie nur für einen einzelnen zu verhindern Verzeichnis können Sie verwenden:

<Directory /usr/local/Apache2/htdocs/dontlistme>
  Options -Indexes
</Directory>
1
MikeyE

Eine Möglichkeit ist das Erstellen eines Softlinks zu dem Verzeichnis, das Sie im Verzeichnis/var/www/html/auflisten möchten.

Sudo ln -s /home/ /var/www/html/

Denken Sie an die Sicherheit.

0
vineet

Dieses Problem wurde mit der SELinux-Einstellung behoben:

chcon -R -t httpd_sys_content_t /home/*
0
Satish Burnwal

Ich musste die Begrüßungsseite explizit entfernen und Dienste neu starten, um meine Verzeichnislisten anzuzeigen.

$ Sudo rm -rf /etc/httpd/conf.d/welcome.conf
$ Sudo service httpd restart
0
harperville

Ich musste selinux deaktivieren, damit dies funktioniert. Hinweis. Das System muss neu gestartet werden, damit selinux wirksam wird.

0
rahul verma