Page 1 of 1

WebDAV-Verzeichnis isolieren

Posted: 2010-11-25 11:49
by pointzero10
Hallo,

ich bin derzeit dabei webDAV auf meinem vServer zum laufen zu bringen, und laufen tut er soweit auch. Mein aktuelles Problem hierbei ist, dass beim Aufruf von
domain.tld/webdav der Login des Users gefordert wird, beim Aufruf von
domain.tld jedoch der komplette Inhalt des Verzeichnisses aufgelistet wird, was ja nicht Sinn der Sache ist.

/etc/apache2/sites-available/default

Code: Select all

NameVirtualHost <IP>
<VirtualHost <IP>>
        ServerAdmin webmaster@<domain.tld>

        DocumentRoot /var/www/<domain>
        ServerName <www.domain.tld>
        ServerAlias <domain.tld>
        <Directory /var/www/<domain>/>
                Options Indexes MultiViews
                Order allow,deny
                allow from all
        </Directory>

        Alias /webdav /var/www/<domain>/webdav

        <Location /webdav>
           DAV on
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /var/www/<domain>/passwd.dav
           Require valid-user
       </Location>
</VirtualHost>

Frage1: Ist es in dem Fall (ich besitze nur eine IP) egal ob ich * oder die IP hinschreibe?

Frage2: Wo lege ich die passwd.dav am besten ab? Im Hauptverzeichnis, wo später meine Homepage liegt, ist es sicherheitstechnisch ja wahrscheinlich nicht klug.

Frage3: Wie sorge ich dafür, dass das Verzeichnis /webdav auch nur über domain.tld/webdav erreichbar ist?

Frage4: Ist es üblicher (wenn man mehrere Domains hostet) alle in einer Datei zu verfrachten, oder jede Domain in eine eigene Datei auszulagern und dann in /etc/apache2/sites-enabled einzubinden?

Ich bedanke mich schonmal im Vorraus für Hilfe, und hoffe so mein grundsätzliches vHost-Verständnis erweitern zu können :)

LG pointzero10

Re: WebDAV-Verzeichnis isolieren

Posted: 2010-11-25 12:32
by pointzero10
Ich danke dir Matze!

Aber nur um mich nochmal abzusichern, muss ich für mein webDAV-Verzeichnis einen eigenen vHost setzen? Also das Verzeichnis z.B. als Subdomain angeben?

Code: Select all

NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld 
DocumentRoot /var/www/domain
</VirtualHost>

<VirtualHost *:80>
ServerName www.webdav.domain.tld
DocumentRoot /var/www/domain/webdav

/**Alias /webdav /var/www/<domain>/webdav 
*   Die Zeile hier kann dann ja weg, aber worauf verweise ich dann im <Location>-*Tag?
**/
        <Location www.webdav.domain.tld>
           DAV on
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /etc/apache2/sites-available/passwd.dav
           Require valid-user
       </Location>
</VirtualHost>
Danke Nochmal!

Re: WebDAV-Verzeichnis isolieren

Posted: 2010-11-25 12:47
by Joe User
pointzero10 wrote:beim Aufruf von
domain.tld jedoch der komplette Inhalt des Verzeichnisses aufgelistet wird, was ja nicht Sinn der Sache ist.
Das liegt an der Zeile:

Code: Select all

Options Indexes MultiViews
Diese löschen, Apache restarten und dieses Problem sollte behoben sein.

Re: WebDAV-Verzeichnis isolieren

Posted: 2010-11-25 13:25
by pointzero10
Dank geht an euch beide. Betreffende Zeile wurde gelöscht und der passwd-Pfad angepasst.
Nur noch apache warnt beim reloaden
[Thu Nov 25 13:22:55 2010] [warn] NameVirtualHost IP has no VirtualHosts
[Thu Nov 25 13:22:55 2010] [warn] NameVirtualHost *:80 has no VirtualHosts
Ich hab doch nen vHost?!