ICalendar mit WebDAV: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(Benötige Apache-Module)
K (Kleiner Vertipper korrigiert)
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Einführung==
 
==Einführung==
  
Es wird im Folgenden geschildert, wie man einen Apache-Server so konfiguriert, dass man den Sunbird/Lightning-Kalender als Netzwerkkalender betreiben kann. Sunbird/Lightning im Netzwerkbetrieb bringt den Vorteil mit sich, dass auch von verschiedenen Rechnern aus, ein Kalender leicht und bequem auf dem neusten Stand gehalten werden kann.
+
Es wird im Folgenden geschildert, wie man einen Apache-Server so konfiguriert, dass man den Sunbird/Lightning-Kalender als Netzwerkkalender betreiben kann. Sunbird/Lightning im Netzwerkbetrieb bringt den Vorteil mit sich, dass auch von verschiedenen Rechnern aus ein Kalender leicht und bequem auf dem neusten Stand gehalten werden kann.
  
 
===Funktionsweise===
 
===Funktionsweise===
Zeile 13: Zeile 13:
 
==Konfiguration von WebDAV==
 
==Konfiguration von WebDAV==
 
{{Box Test||
 
{{Box Test||
* SUSE Linux 9.3
+
* openSuSE 10.3
 
}}
 
}}
 
===Benötige Apache-Module===
 
===Benötige Apache-Module===
 
* dav
 
* dav
 
* dav_fs
 
* dav_fs
empfohlen:
+
Optional zur Sicherheit:
 
* auth_digest
 
* auth_digest
  
Zeile 24: Zeile 24:
  
 
===Einrichtung des Apache===
 
===Einrichtung des Apache===
Standardmäßig werden eine Vielzahl von Apache-Modulen benutzt. Um Module zu an oder abzuschalten ist bei SuSE die Datei apache2 in /etc/sysconfig zuständig.
+
Standardmäßig werden eine Vielzahl von Apache-Modulen benutzt. Die Auswahl der Module sind in der Datei apache2 in ''/etc/sysconfig'' festgelegt.
  
 
Dort tragen wir in die Zeile ''APACHE_MODULES'' '''dav''' und '''dav_fs''' ein. Für den sicheren Zugriff sollte dort auch '''auth_digest''' stehen."
 
Dort tragen wir in die Zeile ''APACHE_MODULES'' '''dav''' und '''dav_fs''' ein. Für den sicheren Zugriff sollte dort auch '''auth_digest''' stehen."
Zeile 32: Zeile 32:
 
  APACHE_MODULES="... auth_digest ... dav dav_fs ..."
 
  APACHE_MODULES="... auth_digest ... dav dav_fs ..."
 
  ...
 
  ...
 +
 +
Die neuhinzugefügten Apache-Module werden nach dem Neustart des Dienstes geladen.
  
 
===Freigaben erstellen und absichern===
 
===Freigaben erstellen und absichern===
coming soon
+
Als Erstes wird ein Ordner erstellt auf den später zugegriffen und geschrieben werden soll. Dieser sollte unterhalb des ''DocumentRoot'' liegen.
 +
 
 +
Wir erstellen den Ordner mit den Namen ''dav'' für die WebDAV-Freigaben.
 +
 
 +
mkdir /srv/www/htdocs/dav
 +
 
 +
Nun noch einen Ordner, indem unser Testuser Otto später seinen Kalender ablegen kann.
 +
 
 +
mkdir /srv/www/htdocs/dav/otto
 +
 
 +
Wir ändern die Zugriffsrechte für Benutzer und Gruppe um Konflikte mit dem Apache zu vermeiden.
 +
 
 +
chown -R -v wwwrun:www /srv/www/htdocs/dav
 +
 
 +
Um sicherzugehen, dass kein anderer Benutzer an die Dateien im Ordner ''otto'' kommt empfehle ich Folgendes:
 +
 
 +
chmod 700 /srv/www/htdocs/dav/otto
 +
 
 +
Das Grundgerüst steht nun. Jetzt muss das WebDAV-Modul nur noch wissen, welche Ordner wir gerne freigeben wollen.
 +
Die Konfigurationsdateien des Apache liegen weitesgehend alle in /etc/apache2.
 +
Wir erstellen eine neue Konfigurationsdatei, die abklärt, welche Ornder wir freigeben und wer darauf zugreifen darf.
 +
Sie trägt hier den Namen webdav.conf. Wem dies zu unkreativ ist, der kann sich gerne etwas anderes überlegen.
 +
Der Inhalt der Datei kann einfach kopiert und angepasst werden.
 +
 
 +
/etc/apache2/conf.d/webdav.conf:
 +
 
 +
DavLockDB /var/lib/apache2/DavLockDB
 +
 +
<Location /dav/otto>
 +
        DAV On
 +
        DAVDepthInfinity on
 +
        Options FollowSymlinks Indexes MultiViews
 +
        AllowOverride None
 +
        AuthType Digest
 +
        AuthName "WebDAV"
 +
        AuthUserFile /etc/apache2/passwords/webdav.htdigest.access
 +
        Require user otto
 +
