SDB:Kolab

跳转到:导航搜索


Kolab 是一个安全、可扩展且可靠的群件服务器。它由许多知名且经过验证的组件组成,并增加了它们之间的智能交互。
如果您是 openSUSE 社区成员,您可以 投票支持 openSUSE 对 Kolab 的支持。如果您喜欢 Kolab 在 openSUSE 上,请务必投票!

什么是 Kolab?

Kolab 是一个安全、可扩展且可靠的群件服务器。它由许多知名且经过验证的组件或标准任务组成,例如电子邮件、目录和 Web 服务。[1]

组件

  1. 389 Directory Server 作为默认 LDAP 服务器组件
  2. Postfix 用于传递邮件
  3. Cyrus IMAP 作为存储和 IMAP 连接
  4. amavisd-new、SpamAssasin 和 ClamAV 用于垃圾邮件检测和病毒扫描
  5. Roundcube Webmail 作为 Web 邮件客户端
  6. SASL
  7. Kolab 服务、内容过滤器、定义和绑定

请参阅 Kolab 以获取更多信息。


安装过程

通常,安装过程包括以下步骤

  1. 添加仓库
  2. 安装所需的组件
  3. 修改配置文件
  4. 运行 kolab 设置程序

本节将详细介绍这些步骤。


仓库

要安装 Kolab,您需要添加 server:Kolab:UNSTABLEserver:Kolab:Extras 仓库。还有一个 server:Kolab:STABLE 仓库,其中包含稳定且经过测试的软件包。目前没有稳定的软件包可用,因此请不要使用它。

以下将在 openSUSE Leap 15.6 上添加所需的仓库(STABLE、UNSTABLE 和 Extras)并刷新仓库缓存

zypper addrepo -f https://download.opensuse.org/repositories/server:/Kolab:/STABLE/15.6 server:Kolab:STABLE
zypper addrepo -f https://download.opensuse.org/repositories/server:/Kolab:/UNSTABLE/15.6 server:Kolab:UNSTABLE
zypper addrepo -f https://download.opensuse.org/repositories/server:/Kolab:/Extras/15.6 server:Kolab:Extras
zypper refresh

此处 您可以找到有关如何添加仓库的其他示例。




软件包

配置仓库后,可以安装 Kolab 及其所有依赖软件包

zypper install kolab

或者 - 如果您只想安装 Kolab 3 的 LDAP 组件,

zypper install kolab-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 以简化安装

zypper install kolab-scripts

预安装

单服务器安装说明

Kolab 需要一些系统调整(最好在安装前),运行

kolab-prep-setup

将触发一个脚本,该脚本将

  1. 检查是否具有完全限定的域名并回退到“kolab.ajaissle.de”,如果没有 fqdn 存在,
  2. 更新您的系统以确保您使用的是最新的软件包和错误修复,
  3. 检查是否存在 ca 和服务器证书或创建证书颁发机构和自签名服务器证书(如果不存在),
  4. 授予 cyrus 和 postfix 用户访问证书的权限,
  5. 为 cyrus-imapd 创建 user_deny.db,以及
  6. 更新 ClamAV 病毒定义数据库。

您可以

cat /usr/sbin/kolab-prep-setup

以详细了解用于此任务的命令。


安装

单服务器安装说明

准备好系统后,您可以使用

kolab-start-setup

由于涉及许多服务(为了更高的安全性),设置脚本将要求提供许多密码值

  • 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 已正确配置,您应该能够看到以下图片

kolab 在 openSUSE 中 korganizer 提供的群件功能



Web 客户端

Kolab 3.x 有自己的修改后的 Roundcube Webmail(更准确地说,使用 Roundcube Webmail 加上各种插件)。要使用它,请安装 kolab-webclient 软件包

zypper install kolab-webclient

安装后,您可以从 http://@servername@/roundcubemail 访问它。请注意,@servername@ 应该与在运行 kolab-bootstrap 时提供的相同。

如果您在从 webclient 登录时遇到问题,请检查 apache 的 error_log。

不要忘记检查您的日历!

不要忘记检查您的日历,如右侧屏幕截图所示。如果未选中日历,则不会显示它。虽然您可以成功安排事件....


个人信息同步

如果您想将您的移动电话与存储在 Kolab 服务器中的信息同步,可以通过安装 kolab-syncroton 软件包来执行此操作

zypper install 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 包列表

rpm -qa "*kolab*"

LDAP 故障排除

检查以下内容是否有错误(将 HOSTNAME 替换为您的 389-ds 实例名称):

systemctl status dirsrv.target
systemctl status dirsrv@HOSTNAME.service
cat /var/log/kolab/pykolab.log
cat /var/log/messages
cat /var/log/dirsrv/slapd-HOSTNAME/errors
cat /var/log/dirsrv/slapd-HOSTNAME/access

如果安装脚本完成了它的工作并创建了一个 389-ds 实例,您可以尝试手动启动该实例

systemctl restart dirsrv.target
systemctl restart dirsrv@HOSTNAME.service

如果该实例已创建但未启动,请检查

systemctl start dirsrv.target

如果执行了上述命令,请查看 /etc/systemd/system/dirsrv.target.wants/ 目录,并检查它是否为空。其中应该存在一个名为 dirsrv@HOSTNAME.service 的链接。

重置损坏的安装以进行重新安装

如果您取消了安装或安装卡住,或者只是想从头开始重新安装一个可用的 Kolab 服务器,您首先需要删除任何创建的 MySQL 数据库和 389-ds LDAP 服务器实例。

Icon-warning.png
警告:以下操作将完全删除 LDAP 实例和所有 MySQL 数据库。只有在备份了所有数据或正在执行全新安装的情况下,才建议执行以下步骤。

删除 LDAP 实例

systemctl stop dirsrv.target
rm -r /etc/dirsrv/slapd-*

删除 MySQL 数据库

systemctl stop mysql.service
rm -r /var/lib/mysql/*

参见