<div id="tutorialrahmen"> Was wird gemacht?: ...
Zielgruppe: ...
Dauer: ca. xx Minuten </div>

Was ist ein WebDav-Server ?

WebDAV ist eine Upload Erweiterung für das HTTP-Protokoll, dem Protokoll über das sich ein Webbrowser die Daten von einem Webserver holt. In erster Linie ist es somit ein Ersatz für FTP.

Da der OS X Finder, genau wie Linux, Windows und viele andere Systeme in der Lage ist ein WebDAV Verzeichnis zu mounten hat man so ein einfaches Netzwerkdateisystem auf dem man beliebige Daten ablegen kann.

Dieses Verzeichnis kann man dann immer, wenn man eine Netzwerkverbindung zu dem Server hat, benutzen als sei es ein (langsames) normales lokales Volume.

Der Apple iDisk Dienst ist nichts weiter als ein von Apple zur Verfügung gestelltes WebDAV Verzeichnis.

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.


Was man tun muss

Voraussetzungen:

- 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 "httpd.conf" mit "pico" im Terminal. Du findest sie: - OSXeigener ~WebServer: /private/etc/httpd/httpd.conf - [Apache2] ~WebServer: /Library/Apache2/conf/httpd.conf

Dort tragen wir ganz am Ende folgende Anweisungen ein:

 Include /private/etc/httpd/dav

Nun aktivieren wir noch das Modul WEBDAV, in dem wir beide Rauten (#) vor den Modul-Einstellungen entfernen. Mit "CTRL+W" kann man in Pico suchen, also ctrl+w dav_module

dann aus der Zeile #LoadModule dav_module <- (Raute entfernen) und ClearModuleList <- (Raute entfernen) dann ctrl+w mod_dav.c dann aus der Zeile #AddModule mod_dav.c <- (Raute entfernen)

Damit müssen wir diese Datei zunächst nicht mehr bearbeiten. Alle Einstellungs-Dateien zu WebDAV die wir erstellen werden, kann der WebServer nun aus dem Verzeichnis "/etc/httpd/dav" beim Programmstart einlesen.

Verzeichnis (dav) und Datei (dav.conf) 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 Konfiguration nach euren Bedürfnissen anpassen. Ich selbst habe hier mit Absicht das Alias-Modul von Apache genutzt, um das WebDAV-Root zu verschleiern und zu tarnen. So kann niemand mit bösen Absichten direkt darauf zugreifen.

Richtet euer WebDAV-Root ebenfalls aus Sicherheitsgründen möglichst nicht direkt in der Root-Ebene des Systems ein, sondern immer im Document-Root-Bereich des WebServers. - OSXeigener WebServer: /Library/WebServer/Documents - [Apache2] WebServer: /Library/Apache2/htdocs
Log-Daten, sowie Passwörter und andere sensible Daten gehören jedoch ins Rootverzeichnis, damit aus dem Netzwerk oder Internet niemand darauf zugreifen kann. Ihr könnt auch Extra-Verzeichnisse dafür anlegen und für systemfremde Benutzer eine nicht nachvollziehbare Verzeichnisstruktur mit Aliases oder Symlinks kreieren. Direkt im Rootverzeichnis findet man mit Hilfe des Terminal eine Datei namens ".hidden". Sie ist selbst sonst unsichtbar (.) und enthält alle Dateien und Verzeichnisse die nach einem Neustart nicht mehr direkt im Finder angezeigt werden, also unsichtbar sein sollen. Das wäre von Vorteil, wenn man einen Computer mit mehreren Benutzern bedient.

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 erstellen wie ihr sie in eure "dav.conf" eingetragen habt. Auch ~DAVLockDB ist wichtig, dort befindet sich später beim Betrieb des WEBDAV eine oder mehrere Datenbanken auf die dann zugegriffen werden muß.

Jetzt kann man den Apachen neustarten und das Log-File dazu beobachten. Wenn alle Verzeichnisse und Dateien an ihrem richtigen 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 Verzeichnisse benötigen die Gruppe "www" und in besonderen Fällen auch den User "www". Für das Upload-Verzeichnis wäre dies günstig, da dort vermehrt Schreibvorgänge stattfinden die eine eindeutige Rechtevergabe voraussetzen. Die kennwortgeschützten Verzeichnisse 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.

Finden tut man diese Software vorwiegend http://software.bastian-schneider.de/, sie kostet aber neuerdings 5 Euronen Shareware-Gebühr, was sie aber ganz sicher auch wert ist, solange iCal noch in entsprechenden Gelegenheiten unausgereift ist.

Hier die PHP-Variante, zu installieren auf einem WebServer. http://www.k5n.us/webcalendar.php WEBCALENDAR heißt das gute Stück und ist so viel ich weiß kostenlos erhältlich. Alternativ kann auch das kostenlose Opensource-Projekt namens PHP iCalendar verwendet werden, welches ebenfalls auf PHP basiert und somit auch auf einem Webserver installiert wird.

Gruß [postfixer [snail] web [period] de|Terminal]

Weblinks

Kategorie

Tutorials, MacGyver


Zuletzt geändert am 30.04.2008 10:53 Uhr ( Besuche)

© 2004 – 2024 ApfelWiki

Impressum - Datenschutz

cb