Einrichten von WEBDAV in Mac OS X ...

Hairfeti

Hairfeti

Mitglied
Thread Starter
Dabei seit
08.11.2003
Beiträge
464
Reaktionspunkte
0
Ihr wißt ja, daß ich hier keine Konfigurationen poste, ehe ich sie nicht auf meinem eigenen Server auf Herz und Nieren getestet habe. Nun, zur Zeit gibt es aus dem Hause Apple nicht unbedingt Neuigkeiten, aber durchaus noch Tools die einen Einsatz auf dem eigenen System wirklich effizient machen. Dazu gehört auch WebDAV.

Viele Leute fragen oft danach was man denn damit so tun könnte, welchen Nutzen man davon hat und nicht zuletzt wie das Einrichten des selben erfolgt. Dies und mehr nun in meinen nachfolgenden Ausführungen.

WebDAV ist nichts anderes als ein Zusatz-Modul für den WebServer. Dort wird es konfiguriert und gestartet. Die Funktionen dieses Features erstrecken sich aber über das gesamte System und werden selbst vom Finder sowie von diversen FTP-Clients für eine Datenübertragung unterstützt.

Man kann sich somit local, im Intranet sowie im Internet eine eigene iDisk erschaffen, mit allen Vor- und Nachteilen. Wie bei einem .mac-Account läßt sich ein virtuelles Volume auf dem eigenen Desktop mounten. Und je nach Einstellungen kann man Daten kopieren, löschen, ersetzen, bearbeiten oder auch nur lesen. Und das von überall aus auf der ganzen Welt, nur mit einem Internetanschluß. (Hardware + Software)

Vorteile:

Diese liegen eigentlich auf der Hand. Man spart sich den Einsatz eines FTP-Servers im herkömmlichen Sinne und braucht so die Ports 20, 21 und Passive nicht nach innen zu öffnen. Das erweitert oder behält die schon vorhandene Sicherheit bei. Einfaches Unterteilen und Verwalten diverser virtueller Disks der User samt Rechteverteilung und Platz. Weiterhin wird ein normales Web-Sharing nicht beeinflußt, man kann wie gewohnt mit einem Webbrowser auf HTML-Daten oder PHP-Content zugreifen. Der Webserver kann je nach Einstellungen unzählige seiner kleinen "Kinder" starten und das erhöht eine Performance auf den Zugriff. Was für uns wohl jetzt nicht unbedingt wichtig wäre, denn wir arbeiten ja nur mit dem DSL-Upstream, leider.

Voraussetzungen:

Lesen meiner anderen FAQ-Beiträge (UNIX-Kochbuch, FTP-Server und Terminal)

Lauffähiges System X, 10.3 aufwärts (andere habe ich nicht getestet)

Apache-Web-Server ab Version 1.3 mit Modul WebDAV und PHP

Root-Benutzer für das Terminal

Konfiguration:

Grundsätzlich erfolgen die Einstellungen in der Apache-Einstellungsdatei (httpd.conf). Um aber den Überblick zu bewahren, tragen wir unsere Einstellungen in eine Extra-Datei mit dem Namen "dav.conf" ein, die wir in das Verzeichnis "/etc/httpd/dav" legen möchten.
Vorher schalten wir aber den WebServer aus und öffnen die Datei "/etc/httpd/httpd.conf" mit "pico" im Terminal und tragen ganz am Ende folgende Anweisungen ein:

Include /private/etc/httpd/dav

Nun aktivieren wir noch das Modul WEBDAV, in dem wir beide Routen vor den Modul-Einstellungen entfernen. (LoadModuleList und ClearModuleList)

Damit müssen wir diese Datei zunächst nicht mehr bearbeiten. Alle Einstellungs-Dateien zu WebDAV die wir erstellen werden, können nun aus dem Verzeichnis "/etc/httpd/dav" übernommen werden.

Verzeichnis und Datei können nun erstellt werden. Dort tragen wir nun ein:

<IfModule mod_alias.c>
Alias /share "/www/dav"
</IfModule>

<Directory "/www/dav">
DAV On
AllowOverride none
</Directory>

<Directory "/www/dav/team">
AuthDigestFile /dav/pass/.htdigestgrp
AuthName "TEAM RESTRICTED AREA"
AuthType Digest
<Limit PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user team
</Limit>
</Directory>

<Directory "/www/dav/calendar">
AuthDigestFile /dav/pass/.htdigest
AuthName "DAV RESTRICTED AREA"
AuthType Digest
<Limit PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user admin
</Limit>
</Directory>

<IfModule mod_dav.c>
DAVLockDB /dav/DAVLockDB
</IfModule>

Ihr solltet die Konfig nach euren Bedürfnissen anpassen. Ich selbst habe hier geschickt das Alias-Modul von Apache genutzt um das WebDAV-Root zu verschleiern oder zu tarnen.

Richtet euer WebDAV-Root möglichst nicht direkt im Root des Systems ein, sondern im Document-Root des WebServers. Log-Daten, sowie Passwörter jedoch ja, damit aus dem WWW niemand drauf zugreifen kann.

Passwort-Datei, Benutzer, Realm sowie Kennworte werden mit dem Tool "htdigest" im Terminal erstellt.

htdigest -c /dav/pass/.htdigest "Privat" name

und:

htdigest -c /dav/pass/.htdigestgrp "Privat" gruppe

Bei Name und Gruppe tragt ihr natürlich eure Werte ein und gebt nachfolgend zweimal das Kennwort dazu ein welches ihr euch merken solltet. Danach ist die Einrichtung des Sicherheitsmechanismus "DIGEST" komplett.

