# ISPConfig 3 Verzeichnisinhalt anzeigen lassen



## WilliTheSmith (6. Apr. 2010)

Hallo,
ich habe einen Benutzer + Domain angelegt, der nur für Dateidownloads da ist. Ich lade die immer pre FTP hoch und über http runter. Dazu würde ich mir gerne immer den gesammten Verzeichnisinhalt auflisten lassen, bekomme das leider aber nicht hin 

Habe eine .htaccess erstellt mit dem Inhalt "Options +Indexes"
Habe die auf den Server geladen, was auch ein kleiner Akt war, da ich erst einmal eine 0kb große .htaccess über ssh löschen musste...

Auf jeden Fall funktioniert es nicht wie gewollte und es kommt immer ein 403 Forbidden - Fehler...

Kann mir da jemand weiter helfen?
Danke!


----------



## Till (7. Apr. 2010)

Hast Du die index.html Datei gelöscht, die standardmäßig im Verzeichnis liegt?


----------



## WilliTheSmith (7. Apr. 2010)

Ich habe den Ordner komplett geleert... Auf jeden Fall funktioniert der Dateidownload, wenn ich den Pfad und Dateinamen mit andebe, aber Leute die sich nicht auskennen wollen klicken ,stöbern, klicken und herunterladen


----------



## Till (8. Apr. 2010)

Füge mal Folgendes in das apache Direktiven Feld der Wevseite ain (auf dem Optionen tab)

<Directory /pfad/> 
Options Indexes FollowSymLinks 
</Directory> 

wobei Du /pfad/ mit dem Pfad des vhosts ersetzen musst. Den Pfad kannst Du am einfachsten in der vhost Konfigurationsdatei nachsehen, die liegt normalerweise unter /etc/apache2/sites-enabled/ oder einem ähnlichen Pfad.


----------



## WilliTheSmith (30. Apr. 2010)

Hi, sorry für die späte Antwort, habe es wegen Renovierung/Umzug nicht eher geschafft...

Also es klappt immernoch nicht  Habe das "Options +Indexes" bereits in die /etc/apache2/sites-enabled/***.********.net.vhost fest eingeschrieben, aber das hilft auch nicht.

Über ispconfig, so wie du es gesagt hast, habe ich den Pafd /var/www/***.********.net/web eingesetzt. Ging auch nicht.

Ich stehe echt auf dem Schlauch... Ich wäre für weitere Tipps sehr dankbar!


----------



## Till (30. Apr. 2010)

Welche Linuxdistribution und wleche ISPConfig Version verwendest Du denn.

Ich habe das jetzt mal unter Debian 5.0 mit ISPConfig 3.0.2.1 getestet:

1) Neue Webseite angelegt.
2) in der webseite ein Verzeichnis "test" angelegt.
3) Versucht domain.tld/test/ aufzurufen und es kam wie erwartet "forbidden".
4) Jetzt hab ich im Verzechnis test eine Datei mit dem Namen ".htaccess" angelegt und darin die folgende Zeile:

Options +Indexes

5) jetzt hab ich nochmal domain.tld/test/ im Browser aufgerufen und es wurde das Directory Listing angezeigt.


----------



## WilliTheSmith (30. Apr. 2010)

Selbiges wie du.

Ich verstehe es auch nicht, warum es bei mir nicht funktioniert  Ich werde jetzt auch nochmal nen neuen Benutzer anlegen und es testen...

//edit: Funktioniert nicht...


----------



## WilliTheSmith (30. Apr. 2010)

So, jetzt habe ich ca. 3h rum probiert, ohne erfolg 

Habe jetzt in der apache2.conf folgendes in den htaccess-Bereich geschrieben:


```
<Directory /var/www/clients/*/*/web>
    Options +Includes -Indexes
    AllowOverride none
    ## entweder mit all alle Direktivgruppen erlauben oder die Gruppen einzeln angeben
    ##AllowOverride All
    AllowOverride Indexes AuthConfig Limit FileInfo Options
    Order allow,deny
    Allow from all
    <Files ~ "^\.ht">
    Deny from all
    </Files>
