Kopano to grommunio HowTo: Unterschied zwischen den Versionen

Aus Neobikers Wiki
Zur Navigation springen Zur Suche springen
Zeile 28: Zeile 28:
== Zertifikate ==
== Zertifikate ==
<pre>
<pre>
# falls ein Zertifikat von UCS erzeugt wurde kann das verwendet werden
# falls ein Zertifikat von UCS für den grommunio server erzeugt wurde kann das verwendet werden
cd /etc/grommunio-common/ssl
cd /etc/grommunio-common/ssl
scp $kopano-server:/etc/univention/ssl/grommunio/cert.pem server-bundle.pem
scp $kopano-server:/etc/univention/ssl/grommunio/cert.pem server-bundle.pem

Version vom 4. Januar 2024, 12:48 Uhr

Installation auf Debian 12

Eine fertige grommunio Appliance ist auf Basis von S.u.S.E. erstellt und steht u.a. als ISO download zur Verfügung. Da ich derzeit ausschliesslich Debian basierte Systeme verwende, bevorzuge ich eine grommunio Installation auf Debian 12 (bookworm).

Im grommunio Forum findet sich ein Diskussionsthread für die grommunio Installation auf Debian 12 durch ein Script. Diese läuft auf einer neu erstellten VM auf Proxmox Server fehlerfrei durch. In einem LXC Container gab es Probleme, u.a. klemmte der POP3 Service.

Im Anschluss an das Installationsskript habe ich noch folgendes Script unter Additions - Fix Grommunio Admin Live Status page ausgeführt, welches ebenfalls funktionierte und die entsprechende Seite im Web Interface reparierte.

Konfiguration

Kopano Core ist bei mir als Applikation auf meinem UCS File- und Mailserver installiert. Die Benutzerkonten und deren Konfiguration werden von UCS verwaltet und stehen per LDAP zur Verfügung.

# mein UCS-Kopano Server
kopano_server=ucsmail

# ssh connections without prompts
ssh-keygen
ssh-copy-id $kopano_server

# mount /var/lib/kopano/attachments per sshfs
if [ -e /etc/debian_version ] then
    apt install sshfs screen
else
    zypper in sshfs          # (grommunio app/iso installation)
fi
mkdir -p /mnt/kopano_attachments
sshfs $kopano_server:/var/lib/kopano/attachments /mnt/kopano_attachments

Zertifikate

# falls ein Zertifikat von UCS für den grommunio server erzeugt wurde kann das verwendet werden
cd /etc/grommunio-common/ssl
scp $kopano-server:/etc/univention/ssl/grommunio/cert.pem server-bundle.pem
scp $kopano-server:/etc/univention/ssl/grommunio/private.key server.key
chown gromox:gromox server*
chmod 660 server*

if [ -e /etc/debian_version ] then
    scp $kopano_server /etc/univention/ssl/ucsCA/CAcert.pem /usr/local/share/ca-certificates/my-custom-ca/
else
    # SuSE appliance location
    cp *.pem /etc/pki/trust/anchors/
fi
update-ca-certificates

LDAP

ssh $kopano_server grep -e ^ldap_uri -e ^ldap_bind -e ^ldap_group_search -e ^ldap_user_search -e ^ldap_group_search /etc/kopano/ldap.cfg

ldap_uri = ldap://ucsmail.domain.de:7389/
ldap_bind_user = cn=ucsmail,cn=dc,cn=computers,dc=domain,dc=de
ldap_bind_passwd = xxxxxxxxxxxxxx
ldap_search_base = dc=domain,dc=de
ldap_user_search_filter = (kopanoAccount=1)
ldap_group_search_filter = (&(kopanoAccount=1)(objectClass=kopano-group))

# configure LDAP accordingly
grommunio-admin ldap configure

# test: list users
grommunio-admin ldap search
ID                                    Type  E-Mail                   Name
2222222222-11-10111-22222-3333333333  user  neobiker@neobiker.de     Neobiker

Email Domains und User

Das Anlegen einer Domain im Web-Interface schlägt direkt fehl - "Bad Request". Nicht schlimm, aber vielleicht nehme ich doch lieber die fertige Appliance auf Basis von S.u.S.E. ?

Per Kommandozeile funktioniert es jedenfalls.

domains=$(ssh $kopano_server ucr get mail/hosteddomains)
users=$(grommunio-admin ldap search)

# create email domains
for domain in $domains; do
    u_cnt=$(echo "$users" | grep -c $domain)
    [ $u_cnt -gt 0 ] && echo grommunio-admin domain create -u $u_cnt $domain
done

# import and sync LDAP users
grommunio-admin ldap downsync -c


Export - Import via Outlook .pst

Da ich nur 5 Konten habe, ist diese Methode auch nicht ganz abwegig:

  • Emails
  • Kalender
  • Kontakte
  • Notizen
  • usw.
gromox-pff2mt /tmp/neobiker_outlook.pst | gromox-mt2exm -u neobiker@neobiker.de

Import von Emails aus Kopano

Das hat für mein Neobiker Postfach prima geklappt.

