The www/kcaldav port
kcaldav-0.2.5 – a simple, safe, and minimal CalDAV server (cvsweb github mirror)
Description
kCalDAV is a simple, safe, and minimal CalDAV server depending only on kcgi(3), SQLite, and expat(3). The ISO C source code is ISC licensed. For the time being, it works only for simple setups, for example, a calendar collection shared between Mozilla Lightning, Mac OS X iCal, and iOS7 (iPhone4) clients.WWW: https://kristaps.bsd.lv/kcaldav/
Readme
+----------------------------------------------------------------------- | Running ${PKGSTEM} on OpenBSD +----------------------------------------------------------------------- Administrator Quick Start ========================= Create users by running: doas kcaldav.passwd -C -u-e email -f /var/www/caldav doas chown www:www /var/www/caldav/kcaldav.db doas chmod 640 /var/www/caldav/kcaldav.db Read kcaldav.passwd(1) for more details about creating new calenders for users, changing email address and other options. With httpd(8) the kcaldav CGI can be run through slowcgi(8) using a configuration snippet like the following: server "default" { listen on * tls port 443 tls { certificate "/etc/ssl/example.net.crt" key "/etc/ssl/private/example.net.key" } location "/cgi-bin/*" { fastcgi root "/" } } Remember to enable and start slowcgi(8): rcctl enable slowcgi rcttl start slowcgi Also, kcaldav.cgi uses http authentication for user security. Make sure your web server is configured to use https to ensure privacy of connection. User Quick Start ================ Users can manage their account settings, create calendars, and find the URL for use with their calendar application by browsing to: https://example.org/kcaldav/home.html The URL will look like: https://example.org/cgi-bin/kcaldav/ / Porting Notes: Write Ahead Logging ================================== As implemented in the original source, kcaldav use sqlite3(3) Write Ahead Logging (WAL). WAL requires write access to /tmp. This port disables WAL due to the expectation kcaldav will be running in a chroot environment which may not have a /tmp dir. To re-enable WAL: Open the kcaldav.db: doas sqlite3 caldav/kcaldav.db Type: sqlite> PRAGMA journal_mode=WAL; To disable WAL, open the kcaldav db and type: sqlite> PRAGMA journal_mode=DELETE; If you plan to run kcaldav in a chroot environment you must create a /tmp directory in the chroot dir and make it writable by the httpd daemon account: doas mkdir /var/www/tmp doas chown www:daemon /var/www/tmp doas chmod 755 /var/www/tmp For more details about WAL and temp directory requirements see: https://www.sqlite.org/wal.html https://www.sqlite.org/c3ref/temp_directory.html Porting Notes: Debug and Logging ================================ Logging in kcaldav is controlled by the kcaldav.conf(5) configuration file. The configuration file's location is set at compile-time: /var/www/conf/kcaldav.conf When sending error reports upstream, set debug=3 in kcaldav.conf(5). By default, kcaldav logs to stderr. Logging to a dedicated file can be enabled by setting the logfile variable in kcaldav.conf(5). For example: logfile=/logs/kcaldav.log kcaldav will then use the log file /var/www/logs/kcaldav.log. This file must be created by the user and permissions set: touch /var/www/logs/kcaldav.log chown www:www /var/www/logs/kcaldav.log chmod 644 /var/www/logs/kcaldav.log
Maintainer
Aaron Poffenberger
Categories
Library dependencies
Build dependencies
Files
- /usr/local/bin/kcaldav.passwd
- /usr/local/include/libkcaldav.h
- /usr/local/lib/libkcaldav.a
- /usr/local/man/man1/kcaldav.passwd.1
- /usr/local/man/man3/caldav_free.3
- /usr/local/man/man3/caldav_parse.3
- /usr/local/man/man3/ical_free.3
- /usr/local/man/man3/ical_parse.3
- /usr/local/man/man3/ical_print.3
- /usr/local/man/man5/kcaldav.conf.5
- /usr/local/man/man8/kcaldav.8
- /usr/local/share/doc/pkg-readmes/kcaldav
- /usr/local/share/kcaldav/
- /usr/local/share/kcaldav/kcaldav.example.conf
- /var/www/caldav/
- /var/www/cgi-bin/kcaldav
- /var/www/cgi-bin/kcaldav.cgi
- /var/www/htdocs/kcaldav/
- /var/www/htdocs/kcaldav/collection.html
- /var/www/htdocs/kcaldav/collection.min.js
- /var/www/htdocs/kcaldav/home.html
- /var/www/htdocs/kcaldav/home.min.js
- /var/www/htdocs/kcaldav/style.css