OpenBSD Handbook

    Theme
    • Part I. Install & Configure
      • Introduction to OpenBSD
      • Installing OpenBSD
      • The X Window System
      • Networking on OpenBSD
      • System Configuration
      • OpenBSD Basics
      • Managing Software: Packages and Ports
    • Part II. Daily Operations
      • OpenBSD Desktop Environments
      • Multimedia
      • Printing
      • Linux Compatibility
      • Windows Compatibility
      • Games
    • Part III. System Administration
      • Virtualization
      • Storage and File Systems
      • Updating and Upgrading
      • Localization
      • The OpenBSD Boot Process
      • Security
    • Part IV. Networking & Daemons
      • Services
        • Database
          • MariaDB
          • PostgreSQL
          • Redis
          • memcached
        • Directory
          • YP (NIS)
          • LDAP
        • File
          • NFS
          • Samba
        • FTP Services
          • ftpd
          • ProFTPD
          • vsftpd
          • Pure-FTPd
          • TFTP
        • Mail
          • OpenSMTPD Mail Server
          • Dovecot IMAP and POP3 Server
          • Postfix
          • Exim
          • Rspamd
        • Name
          • Unbound DNS Resolver
          • NSD Authoritative DNS Server
          • BIND DNS Server
        • Networking
          • OpenBGPD
          • rad
          • DHCP on OpenBSD
          • slaacd
        • Web
          • Apache HTTP Server
          • nginx Web Server
          • OpenBSD httpd Web Server
          • relayd Reverse Proxy
        • Logging
          • syslogd
        • Monitoring
          • SNMP
        • Remote Access
          • Audit OpenSSH
          • OpenSSH Server
        • File Synchronization
          • rsync
        • Messaging
          • RabbitMQ Message Broker
        • Time
          • NTP Time Synchronization
      • PF
        • pfctl cheat sheet
        • PF Anchors
        • PF Filter Rules
        • PF Forwarding
        • PF Lists and Macros
        • PF Load Balancing
        • PF Logging
        • PF NAT
        • PF Options
        • PF Policies
        • PF Shortcuts
        • PF Tables
      • Advanced Networking
        • High Availability and State Replication
        • Multi-WAN and Policy-Based Routing
        • VPN and Cryptographic Tunneling
        • Classic and Lightweight Tunnels
        • IPv6 at Scale
        • QoS and Traffic Shaping
        • MPLS and Label Distribution
        • Network Services at Scale
        • Virtualization and Host Networking
        • Large-Scale L2 and L3 Design
        • Telemetry, Logging, and Flow Export
        • Hardening and Operational Safety
        • Reference Architectures
        • Troubleshooting Playbooks
      • Serial Communication
    • Part V. Miscellaneous
      • Virtualization Cheat Sheet
      • OpenBSD Cheatsheet
      • How-to Guides
        • Complete the First 30 Minutes After Installation
        • Check Hardware Compatibility Before Installing
        • Bootstrap Wi-Fi Firmware Without Ethernet
        • Set Up OpenBSD as a Laptop or Workstation
        • Configure Laptop Power Management
        • Run OpenBSD as a Virtual Machine Guest
        • Install OpenBSD on a VPS or Cloud Server
        • Install OpenBSD with Full-Disk Encryption
        • Troubleshoot Web Browsers on OpenBSD
        • Create an Administrator Account with doas and SSH Keys
        • Establish a Conservative Security Baseline
        • Manage OpenBSD with Ansible
        • Recover Access and Reset the Root Password
        • Collect OpenBSD Diagnostic Evidence
        • Configure Secure Remote Access with OpenSSH
        • Set Up WordPress on OpenBSD
        • Build Third-Party Software from Ports
        • Use FIDO Security Keys with OpenSSH
        • Build OpenBSD from Source
        • Configure Wi-Fi Roaming and Wired Failover
        • Dual-Boot OpenBSD on a UEFI System
        • Troubleshoot PF, NAT, and Routing
        • Automate OpenBSD Installation with Autoinstall and PXE
        • Route Multiple VLANs with PF
        • Configure a Road-Warrior WireGuard VPN
        • Troubleshoot Package Installation and Update Failures
        • Route IPv6 Networks without NAT
        • Schedule Recurring Maintenance
        • Plan a Docker Workload Migration to OpenBSD
        • Build a Mail Server with OpenSMTPD, Dovecot, and Rspamd
        • Build a Simple Router and Firewall
        • Monitor an OpenBSD System
        • Back Up and Restore an OpenBSD System
        • Configure softraid RAID1
        • Recover an OpenBSD System That Does Not Boot
        • Install Z shell (zsh)
      • OpenBSD for Linux Users
      • OpenBSD for FreeBSD Users
      • OpenBSD for macOS Users
    • OpenBSD FAQ
    • OpenBSD Architectures
      • OpenBSD Package Search

        kcaldav-0.2.5

        Package search / Categories / Current snapshot
        โ† Back to search
        OpenBSD branch
        OpenBSD 8.0 releaseCurrent snapshot

        Current snapshot ยท amd64

        a simple, safe, and minimal CalDAV server

        Project homepage: https://kristaps.bsd.lv/kcaldav/

        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.

        Package information

        Ports path
        www/kcaldav
        Package architecture
        amd64
        Maintainer
        Aaron Poffenberger <akp@hypernote.com>
        Categories
        www
        Available flavors
        None listed

        Ports list build and test dependencies as well as runtime dependencies. pkg_add selects those needed for installation.

        Direct dependencies

        Library

        • databases/sqlite3

        Build

        • www/kcgi
        OpenBSD README
        +-----------------------------------------------------------------------
        | Running kcaldav on OpenBSD
        +-----------------------------------------------------------------------
        
        Administrator Quick Start
        =========================
          Create users by running:
        
            doas kcaldav.passwd -C -u <user> -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/<username>/
        
        
        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
        

        Package guides

        • Installing and updating packages

        Package details as JSON

        Report a bug