</Location>
 +
 
 +
In der Konfigurationsdatei wurde die Zugriffsmethode Digest schon vorausgenommen. Nun kommen wir zur Absicherung, die wir schon erwähnt hatten.
 +
Der Benutzer Otto soll für seine Freigabe ein Passwort bekommen.
 +
 
 +
Zuerst legen wir eine Datei an, die die Kennwörter speichert. Es ist eigentlich egal, wo ihr diese Datei abspeichert. Hier liegt sie in /etc/apache2/passwords.
 +
 
 +
htdigest2 -c webdav.htdigest.access WebDAV otto
 +
 
 +
Dieser Befehl erstellt eine Datei webdav.htdigest.access. (Wem das zu lang ist als Name für eine Datei, kann hier kreativ zu Werke schreiten.)
 +
Der Benutzer Otto wird an den Freigabebereich "WebDAV" gebunden. Außerdem erhält er ein Passwort, mit der er sich Zugriff auf diesen verschaffen kann.
 +
 
 +
'''Achtung:'''
 +
Wer weitere Benutzer in die Datei aufnehmen möchte muss das Anhängsel '''-c''' weglassen, da sonst die Datei überschrieben wird und wichtige Einstellungen verloren gehen.
 +
 
 +
Nach dem alle Einstellungen vorgenommen worden sind, muss der Apache-Server neugestartet werden.
 +
 
 +
rcapache2 restart
 +
 
 +
===Einfacher Test===
 +
Um den Erfolg der Einrichtung zu überprüfen:
 +
 
 +
http://hostname/dav/otto
 +
 
 +
Es sollte im Webbrowser ein Feld auftauchen, indem ein Benutzername samt Passwort abgefragt wird. Dies ist ein gutes Zeichen.
 +
Funktioniert auch die Anmeldung mit Name und Passwort, so sind alle Einstellungen in Ordnung.
  
 
==Sunbird/Lightning konfigurieren==
 
==Sunbird/Lightning konfigurieren==
coming soon
+
Neuer Kalender... > Im Netzwerk > Adresse: "http://hostname/dav/otto/ottos_kalender.ics" > Name: "ottos_kalender" > Fertig stellen
 +
 
 +
==Weblinks==
 +