</Directory>
```
Das ist doch richtig? Jetzt könnte ich die htaccess-Datei nutzen, ohne die Apache-Direktiven in ISPConfig? Geht nicht  Und andersrum ebensowenig...


----------



## Till (30. Apr. 2010)

Die AllowOverride Optionen für ein Web findest Du auf der Optionen Reiterkarte des Webs. Globale Einträge haben keine Auswirkungen auf die Webs und sind auch nicht notwendig.

Schau also mal unter Optionen nach und stell dort 'All' ein, wie es Standard in ISPConfig ist.


----------



## WilliTheSmith (30. Apr. 2010)

Ist es ja 

Hier ein kleines Bild von diesen Einstellungen:







Habe die apache2.conf wieder auf ausgangszustand zurück gesetzt.


----------



## Till (1. Mai 2010)

Das mit den Wildcards ist nicht gut, da es auch nicht angewendet werden wird da es ja spezifischere Einstellungen für das web gibt.

Mach bitte mal das Apache Directiven Feld leer und erstelle die .htaccess datei stattdessen.


----------



## WilliTheSmith (1. Mai 2010)

Also so wie ich es beim ersten mal versucht habe.

FileZilla gibt beim umbenennen von htaccess.txt ind .htaccess volgendes aus:

```
Status:    Anzeigen des Verzeichnisinhalts abgeschlossen
Status:    '/web/htaccess.txt' wird in '/web/.htaccess' umbenannt
Befehl:    RNFR htaccess.txt
Antwort:    350 RNFR accepted - file exists, ready for destination
Befehl:    RNTO .htaccess
Antwort:    550 RENAME Failed - destination file already exists
```
Wird also nicht umbenannt... Wenn ich das dann über ssh mache geht es immernoch nicht 

PS: Bei anderen Kunden/Benutzern geht das umbenennen und überschreiben der alten htaccess-Datei Problemlos 

//edit:
Datei hatte folgenden Inhalt: Options +Indexes
Fehlercode 403

Und der Verzeichnisschutz über die htaccess funktioniert ohne Probleme... Kann es daran liegen das die Option +Indexes nicht erlaubt wird von ISPconfig?


----------



## Till (2. Mai 2010)

> PS: Bei anderen Kunden/Benutzern geht das umbenennen und überschreiben  der alten htaccess-Datei Problemlos


Lösche sie bitte mal auf der Shell.



> Und der Verzeichnisschutz über die htaccess funktioniert ohne  Probleme... Kann es daran liegen das die Option +Indexes nicht erlaubt  wird von ISPconfig?


An sich sollte das nicht vorkommen wenn bei allowOverride "all" drin steht. Poste bitte mal die vhost Datei dieser Webseite.


----------



## WilliTheSmith (2. Mai 2010)

Nach dem löschen der htaccess konnte ich eine neue problemlos über FTP aufspielen, jedoch ist das überschreiben wieder nicht möglich gewesen 


temp.***.net.vhost(Pfad: /etc/apache2/sites-enabled) :

```
<Directory /var/www/temp.***.net>
    AllowOverride None
    Order Deny,Allow
    Deny from all
</Directory>

<VirtualHost *:80>
      DocumentRoot /var/www/temp.***.net/web
  
    ServerName temp.***.net
    ServerAdmin webmaster@temp.***.net

    ErrorLog /var/log/ispconfig/httpd/temp.***.net/error.log

    ErrorDocument 400 /error/400.html
    ErrorDocument 401 /error/401.html
    ErrorDocument 403 /error/403.html
    ErrorDocument 404 /error/404.html
    ErrorDocument 405 /error/405.html
    ErrorDocument 500 /error/500.html
    ErrorDocument 503 /error/503.html
    
    <Directory /var/www/temp.***.net/web>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        <Files ~ '.php[s3-6]{0,1}$'>
            Order allow,deny
            Deny from all
            Allow from none
        </Files>
    </Directory>
    <Directory /var/www/clients/client2/web1/web>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        <Files ~ '.php[s3-6]{0,1}$'>
            Order allow,deny
            Deny from all
            Allow from none
        </Files>
    </Directory>

    # cgi enabled
    <Directory /var/www/clients/client2/web1/cgi-bin>
      Order allow,deny
      Allow from all
    </Directory>
    ScriptAlias  /cgi-bin/ /var/www/clients/client2/web1/cgi-bin/
    AddHandler cgi-script .cgi
    AddHandler cgi-script .pl

    # add support for apache mpm_itk
    <IfModule mpm_itk_module>
      AssignUserId web1 client2
    </IfModule>