Nun noch die anderen Verzeichnisse und Dateien anlegen wie ihr sie in eure "dav.conf" eingetragen habt. Auch DAVLockDB ist wichtig, dort befindet sich eine oder mehrere Datenbanken beim Betrieb auf die dann zugegriffen wird.

Jetzt kann man den Apachen starten und das Log-File dazu beobachten. Wenn alle Verzeichnisse und Dateien an ihrem Platz sind, sollte folgende oder ähnliche Meldung ausgegeben werden:

Processing config directory: /private/etc/httpd/users
Processing config file: /private/etc/httpd/users/admin.conf
Processing config directory: /private/etc/httpd/dav
Processing config file: /private/etc/httpd/dav/dav.conf
[Sun May 23 19:48:05 2004] [notice] Apache/1.3.29 (Darwin) mod_perl/1.26 DAV/1.0.3 PHP/4.3.6 configured -- resuming normal operations

Damit ließe sich nun auch unser WebDAV-Root über den Finder auf dem Desktop mounten. Dazu benutzen wir im Finder die Funktion "Mit Server verbinden" und geben dort unsere Url ein. (http://127.0.0.1/share/). Anbei kann man noch die Rechte nachträglich für Verzeichnisse und Dateien anpassen wie ihr es für richtig haltet. Das WebDAV-Root sollte schon euch gehören und nur Lese-Berechtigung für alle anderen haben. Die anderen Verz. benötigen die Gruppe "www" und in besonderen Fällen auch den User "www". Für das Upload-Verz. wäre es günstig. Die kennwortgeschützten Verz. dagegen sind nur bedingt von den Unix-Rechten abhängig. Ist man als User mit Kennwort korrekt angemeldet, kann man alle Optionen ausführen die in der "dav.conf" angegeben wurden.

Ich möchte nun auch noch einige Dinge über iCal und den Webkalender hinzufügen. Leider ist es ja bisher nicht möglich mit iCal einen Kalender in der Gruppe zu verwalten. Wird der Kalender veröffentlicht, so werden leider bisher immer die ganzen Kalender-Dateien ersetzt und überschrieben, nicht nur die Termine und Daten hinzugefügt. Das hat zur Folge daß wenn man die Datei zeitgleich mit mehreren Benutzern bearbeitet, beim letzten Client alle anderen Daten die vorher geändert wurden, wieder und wieder verloren gehen. Aber es gibt ein Web-Interface auf PHP-Basis welches sich dieses Problems angenommen hat. Damit lassen sich diese Kalender-Dateien auch online von Gruppen bearbeiten. Dazu wird vermutlich auch mindestens eine MySQL-Datenbank benötigt.

Wie immer werde ich mich weiter über diese Thematik informieren und bei Bedarf meine FAQ vervollständigen. Ansonsten probiert bitte selbst mal aus was ihr heute hier gelernt habt und entscheidet selbst ob es euch eine Hilfe ist oder nicht.

Dann möchte ich hier noch mal zu etwas mehr Mitarbeit aufrufen. Es gibt sicher einige Leute hier die immer fleißig lesen, aber nie etwas von sich hören lassen. Muß das denn sein? Jeder kann hier im Forum irgendwas beitragen, auch wenn es noch so wenig erscheint. Und einige wissen gar nicht mal wenig, sind aber zu faul es aufzuschreiben.

Ich denke es wird mal wieder Zeit für ein kleines Projekt an dem einige User zusammen arbeiten können. Mal sehen was mir demnächst dazu so einfällt. Wer hätte denn Lust dazu?

In dem Sinne, bis zum nächsten Mal oder an anderer Stelle hier im Forum.
 
Zuletzt bearbeitet:
danke für deine faq, ich hab schon mit powermakis faq gestern alles eingestellt, möchte aber nochmal von ganz vorn anfangen mit deiner faq, ist das möglich? falls ja, was muss ich löschen?

Gruss

Pep
 
Zunächst mußt du lernen daß Konfigurationsdateien programmspezifische und persönliche Anweisungen enthalten. Du mußt dich mit dem Aufbau und der Syntax vertraut machen und einzelne Befehle zuordnen können. Es hat keinen Zweck eine "httpd.conf" für eigene Zwecke von jemand anderen einfach zu übernehmen wenn man die Bedeutung der einzelnen Anweisungen nicht nachvollziehen kann.

Zunächst solltest du einfach damit beginnen dir deine aktuelle "httpd.conf" für den Apache-Webserver optimal einzustellen wie nur möglich. Wenn diese in Ordnung ist, kann man zusätzliche Configs hinzufügen und die Einstellungen ergänzen.

Es ist leider keine gute Wahl wenn der Server bei dir rein zufällig fehlerfrei läuft. Man sollte schon in etwa wissen, was man seinem Server beim ersten Start mit auf den Weg gibt. Du öffnest damit schließlich einen Port zu deinem Datei-System, welches bei Unbedachtsamkeit einem Fremdzugriff wehrlos ausgeliefert wäre. Die Zuweisung zu einem Externen Datenträger spielt dabei keine Rolle. Man könnte sich als potentieller Angreifer von dort bis zu deinem Hauptrechner vortasten.

Powermaki's sowie meine FAQ sind ausschließlich für Benutzer gedacht, die bisher schon über einen sicheren, fehlerfreien und einsatzbereiten WebServer verfügen und selbständig Änderungen an der Konfiguration vornehmen können.

Wenn du willst, kannst du mir gern deine "httpd.conf" zuschicken. Ich sende sie dir dann so zurück wie sie im allgemeinen für einen Server-Administrator auszusehen hat.
 
Zurück
Oben Unten