SDB:Kolab
什么是 Kolab?
Kolab 是一个安全、可扩展且可靠的群件服务器。它由许多知名且经过验证的组件或标准任务组成,例如电子邮件、目录和 Web 服务。[1]
组件
- 389 Directory Server 作为默认 LDAP 服务器组件
- Postfix 用于传递邮件
- Cyrus IMAP 作为存储和 IMAP 连接
- amavisd-new、SpamAssasin 和 ClamAV 用于垃圾邮件检测和病毒扫描
- Roundcube Webmail 作为 Web 邮件客户端
- SASL
- Kolab 服务、内容过滤器、定义和绑定
请参阅 Kolab 以获取更多信息。
安装过程
通常,安装过程包括以下步骤
- 添加仓库
- 安装所需的组件
- 修改配置文件
- 运行 kolab 设置程序
本节将详细介绍这些步骤。
仓库
要安装 Kolab,您需要添加 server:Kolab:UNSTABLE 和 server:Kolab:Extras 仓库。还有一个 server:Kolab:STABLE 仓库,其中包含稳定且经过测试的软件包。目前没有稳定的软件包可用,因此请不要使用它。
以下将在 openSUSE Leap 15.6 上添加所需的仓库(STABLE、UNSTABLE 和 Extras)并刷新仓库缓存
此处 您可以找到有关如何添加仓库的其他示例。
版本:15.5
版本:Tumbleweed
软件包
配置仓库后,可以安装 Kolab 及其所有依赖软件包
或者 - 如果您只想安装 Kolab 3 的 LDAP 组件,
| 软件包 | 摘要 |
|---|---|
| kolab | Kolab Groupware Server 元包,用于单服务器安装 |
| kolab-conf | Kolab Groupware 配置实用程序软件包元包 |
| kolab-imap | Kolab Groupware IMAP 组件元包 |
| kolab-ldap | Kolab Groupware LDAP 组件元包 |
| kolab-mta | Kolab Groupware 邮件传输代理元包 |
| kolab-webadmin | 基于 Web 的 Kolab Groupware Server 管理和用户界面 |
| kolab-webclient | 基于 Web 的 Kolab Groupware Server 邮件客户端 |
对于单服务器安装,建议安装额外的软件包 kolab-scripts 以简化安装
预安装
Kolab 需要一些系统调整(最好在安装前),运行
将触发一个脚本,该脚本将
- 检查是否具有完全限定的域名并回退到“kolab.ajaissle.de”,如果没有 fqdn 存在,
- 更新您的系统以确保您使用的是最新的软件包和错误修复,
- 检查是否存在 ca 和服务器证书或创建证书颁发机构和自签名服务器证书(如果不存在),
- 授予 cyrus 和 postfix 用户访问证书的权限,
- 为 cyrus-imapd 创建 user_deny.db,以及
- 更新 ClamAV 病毒定义数据库。
您可以
以详细了解用于此任务的命令。
安装
准备好系统后,您可以使用
由于涉及许多服务(为了更高的安全性),设置脚本将要求提供许多密码值
- LDAP 管理员 - 用于登录 389 Directory Server 图形控制台
- LDAP 目录管理器 (cn=Directory Manager) - 您将用于至少最初登录 Web 管理面板的管理员用户,以及 Kolab 用于执行管理任务的用户
- Cyrus 管理员 - Kolab 用于在 Cyrus IMAP 中执行管理任务
- Kolab 服务帐户 - 由 Postfix 和 Roundcube 等服务用于创建与 LDAP 服务器的绑定
- MySQL root 用户 - MySQL 服务器的管理员用户。Kolab 将仅在安装后才需要此用户并忘记它。您仍然需要知道它来进行备份等管理任务。
- MySQL 'kolab' 用户 - 由 Kolab 服务使用,例如 Web 管理面板。
- MySQL 'roundcube' 用户 - 由 Roundcube Webmail 界面使用。
安装后
设置完成后,您应该能够登录到 Kolab Web Administration 面板。Kolab Web Admin 位于 http://''serveraddress''/kolab-webadmin,其中 serveraddress 是您的服务器地址或主机名。对于您的首次登录,您必须使用“cn=Directory Manager”作为用户名,并使用在设置过程中提供的密码。
提示和技巧
为您的用户添加一个别名,该别名将接受来自 root@domain.tld 的电子邮件。例如,如果 cron 发送电子邮件通知,则电子邮件将到达具有 root 别名的用户。
更好的解决方案是,将电子邮件发送到分发列表,例如 cron@domain.tld。在这种情况下,您应该在 cron 脚本中将您的电子邮件发送到 cron@domain.tld。
群件测试
- 打开浏览器并指向
- https://@servername@/freebusy/user@domain.tld.ifb
- https://@servername@/freebusy/user@domain.tld.xfb
- https://@servername@/freebusy/trigger/user@domain.tld/FOLDER.pfb(将 FOLDER 替换为您的 Kalendar 文件夹,例如)
所有这些 URL 都应该显示您 ical 格式的数据。
在上面的 URL 中,user@domain.tld 是您在使用 kolab web admin 界面之前创建的用户。
- Curl 也可以用于测试 freebusy 组件(比使用首选浏览器快十倍)
curl -u user@domain.tld:password -k -X GET \ https://@servername@/freebusy/trigger/user@domain.tld/FOLDER.pfb
使用此 freebusy 测试脚本来测试 freebusy 功能。
#!/bin/bash
# See: http://kolab.org/cgi-bin/viewcvs-kolab.cgi/doc/architecture/freebusy.txt
# The server that runs the kolab server
SERVER=yourserver
# The user and password that logins to the kolab server (user@domain.tld)
LOGIN_USER=youruser
PASSWORD=youruser_password
# The user for whom the Free Busy information is requested
FB_USER=
if [[ -z "$PASSWORD" ]]; then
echo "error: password is required" >&2
exit 1
else
_PASSWORD=:$PASSWORD
fi
_LOGIN_USER=$(echo $LOGIN_USER | sed 's/@/%40/')
[[ -z "$FB_USER" ]] && FB_USER=$_LOGIN_USER
HTTP=yes
if [[ "$HTTP" == "yes" ]]; then
PROTOCOLS="http https"
else
PROTOCOLS="https"
fi
for PROT in $PROTOCOLS; do
echo === $PROT ifb ===
curl -k $PROT://${_LOGIN_USER}${_PASSWORD}@$SERVER/freebusy/$FB_USER.ifb
echo
echo === $PROT xfb ===
curl -k $PROT://${_LOGIN_USER}${_PASSWORD}@$SERVER/freebusy/$FB_USER.xfb
echo
echo === $PROT pfb with trigger ===
curl -k $PROT://${_LOGIN_USER}${_PASSWORD}@$SERVER/freebusy/trigger/$FB_USER/Calendar.pfb
echo
echo === $PROT pfb ===
curl -k $PROT://${_LOGIN_USER}${_PASSWORD}@$SERVER/freebusy/$FB_USER/Calendar.pfb
echo
echo === $PROT pxfb ===
curl -k $PROT://${_LOGIN_USER}${_PASSWORD}@$SERVER/freebusy/$FB_USER/Calendar.pxfb
echo
done
客户端
KDE 客户端配置
基于 KDE 的 Kontact 的客户端配置在 kolab server 2 和 kde 客户端配置 中描述
如果群件功能正常并且 Kontact 已正确配置,您应该能够看到以下图片
Web 客户端
Kolab 3.x 有自己的修改后的 Roundcube Webmail(更准确地说,使用 Roundcube Webmail 加上各种插件)。要使用它,请安装 kolab-webclient 软件包
安装后,您可以从 http://@servername@/roundcubemail 访问它。请注意,@servername@ 应该与在运行 kolab-bootstrap 时提供的相同。
如果您在从 webclient 登录时遇到问题,请检查 apache 的 error_log。
不要忘记检查您的日历,如右侧屏幕截图所示。如果未选中日历,则不会显示它。虽然您可以成功安排事件....
个人信息同步
如果您想将您的移动电话与存储在 Kolab 服务器中的信息同步,可以通过安装 kolab-syncroton 软件包来执行此操作
在单服务器安装中,此软件包默认安装。安装后,您可以检查 http://servername/Microsoft-Server-ActiveSync 并使用您的 Kolab 用户凭据登录。如果一切正常,您应该看到您的用户 ID 和 IP 地址显示。
It works! Your userid is: 14 and your IP address is: 192.168.154.52.
备份
在 kolab_bootstrap 过程中,许多配置文件会被写入磁盘。其中一些会覆盖您的配置文件。kolab_bootstrap 期间要创建的配置文件,可以通过以下命令确定:
/etc/kolab/templates # sed -n 's/^.*TARGET=//p' * For example: /etc/amavisd.conf /etc/clamd.conf /etc/cyrus.conf /etc/freshclam.conf /etc/imapd.conf /etc/kolab/kolab_smtpdpolicy.conf /etc/openldap/ldap.conf /etc/postfix/ldapdistlist.cf /etc/postfix/ldaptransport.cf
原始配置文件会在 kolab_bootstrap 的首次执行期间保存(备份)到 /var/adm/backup/kolab/kolab_backup-orig.tar.bz2。
请告诉我们如何改进。这可以通过在 wiki 页面的讨论页上进行,以及通过 kolab-devel (at) kolab (dot) org 邮件列表进行。如果您使用讨论页,请通过电子邮件告知打包人员,邮件内容包含 kolab 在 suse 上的问题。
故障排除
用于调试的有用命令
获取已安装的 Kolab 包列表
LDAP 故障排除
检查以下内容是否有错误(将 HOSTNAME 替换为您的 389-ds 实例名称):
如果安装脚本完成了它的工作并创建了一个 389-ds 实例,您可以尝试手动启动该实例
如果该实例已创建但未启动,请检查
如果执行了上述命令,请查看 /etc/systemd/system/dirsrv.target.wants/ 目录,并检查它是否为空。其中应该存在一个名为 dirsrv@HOSTNAME.service 的链接。
重置损坏的安装以进行重新安装
如果您取消了安装或安装卡住,或者只是想从头开始重新安装一个可用的 Kolab 服务器,您首先需要删除任何创建的 MySQL 数据库和 389-ds LDAP 服务器实例。
删除 LDAP 实例
删除 MySQL 数据库