# gromox-kdb2mt — Utility for analysis/import of Kopano mailboxes
# gromox-mt2exm — Utility for importing various mail items

kopano_server=ucsmail

# ssh conections without prompts
ssh-copy-id $kopano_server

# mount /var/lib/kopano/attachments per sshfs
# debian: apt install sshfs screen
zypper in sshfs          # (grommunio app/iso installation)

mkdir -p /mnt/kopano_attachments
sshfs $kopano_server:/var/lib/kopano/attachments /mnt/kopano_attachments

# detach (CTRL-A d) the SSH tunnel to SQL server (who only accepts localhost conections)
screen ssh -L 12345:localhost:3306 "root@${kopano_server}"

# EXAMPLE for user neobiker = neobiker@neobiker.de
# ------------------------------------------------
# ENVIRONMENT variable is used for SQL password
# either EXPORT it or write in one line with cmd
SQLPASS=$(ssh $kopano_server cat /etc/mysql.secret) gromox-kdb2mt --sql-host 127.0.0.1 --sql-port 12345 --src-attach /mnt/kopano_attachments --mbox-mro neobiker | gromox-mt2exm -u neobiker@neobiker.de
kdb2mt: No ACLs will be extracted.
kdb Server GUID: xxxxxxxxxxxxxxxxxxxxxxxxxxx
Database schema is kdb-118
Store GUID for MRO "neobiker": xxxxxxxxxxxxxxxxxxxxxxxxx
Processing folder "" (7 elements)...
Processing folder "IPM_SUBTREE" (19 elements)...
Processing folder "Posteingang" (791 elements)...
Processing folder "Postausgang" (0 elements)...
Processing folder "Gelöschte Objekte" (1 elements)...
Processing folder "Gesendete Objekte" (1 elements)...
Processing folder "Kontakte" (0 elements)...
Processing folder "Kalender" (1 elements)...
Processing folder "Entwürfe" (0 elements)...
Processing folder "Journal" (0 elements)...
Processing folder "Notizen" (0 elements)...
Processing folder "Aufgaben" (0 elements)...
Processing folder "Junk E-Mail" (44 elements)...
Processing folder "RSS Feeds" (0 elements)...
Processing folder "Konversationseinstellungen" (0 elements)...
Processing folder "Quickstep Einstellungen" (0 elements)...
Processing folder "Vorgeschlagene Kontakte" (0 elements)...
Processing folder "Spambox" (0 elements)...
Processing folder "Junk-E-Mail" (0 elements)...
Processing folder "Gelöschte Elemente" (0 elements)...
Processing folder "Gesendete Elemente" (0 elements)...
Processing folder "IPM_COMMON_VIEWS" (2 elements)...
Processing folder "IPM_VIEWS" (0 elements)...
Processing folder "FINDER_ROOT" (0 elements)...
Processing folder "Verknüpfung" (0 elements)...
Processing folder "Schedule" (0 elements)...
Processing folder "Freebusy Data" (1 elements)...

Der Import landet (leider) in einem separatem Verzeichnis

Import aller Email Konten

export_mbox="gromox-kdb2mt --sql-host 127.0.0.1 --sql-port 12345 --src-attach /mnt/kopano_attachments"
SQLPASS=$(ssh $kopano_server cat /etc/mysql.secret)

# LOOP over all email accounts (except SYSTEM)
# --------------------------------------------
users=$(ssh $kopano_server "kopano-admin -l | tail -n +4 | awk '{print $1}' | grep -v SYSTEM")

for user in ${users}; do

  details=$(ssh $kopano_server kopano-admin --details $user)
  email=$(echo "${details}" $user | awk '/Emailaddress:/ {print $2}')
  guid=$(echo "${details}" $user | awk '/Store GUID:/ {print $3}')

  SQLPASS=$SQLPASS $export_mbox --mbox-guid $guid | gromox-mt2exm -u $email

done

# stop ssh tunnel -> exit ssh on kopano server
screen -r

# unmount kopano attachments
umount /mnt/kopano_attachments

Postfix

Mail Delivery Agent (MDA) Konfiguration

  • zum versenden von Emails
  • Mailaddress rewritings
domains=$(ssh ucsmail ucr get mail/hosteddomains)

Mail Relay Server

Postfix can use a mail relay server.

ssh $kopano_server ucr get mail/relayhost
# authentification on relay host
/etc/postfix/smtp_auth
# format
# FQDN-Relayhost username:password

postmap /etc/postfix/smtp_auth
postmap /etc/postfix/tls_policy
service postfix reload

Fetchmail

Fetchmail Konfiguration zum abholen der Emails von meinem Email Provider. Emails werden entweder von UCS oder grommunio abgeholt und and Postfix übergeben!

Auf UCS für jeden Benutzer deaktivieren
-> Advanced settings ‣ Remote mail retrieval (single)
oder Postfix auf UCS zur weiterleitung an grommunio konfigurieren.

systemctl stop fetchmail
systemctl disable fetchmail
ucr set fetchmail/autostart=false

# fetchmail config and passwords
cat /etc/fetchmailrc