<Directory /var/www/clients/client2/web1/web>
    Options +Includes +Indexes
    AllowOverride None
    AllowOverride Indexes AuthConfig Limit FileInfo
    Order allow,deny
    Allow from all
    <Files ~ "^\.ht">
    Deny from all
    </Files>
</Directory>
</VirtualHost>
```
PS: Domain zensiert, um angriffen vorzubeugen.


----------



## Till (3. Mai 2010)

Hi,

wo kommt das hier denn her?

<Directory /var/www/clients/client2/web1/web>
    Options +Includes +Indexes
    AllowOverride None
    AllowOverride Indexes AuthConfig Limit FileInfo
    Order allow,deny
    Allow from all
    <Files ~ "^\.ht">
    Deny from all
    </Files>
</Directory>

das stammt soweit ich sehen kann nicht aus dem vhost template von ISPConfig. Hast Du das manuell in das apache Direktiven Feld eingefügt? Wenn ja, dann lösche das bitte mal raus.


----------



## WilliTheSmith (3. Mai 2010)

Hm... Ich glaube nicht das ich das da eingefügt hatte... Aufjedenfall nach reboot keine änderung


----------



## Till (3. Mai 2010)

Hast Du es in ISPCOnfig aus dem apache Direktiven Feld entfernt? Wenn ja, ist es danach automatisch aus dem vhost template entfernt worden? Wenn nein, ist die jobqueue leer?


----------



## WilliTheSmith (3. Mai 2010)

Ja, wurde automatisch entfernt. Und die Jobliste ist auch leer... Ich glaube, wenn ich den Fehler nicht bald finde, werde ich den Server einfach neu aufsetzen... In dieser Zeit hätte ich das schon 5mal neu gemacht


----------



## Till (3. Mai 2010)

So langsam gehen mir auch die Ideen aus


----------



## batman (9. Mai 2010)

Hi, ich schalte mich auch einmal ein und kann von dem gleichen Problem berichten (bzw. falsch konfiguraiton?).

Ich verwende den aktuellen Trunk von ISPConfig 3 und konnte wen ich ein neue Website anlege und auch ind er Config davon in ISPCOnfig "Options + Indexes" setze oder dieses auch als .htaccess File in den Ordner bzw. Unterordner mit und ohne Dateien legen, das Directory Listing klappt bei mi reinfach nicht.

Ich kann mich erinnern, dass es bei mir mit einer älteren ISPConfig geklappt hat wenn ich zusätzlich PHP eingeschaltet hatte, also very strange.

Wie kann man bitte eine manuelle Config-Datei für ein Web aktivieren die nicht von ISPConfig verwendet/überschrieben wird damit man es vl. manuell probiert?

Danke.

Gruss,
batman


----------



## Till (9. Mai 2010)

ISPConfig 3 überschreibt keine manuell erstellten vhosts, es ändert nur vhosts Datein die von ISPConfig erstellt wurden. Du kannst also einfach eine neue vhost datei im sites-enabled Ordner des Apache anlegen.


----------



## WilliTheSmith (8. Aug. 2010)

Hi,
dann melde ich mich mal wieder 

Also ich habe soeben gemerkt, das Directory Listing im Unterordner funktioniert, jedoch nicht im Wurzelverzeichnis. Dazu habe ich einfach eine .htaccess mit bekannten inhalt ins web-Verzeichnis kopiert. Ich bin mir jetzt nicht sicher ob das vorher schon geklappt hat, aber gerade das Wurzelverzeichnis soll ja sichtbar sein. Und rumfuschen mit Domain-Alias und/oder automatischer Weiterleitung usw. will ich auch nicht unbedingt.

Habt ihr da vielleicht eine erklärung für? LG


----------

