Kopano
Kopano 主要是一个与 Microsoft Outlook 兼容的群件。 它自带基于 mysql 的存储和 CALDAV、IMAP、POP3 和 SMTP 网关,以及一个用于访问该服务的 Web 界面。它实现了对配额、国际化、自动归档、备份、通过 webdav、owncloud 或 smb/cifs 集成文件共享以及垃圾邮件过滤的支持。
目前,kopano 在 riscv64、ppc64le 或 mips64 上不可用,因为 kopano-core(服务器组件)的一些依赖项在这些平台上尚不可用。kopano-webapp 和 z-push 当前基于 Alpine Linux 上的 php7 构建和测试。如果升级到 php8 或更高版本,则需要更新 php-fpm8(由 -webapp 使用)等部件的配置以自动启动(使用 openrc)。可以使用 kopano-admin 通过 CLI 管理 kopano。
所有 ACL 和用户的默认值应该可以 OOTB 工作。默认情况下,kopano-server、-gateway、-ical、z-push 和 webapp 的用户彼此不同。它们也与上游 kopano 中使用的用户不同。这样做是为了使每个服务只能访问其需要的资源。
如果使用 UNIX 套接字,则针对 kopano-server 的身份验证通过用户白名单(root,与守护进程相同的用户可以作为管理员进行身份验证。这是硬编码的。)完成;如果未使用套接字,则通过选定的用户后端(unix 系统 passwd、数据库、ldap)完成,具体取决于是否配置了相应的身份验证插件(可以为 UNIX 套接字禁用)。
kopano 可以集成到 Active Directory (AD) 中。
https://documentation.kopano.io/ 上的手册涵盖了所有主题。本文仅包含 Alpine Linux 特有的内容。
服务
- CALDAV - kopano-ical - tcp 443
- MAPI - kopano-server - tcp 443
- IMAPS - kopano-gateway - tcp 143, 993
- POP3S - kopano-gateway - tcp 110, 995
- SMTPS - postfix 或其他 MTA - tcp 25,465,587
- Web - 通过 php 的 Web 服务器 - tcp 443
- activesync - zpush - tcp 443
可用插件
目前已打包以下插件,每个插件都是独立的软件包
- desktopnotifications
- fetchmail
- filepreviewer
- files
- intranet
- mdm
- smime
- spellchecker
对于 files 插件,已打包以下后端
- files-backend-owncloud
- files-backend-smb
对于 spellchecker 插件,已打包以下语言包
- de-at
- de-ch
- de-de
- en-gb
- en-us
- es-es
- fr-fr
- it-it
- nl-nl
- pl-pl
安装
1) 安装软件包
apk add kopano-core kopano-core-doc kopano-webapp z-push
您还需要一个支持 CGI 的 Web 服务器,例如 apache 或 nginx。
2) 配置 mariadb
配置 mariadb 并创建一个名为 “kopano” 的数据库,用于存储 kopano 的数据。创建一个名为 “kopano-core” 的用户,该用户将能够管理该数据库。kopano-core 将使用必要的数据填充数据库。
在 mysql shell 中(将 password 替换为 kopano 用户使用的随机密码)
START TRANSACTION; CREATE DATABASE kopano; GRANT ALTER, CREATE, CREATE ROUTINE, DELETE, DROP, INDEX, INSERT, LOCK TABLES, \ SELECT, UPDATE ON kopano.* TO 'kopano'@'localhost' IDENTIFIED BY 'password'; COMMIT;
3) 准备您的 MTA
kopano 需要 MTA 来将电子邮件传递到 Internet。它只能使用特定的 SMTP 地址将电子邮件发送到单个主机。
为了接收电子邮件,kopano-dagent 需要与 postfix 集成。为了发送电子邮件,kopano-spooler 需要与 postfix 集成。kopano-dagent 可以使用 lmtp 集成。kopano-spooler 可以使用环回上的 smtp 套接字集成,例如。
4) 配置 kopano-core
默认情况下,配置目录 /etc/kopano/ 中没有任何配置文件。Alpine Linux 的默认配置文件(意味着它们不是真正的默认配置)位于 `/usr/share/doc/kopano/example-config/` 中。将所有文件复制到 /etc/kopano/。
cp /usr/share/doc/kopano/example-config/*.cnf /etc/kopano/
在 `/etc/kopano/server.conf` 中,在文件中声明的 mysql_* 变量中输入连接到 mariadb 服务器的详细信息,并配置任何其他必要的详细信息,例如 TLS 证书和证书链。
原生情况下,kopano-core 使用 berkeley db (bsddb) 来存储 kopano-search 和某些工具使用的一些信息。由于 Alpine Linux 不再支持 bsddb,因此已对其进行修补以改用 mdbx。
5) 配置 kopano-webapp
目录 /etc/webapps/kopano-webapp 包含 kopano-webapp 的配置。不同插件的配置文件通过符号链接提供给应用程序,以便于管理。默认值已针对 Alpine Linux 进行了调整,应该可以正常工作。
6) 配置 z-push
目录 /etc/webapps/z-push 包含 z-push 的配置。默认值已针对 Alpine Linux 进行了调整,应该可以正常工作。
7) 配置 Web 服务器
nginx 和 apache 的示例配置文件位于 z-push 和 kopano-webapp 的 /etc/webapps/ 目录中。apache 和 nginx 的配置文件只是位置,而不是完整的 vhost。因此,它们需要首先集成到 vhost 中。强烈建议复制完整的文件,而不是从其原始位置包含它们,这样 Web 服务器就不需要能够访问 kopano 的任何配置目录。确保 Web 服务器的用户是 http 组的成员。此组是 php-fpm 用于 kopano-webapp 和 z-push 的 unix 套接字的所有者。
8) 配置 php-fpm
php-fpm 应该不需要任何额外的配置,除了启动 php-fpm 守护进程。kopano-webapp 和 z-push 附带 php-fpm7 配置文件,其中包含用于 http 组访问它们使用的 unix 套接字的正确配置。
service php-fpm7 start
9) 启动服务
提供了 kopano-dagent、-gateway、-ical、-monitor、-search、-server、-spamd 和 -spooler 的 openrc 单元。它们彼此之间的依赖关系在 openrc 文件中表达,应该可以 OOTB 工作。
for i in dagent gateway ical monitor search server spamd spooler; do rc-service kopano-$i start done
10) 启用服务
for i in dagent gateway ical monitor search server spamd spooler; do rc-update add kopano-$i default done