DAViCal

来自 ArchWiki

DAViCal 是一个实现了 CalDAV 和 CardDAV 协议的服务器。它仅仅是一个服务器,几乎没有直接的用户交互,而是依赖于使用 CalDav 客户端,例如 Apple 的 iCal.app、iOS (iPhone、iPad、iPod)、带有 Sunbird 的 Thunderbird,或者 Evolution。

安装

安装先决条件

DAViCal 使用 PHP 编写,并使用 PostgreSQL 数据库作为其后端来存储日历信息。目前它仅支持 PostgreSQL,但也正在努力支持其他数据库。

安装 davicalAURpostgresqlphpphp-pgsql

安装目录由 Web 应用程序软件包指南 定义,并且与上游文档略有不同 (/usr/share/webapps/davical/etc/webapps/davical)。

DAViCal 是一个 Web 应用程序,因此您也需要设置一个 Web 服务器。这里将假定使用 Nginx,但 DAViCal 几乎可以在任何 Web 服务器上运行(某些服务器可能会在看到 CalDAV HTTP 标头时停止处理请求,因此 DAViCal 将无法看到它们)。

准备 PostgreSQL

首先,您应该按照 PostgreSQL#安装 中的说明设置 PostgreSQL,使其可以启动。

DAViCal 需要设置两个独立的帐户,一个用于从 Web 应用程序访问数据库(权限受限),另一个用于管理与 DAViCal 相关的表。

为此,您需要编辑 /var/lib/postgres/data/pg_hba.conf

添加以下行

   local   davical         davical_app                             trust
   local   davical         davical_dba                             trust

确保您的数据库中拥有 'root' 角色。如果您没有,请按照 PostgreSQL 页面上的描述,成为 postgres 用户并执行以下操作来创建它

$ createuser -s -U postgres --interactive
$ Enter name of role to add: root

以 root 身份运行 create-database.sh 脚本来准备数据库

# /usr/share/webapps/davical/dba/create-database.sh

然后以 root 身份运行 createdb

# createdb

如果您的 PostgreSQL 服务器位于远程主机上,请使用 DAViCal PostgreSQL_Config 而不是上面的说明。