*[http://www.bsdwiki.de/Webdav_mit_Apache Bsd-Wiki.de] - Weiterführendes Howto zur Einrichtung von WebDAV auf einem Apache
 +
*[http://httpd.apache.org/docs/2.2/ httpd.apache.org] - Offizielles Dokumentationsmaterial über Apache2 und [http://httpd.apache.org/docs/2.2/mod Module]
 +
*[http://www.sunbird-kalender.de/forum/viewtopic.php?t=328 Sunbird-Forum] - Ein sehr einfaches Howto mit XAMPP
 +
*[http://www.sunbird-kalender.de Sunbird-Kalender-Seite] - Offizielle Website des Sunbird-Projekts
 +
*[http://www.sunbird-kalender.de/wiki/Sunbird-Kalender_FAQ#Wie_lassen_sich_Kalender_.FCber_das_Internet_oder_ein_Netzwerk_nutzen.3F Sunbird Netzwerkkalender] - Eine kurze Einführung zum Thema Sunbird-Netzwerkalender
 +
*[http://www.ppcnux.de/?q=node/7026 ppcnux.de] - Gutes und übersichtliches Howto für Debian
 +
*[http://de.wikipedia.org/wiki/WebDAV Wikipedia] - Allgemeine Informationen zum Thema WebDAV
 +
 
 +
[[Category: LAMP]] [[Category: HowTo]]

Aktuelle Version vom 10. September 2009, 19:36 Uhr

Einführung

Es wird im Folgenden geschildert, wie man einen Apache-Server so konfiguriert, dass man den Sunbird/Lightning-Kalender als Netzwerkkalender betreiben kann. Sunbird/Lightning im Netzwerkbetrieb bringt den Vorteil mit sich, dass auch von verschiedenen Rechnern aus ein Kalender leicht und bequem auf dem neusten Stand gehalten werden kann.

Funktionsweise

Die Funktionsweise des Sunbird/Lightning-Kalenders ist sehr einfach. Sämtliche Termine und Aufgaben werden in einer ics-Datei gespeichert. Sunbird liest diese Datei aus und setzt die Werte an der vorgesehenen Stelle im Kalender ein. Im Einzelplatzbetrieb liegt diese Datei lokal auf einem Rechner. Im Netzwerkbetrieb wird diese Datei ausgelagert. Der Server muss daher so konfiguriert werden, dass man die iCalendar-Datei ersteinmal auslesen kann und weitergehend, dass man schreibzugriff auf sie bekommt um Änderungen sofort übernehmen zu können. Außerdem ist es von Vorteil, dass man den Server so absichert, dass nur ausgewählte Personen auf die ics-Datei zugreifen können.

Voraussetzungen

  • Apache-Webserver
  • Mozilla Sunbird oder Lightning als Add-on für Mozilla Thunderbird

Konfiguration von WebDAV

Diese Beschreibung wurde mit folgenden Distributionen getestet:
  • openSuSE 10.3

Benötige Apache-Module

  • dav
  • dav_fs

Optional zur Sicherheit:

  • auth_digest

Apache2 verfügt über eine vielzahl von Modulen mit denen zusätzliche Aufgaben bewältigt werden können. Die Module, die hier freigeschaltet werden müssen, heißen dav dav_fs und auth_digest. Die ersten Beiden aktivieren WebDAV. Für einen sicheren Zugriff auf die Freigaben sollte man auth_digest hinzuziehen.

Einrichtung des Apache

Standardmäßig werden eine Vielzahl von Apache-Modulen benutzt. Die Auswahl der Module sind in der Datei apache2 in /etc/sysconfig festgelegt.

Dort tragen wir in die Zeile APACHE_MODULES dav und dav_fs ein. Für den sicheren Zugriff sollte dort auch auth_digest stehen."

Ausschnitt aus /etc/sysconfig/apache2:

...
APACHE_MODULES="... auth_digest ... dav dav_fs ..."
...

Die neuhinzugefügten Apache-Module werden nach dem Neustart des Dienstes geladen.

Freigaben erstellen und absichern

Als Erstes wird ein Ordner erstellt auf den später zugegriffen und geschrieben werden soll. Dieser sollte unterhalb des DocumentRoot liegen.

Wir erstellen den Ordner mit den Namen dav für die WebDAV-Freigaben.

mkdir /srv/www/htdocs/dav

Nun noch einen Ordner, indem unser Testuser Otto später seinen Kalender ablegen kann.

mkdir /srv/www/htdocs/dav/otto

Wir ändern die Zugriffsrechte für Benutzer und Gruppe um Konflikte mit dem Apache zu vermeiden.

chown -R -v wwwrun:www /srv/www/htdocs/dav

Um sicherzugehen, dass kein anderer Benutzer an die Dateien im Ordner otto kommt empfehle ich Folgendes:

chmod 700 /srv/www/htdocs/dav/otto

Das Grundgerüst steht nun. Jetzt muss das WebDAV-Modul nur noch wissen, welche Ordner wir gerne freigeben wollen. Die Konfigurationsdateien des Apache liegen weitesgehend alle in /etc/apache2. Wir erstellen eine neue Konfigurationsdatei, die abklärt, welche Ornder wir freigeben und wer darauf zugreifen darf. Sie trägt hier den Namen webdav.conf. Wem dies zu unkreativ ist, der kann sich gerne etwas anderes überlegen. Der Inhalt der Datei kann einfach kopiert und angepasst werden.

/etc/apache2/conf.d/webdav.conf:

DavLockDB /var/lib/apache2/DavLockDB

<Location /dav/otto>
       DAV On
       DAVDepthInfinity on
       Options FollowSymlinks Indexes MultiViews
       AllowOverride None
       AuthType Digest
       AuthName "WebDAV"
       AuthUserFile /etc/apache2/passwords/webdav.htdigest.access
       Require user otto
</Location>

In der Konfigurationsdatei wurde die Zugriffsmethode Digest schon vorausgenommen. Nun kommen wir zur Absicherung, die wir schon erwähnt hatten. Der Benutzer Otto soll für seine Freigabe ein Passwort bekommen.

Zuerst legen wir eine Datei an, die die Kennwörter speichert. Es ist eigentlich egal, wo ihr diese Datei abspeichert. Hier liegt sie in /etc/apache2/passwords.

htdigest2 -c webdav.htdigest.access WebDAV otto

Dieser Befehl erstellt eine Datei webdav.htdigest.access. (Wem das zu lang ist als Name für eine Datei, kann hier kreativ zu Werke schreiten.) Der Benutzer Otto wird an den Freigabebereich "WebDAV" gebunden. Außerdem erhält er ein Passwort, mit der er sich Zugriff auf diesen verschaffen kann.

Achtung: Wer weitere Benutzer in die Datei aufnehmen möchte muss das Anhängsel -c weglassen, da sonst die Datei überschrieben wird und wichtige Einstellungen verloren gehen.

Nach dem alle Einstellungen vorgenommen worden sind, muss der Apache-Server neugestartet werden.

rcapache2 restart

Einfacher Test

Um den Erfolg der Einrichtung zu überprüfen:

http://hostname/dav/otto

Es sollte im Webbrowser ein Feld auftauchen, indem ein Benutzername samt Passwort abgefragt wird. Dies ist ein gutes Zeichen. Funktioniert auch die Anmeldung mit Name und Passwort, so sind alle Einstellungen in Ordnung.

Sunbird/Lightning konfigurieren

Neuer Kalender... > Im Netzwerk > Adresse: "http://hostname/dav/otto/ottos_kalender.ics" > Name: "ottos_kalender" > Fertig stellen

Weblinks