======Allgemein======
**Davical** ist ein Serverprogramm welches Kalender per caldav zur Verfügung stellt. Somit ist es möglich Kalender online abzulegen um diese zur Synchronisation für verschiedene Geräte vorzuhalten.
====== Jail ======
Zunächst kann eine Jail installiert werden. Dies wird entsprechend [[Jail erstellen]] durchgeführt.
======Apache======
Der Webserver Apache wird nach [[Apache installieren]] installiert. Im speziellen Fall wurde abweichend vom Standardport 80 ein anderer gewählt da auf dem System bereits ein Apache läuft.
======postgresql======
===== Installation =====
Anschließend wird Postgresql installiert.
# portmaster -d databases/postgresql84-server
===== Betrieb in einer Jail =====
Sollte der Postgresql in einer Jail betrieben werden so muss zunächst im Hostsystem der Shared-Memory aktiviert werden. Im Hostsystem muss der Wert //security.jail.sysvipc_allowed// auf 1 gesetzt werden. Hierzu wird die Datei ///etc/sysctl.conf// um folgende Zeile ergänzt:
security.jail.sysvipc_allowed=1
Zudem wird die /etc/rc.conf des Hostsystems um dolgende Zeile ergänzt.
jail_sysvipc_allow="YES"
Es sollte einem klar sein, dass die Verwendung von Shared-Memory eine mögliche Sicherheitslücke darstellt. Leider ist die Nutzung von Postgresql in einer Jail anders nicht möglich.
===== Datenbank initialisieren =====
Die Datenbank muss zunächst initialisiert werden.
# /usr/local/etc/rc.d/postgresql initdb
Die /etc/rc.conf sollte noch um folgende Zeile ergänzt werden um Postgresql beim Systemstart zu laden.
postgresql_enable="YES"
Die Datenbank kann von Hand mit
# /usr/local/etc/rc.d/postgresql start
gestartet werden.
Um einen User mit Verwaltungsrechnten anzulegen wird zunächst als root zum pgsql-User gewechselt und danach der Benutzer angelegt.
#su pgsql
$ createuser -sdrP username
======phpPgAdmin======
PhpPgAdmin ist ein Werkzeug zur Administration einer Postgresql-Servers. Installiert wird es per **databases/phppgadmin**.
Hierzu wird unter anderem PHP5 benötigt welches laut der Beschreibung [[PHP5 installieren]] eingerichtet werden muss.
# cp -pr /usr/local/www/phpPgAdmin /usr/local/www/apache22/data/
Nun ist //phpPgAdmin// unter dem Link "http://DEINESERVERIP:DEINAPACHEPORT/phpPgAdmin" erreichbar.
Mit dem oben angelegten User kann nun eingelogt werden.
======davical======
===== Installation =====
DaviCal ist der CalDAV-Server zur Ablage der Kalender. Er wird wie folgt installiert (im Beispiel mit [[Portmaster]])
# portmaster -d www/davical
===== Initialisierung =====
Mit dem entsprechend mit installierten Script werden die benötigten Datenbanken angelegt.
# su pgsql /usr/local/share/doc/davical/dba/create-database.sh
Somit werden die benötigten Daten angelegt.
Supported locales updated.
Updated view: dav_principal.sql applied.
CalDAV functions updated.
RRULE functions updated.
Database permissions updated.
NOTE
====
* You will need to edit the PostgreSQL pg_hba.conf to allow the
'davical_dba' database user access to the 'davical' database.
* You will need to edit the PostgreSQL pg_hba.conf to allow the
'davical_app' database user access to the 'davical' database.
* The password for the 'admin' user has been set to 'XXXXXXX'"
Thanks for trying DAViCal! Check in /usr/share/doc/davical/examples/ for
some configuration examples. For help, visit #davical on irc.oftc.net.
Unter anderem wird hier das Kennwort für den user 'admin' angelegt.
In die Datei ///usr/local/pgsql/data/pg_hba.conf// wird als oberste nicht-kommentierte Zeile folgende eingefügt:
local davical davical_app trust
Nun wird noch die Konfigurationsdatei entsprechend kopiert und angepasst:
cp /usr/local/www/davical/config/example-config.php /usr/local/www/davical/config/config.php
Nun wird noch die Davical-Apache-Konfiguration in das Include-Verzeichnis des Apache kopiert.
cp /usr/local/share/doc/davical/httpd-davical.conf /usr/local/etc/apache22/Includes/
======phpcalendar======