Cicle formatiu: CFGM Sistemes Microinformàtics i Xarxes (SMX) / CFGS Administració de sistemes informàtics en xarxa (ASIX)
Mòdul: 0227 - Serveis de xarxa / 0375 - Serveis de xarxa i Internet
Sistema operatiu: Ubuntu Server 26.04 LTS
SOGo (Scalable OpenGroupware.org) és un servidor de groupware lliure i modern que ofereix calendaris compartits, llibretes d’adreces i correu electrònic a través d’un navegador web (interfície AJAX) o de clients natius com Mozilla Thunderbird, Apple Calendar/Contacts o Microsoft Outlook.
A diferència de solucions com Microsoft Exchange o Zimbra, SOGo no reimplementa els serveis de correu, directori o base de dades: reutilitza la infraestructura ja existent (IMAP, SMTP, LDAP, SQL), fent-lo fàcil d’integrar en un entorn ja muntat. És, per tant, la peça que falta entre el servidor de correu/directori i l’usuari final, oferint una interfície unificada.
Va néixer com a evolució del projecte OpenGroupware.org (Skyrix, 1998) i té la primera versió estable el 2009. Actualment, el desenvolupa i el manté l’empresa canadenca Inverse (avui part d’Alinto).
Un servidor groupware és un sistema que centralitza i coordina la informació i les eines de treball col·laboratiu d’un grup d’usuaris o d’una organització, en lloc de deixar que cadascú gestioni les seves dades de manera aïllada. Típicament ofereix, com a mínim, aquests tres pilars:
Correu electrònic: bústies compartides o individuals accessibles des de qualsevol client (IMAP/SMTP).
Calendaris compartits: permeten veure la disponibilitat d’altres usuaris, convocar reunions, reservar recursos (sales, projectors) i sincronitzar cites entre dispositius.
Llibretes d’adreces compartides: un directori de contactes comú per a tota l’organització (sovint anomenat GAL, Global Address List).
SOGo es distribueix sota llicències lliures:
- El servidor (
sogo, dimonisogod) es publica sota GNU GPL v2 o posterior.- Les biblioteques (SOPE, els mòduls de suport) es publiquen sota GNU LGPL v2.1 o posterior.
- Alguns components addicionals utilitzen MPL.
És programari 100% lliure i gratuït: no hi ha edició “community” limitada ni funcionalitats tancades darrere d’un mur de pagament, a diferència d’altres solucions de groupware comercials. Alinto ofereix, opcionalment, suport professional i un dipòsit de paquets de producció (de pagament), però l’ús del programari en si no requereix cap llicència comercial.
sogo-tool per fer
còpies de seguretat de preferències, esdeveniments i contactes de cada
usuari (vegeu la secció Manteniment i
eines).SOGo reutilitza serveis existents, així que abans d’instal·lar-lo cal tenir (o preveure instal·lar):
| Component | Opcions suportades |
|---|---|
| Base de dades | MariaDB / MySQL, PostgreSQL, Oracle |
| Directori d’usuaris | OpenLDAP, Samba AD-DC, Microsoft Active Directory, Novell eDirectory |
| Servidor IMAP | Dovecot ≥ 2.x o Cyrus IMAP ≥ 2.4 (amb extensions ACL, UIDPLUS, QRESYNC/CONDSTORE i ANNOTATE o X-GUID si es vol ActiveSync) |
| Servidor SMTP | Postfix, Exim, etc. |
| Servidor web (proxy invers) | Apache2 o Nginx |
| Memòria compartida | Memcached (recomanat per a sessions i rendiment) |
Recursos de maquinari orientatius per a un entorn petit/mitjà (docència, laboratori, PIME):
- CPU: 2 nuclis
- RAM: 2 GB mínim, 4 GB recomanats en producció
- Disc: depèn del volum de correu i adjunts (SOGo mateix no emmagatzema els correus, això ho fa l’IMAP)
| Rol | Hostname | IP | Sistema |
|---|---|---|---|
| Servidor correu + SOGo | correu |
10.0.2.10 |
Ubuntu Server 26.04 |
| Servidor OpenLDAP | ldapserver |
10.0.2.20 |
Ubuntu Server 26.04 |
| Client | client |
IP dinàmica: 10.0.2.14 |
Ubuntu Desktop 26.04 |
| Domini LDAP | dc=thos,dc=local |
— | — |
correuAbans de començar, fes les configuracions bàsiques del servidor (hostname, IP, hosts, ports i actualització).
Canvia el nom de la màquina:
sudo hostnamectl set-hostname correuEdita el fitxer de hosts:
sudo nano /etc/hosts127.0.0.1 localhost
10.0.2.10 correu.thos.local correu
10.0.2.20 ldapserver.thos.local ldapserver
Actualitza la llista de paquets:
sudo apt updateActualitza els paquets:
sudo apt upgradeInstal·la ssl-cert que crea un certificat autosignat
SSL/TSL “snakeoil” i el grup d’usuaris ssl-cert:
sudo apt install ssl-certCrea la carpeta per als certificats de thos.local:
sudo mkdir -p /etc/ssl/thosGenera un certificat autosignat per al servidor de correu:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /etc/ssl/thos/correu.key \
-out /etc/ssl/thos/correu.crt \
-subj "/C=ES/ST=Catalunya/L=Mataro/O=IES Thos i Codina/OU=ASIX/CN=correu.thos.local"Canvia els permisos de la clau:
sudo chmod 640 /etc/ssl/thos/correu.keyCanvia el propietari de la clau:
sudo chown root:ssl-cert /etc/ssl/thos/correu.keyInstal·la Postfix:
sudo apt install postfix| Pregunta | Resposta |
|---|---|
| Tipus de configuració | Lloc d'Internet |
| Nom del correu del sistema | thos.local |
Per configurar Postfix per a SMTP-AUTH mitjançant SASL (Dovecot SASL), executa aquestes ordres al terminal:
Delega l’autenticació a Dovecot:
sudo postconf -e 'smtpd_sasl_type = dovecot'Indica la ruta:
sudo postconf -e 'smtpd_sasl_path = private/auth'Deixa el domini local buit explícitament:
sudo postconf -e 'smtpd_sasl_local_domain ='Prohibeix els mecanismes SASL que permeten autenticació anònima:
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'Activa compatibilitat amb clients de correu antics:
sudo postconf -e 'broken_sasl_auth_clients = yes'Activa el mecanisme d’autenticació SMTP:
sudo postconf -e 'smtpd_sasl_auth_enable = yes'Defineix la política de qui pot enviar correu cap a on. Si el client
s’ha autenticat amb usuari/contrasenya (via SASL/Dovecot), es permet
immediatament, sigui quina sigui la destinació. Si no s’ha autenticat,
però la petició ve d’una xarxa de confiança definida a mynetworks (per
exemple la teva pròpia xarxa interna thos.local), també es
permet:
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks,reject_unauth_destination'El paràmetre de configuració smtpd_sasl_path és una
ruta relativa al directori de cua de Postfix, normalment /var/spool/postfix/.
Hi ha diverses propietats del mecanisme SASL que val la pena avaluar per millorar la seguretat del desplegament. L’opció “noanonymous” impedeix l’ús de mecanismes que permeten l’autenticació anònima.
Configura el xifratge TLS de Postfix, tant per al correu que envia cap a fora (client SMTP) com per al que rep dels teus usuaris/clients (servidor SMTP).
Intenta sempre fer STARTTLS si el servidor remot ho ofereix, però si el remot no ho suporta, continua sense xifrar en lloc de fallar l’entrega. És el nivell més compatible, pensat perquè el correu surti igualment encara que el destinatari no tingui TLS.:
sudo postconf -e 'smtp_tls_security_level = may'Exigeix STARTTLS abans d’acceptar el missatge:
sudo postconf -e 'smtpd_tls_security_level = encrypt'Afegeix un avís als logs
(Warning: ... TLS is available but was not used). És
purament informatiu, per detectar servidors remots mal configurats:
sudo postconf -e 'smtp_tls_note_starttls_offer = yes'Nivell de detall dels registres relacionats amb TLS al costat servidor. 1 és un nivell bàsic:
sudo postconf -e 'smtpd_tls_loglevel = 1'Fa que Postfix afegeixi informació sobre el xifratge TLS usat dins la capçalera de cada missatge que rep:
sudo postconf -e 'smtpd_tls_received_header = yes'Nom canònic del servidor de correu:
sudo postconf -e 'myhostname = correu.thos.local'Ruta al certificat públic que Postfix presentarà als clients quan aquests facin STARTTLS:
sudo postconf -e 'smtpd_tls_cert_file=/etc/ssl/thos/correu.crt'Ruta a la clau privada corresponent a aquest certificat:
sudo postconf -e 'smtpd_tls_key_file=/etc/ssl/thos/correu.key'Canvia el propietari del fitxer /var/spool/postfix/etc/resolv.conf:
sudo chown root:root /var/spool/postfix/etc/resolv.confSMTPS (port 465) és el protocol SMTP però amb xifratge TLS des del
primer moment (TLS implícit). Es configura al fitxer /etc/postfix/master.cf
sudo nano -l /etc/postfix/master.cfComenta la línia 12:
#smtp inet n - n - - smtpd
Enganxa aquestes línies a continuació de la línia 12:
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_recipient_restrictions=permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
-o smtpd_tls_auth_only=yes
Comprova la sintaxi de la configuració:
sudo postfix checkReinicia el dimoni de Postfix:
sudo systemctl restart postfixVerifica l’estat:
sudo systemctl status postfixResposta esperada:
● postfix.service - Postfix Mail Transport Agent (main/default instance)
Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-07-15 13:56:29 UTC; 4s ago
Invocation: 2676a0780d9d457f9c60041a694cce81
Docs: man:postfix(1)
Process: 3697 ExecStartPre=postfix check (code=exited, status=0/SUCCESS)
Process: 3803 ExecStart=postfix debian-systemd-start (code=exited, status=0/SUCCESS)
Main PID: 3811 (master)
Tasks: 3 (limit: 1718)
Memory: 2.9M (peak: 4.1M)
CPU: 222ms
CGroup: /system.slice/postfix.service
├─3811 /usr/lib/postfix/sbin/master -w
├─3812 pickup -l -t unix -u
└─3813 qmgr -l -t unix -u
de jul. 15 13:56:29 correu systemd[1]: Starting postfix.service - Postfix Mail Transport Agent (main/default instance)...
de jul. 15 13:56:29 correu postfix/master[3811]: daemon started -- version 3.10.6, configuration /etc/postfix
de jul. 15 13:56:29 correu systemd[1]: Started postfix.service - Postfix Mail Transport Agent (main/default instance).Dovecot és el servidor IMAP/POP3 que permet accés a les bústies, i també s’utilitza per autenticació (SASL).
Instal·la Dovecot:
sudo apt install dovecot-core dovecot-imapd dovecot-pop3d dovecot-ldapEdita la configuració específica de Dovecot relativa als paràmetres SSL/TLS:
sudo nano /etc/dovecot/conf.d/10-ssl.confComenta les línies:
#ssl_server_cert_file = /etc/dovecot/private/dovecot.pem
#ssl_server_key_file = /etc/dovecot/private/dovecot.key
Afegeix les línies:
ssl_server_cert_file = /etc/ssl/thos/correu.crt
ssl_server_key_file = /etc/ssl/thos/correu.key
Crea el grup vmail:
sudo groupadd -g 5000 vmailCrea l’usuari vmail:
sudo useradd -u 5000 -g vmail -d /var/mail/vhosts \
-s /usr/sbin/nologin vmailCrea la carpeta home de l’usuari vmail:
sudo mkdir -p /var/mail/vhostsCanvia el propietari i el grup de la carpeta:
sudo chown vmail:vmail /var/mail/vhostsCanvia els permisos:
sudo chmod 700 /var/mail/vhostsEdita la configuració de Dovecot que defineix on i com s’emmagatzemen els correus dels usuaris (el “mail storage”):
sudo nano /etc/dovecot/conf.d/10-mail.confComenta:
#mail_driver = mbox
#mail_home = /home/%{user | username}
#mail_path = %{home}/mail
#mail_inbox_path = /var/mail/%{user}
Afegeix:
mail_driver = maildir
mail_path = /var/mail/vhosts/%{user}
mailbox_list_layout = fs
Defineix el mecanisme d’autenticació general de Dovecot: quins mètodes es permeten, si es permet autenticació en clar, i quins “backends” s’activen.
sudo nano -l /etc/dovecot/conf.d/10-auth.confComenta la línia 116:
#!include auth-system.conf.ext
Descomenta les línies:
!include auth-ldap.conf.ext
auth_mechanisms = plain login
Defineix com Dovecot es connecta al servidor LDAP per validar credencials i obtenir informació de l’usuari (com el seu home, uid/gid, o la ruta del maildir):
sudo nano /etc/dovecot/conf.d/auth-ldap.conf.extAfegeix al final:
ldap_uris = ldap://ldapserver.thos.local
ldap_auth_dn = cn=admin,dc=thos,dc=local
ldap_auth_dn_password = CONTRASENYA_LDAP
ldap_base = ou=Usuaris,dc=thos,dc=local
passdb ldap {
passdb_ldap_filter = (|(uid=%{user})(mail=%{user}))
ldap_bind = yes
fields {
user = %{ldap:uid}
}
}
userdb ldap {
userdb_ldap_filter = (|(uid=%{user})(mail=%{user}))
fields {
user = %{ldap:uid}
uid = vmail
gid = vmail
home = /var/mail/vhosts/%{ldap:uid}
}
}
Defineix els processos i sockets que Dovecot fa servir internament — no és tan sobre “com autenticar” o “on són els correus”, sinó sobre com es comuniquen entre si els diferents components de Dovecot.
sudo nano -l /etc/dovecot/conf.d/10-master.confAfegeix a la línia 108:
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
Mostra la configuració efectiva de Dovecot, però amb una particularitat important: només mostra les directives que difereixen dels valors per defecte (o que has configurat explícitament), no tot el fitxer de configuració complet, i detecta errors de sintaxi immediatament:
sudo doveconf -nReinicia el dimoni:
sudo systemctl restart dovecotVerifica l’estat del servei:
sudo systemctl status dovecotResposta esperada:
● dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/usr/lib/systemd/system/dovecot.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-07-15 14:10:32 UTC; 7s ago
Invocation: 5dd78e1a7c7546f1978edac259315063
Docs: man:dovecot(1)
https://doc.dovecot.org/
Main PID: 6962 (dovecot)
Status: "v2.4.2 (0962ed2104) running"
Tasks: 4 (limit: 1718)
Memory: 7.5M (peak: 9.5M)
CPU: 47ms
CGroup: /system.slice/dovecot.service
├─6962 /usr/sbin/dovecot -F
├─6965 dovecot/anvil
├─6966 dovecot/log
└─6967 dovecot/config
de jul. 15 14:10:32 correu systemd[1]: Starting dovecot.service - Dovecot IMAP/POP3 email server...
de jul. 15 14:10:32 correu dovecot[6962]: master: Dovecot v2.4.2 (0962ed2104) starting up for imap, pop3 (core dumps disabled)
de jul. 15 14:10:32 correu systemd[1]: Started dovecot.service - Dovecot IMAP/POP3 email server.ldapserverActualitza la llista de paquets:
sudo apt updateActualitza el sistema:
sudo apt upgradeConfigura el hostname:
sudo hostnamectl set-hostname ldapserverAfegeix l’entrada al fitxer /etc/hosts:
sudo nano /etc/hostsAfegeix aquestes línies:
10.0.2.10 correu.thos.local correu
10.0.2.20 ldapserver.thos.local ldapserver
Comprova:
hostname -fResposta esperada:
ldapserver.thos.localsudo apt install slapd ldap-utilsDurant la instal·lació, el sistema demanarà la contrasenya de l’administrador LDAP. Introdueix-la i confirma-la.
Recorda aquesta contrasenya; és la de cn=admin,dc=thos,dc=local. Al llarg d’aquest document
apareix diverses vegades com: CONTRASENYA_LDAP
Comprova que el servei està actiu:
sudo systemctl status slapdResposta esperada:
● slapd.service - OpenLDAP Server Daemon
Loaded: loaded (/usr/lib/systemd/system/slapd.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-07-15 14:14:09 UTC; 1min 26s ago
Invocation: 8e814a25fc784a1ca82e56a7e41380d4
Docs: man:slapd
man:slapd-config
man:slapd-mdb
Main PID: 3446 (slapd)
Tasks: 3 (limit: 1718)
Memory: 3M (peak: 3.4M)
CPU: 16ms
CGroup: /system.slice/slapd.service
└─3446 /usr/sbin/slapd -d0 -h "ldap:/// ldapi:///" -u openldap -g openldap
de jul. 15 14:14:09 ldapserver systemd[1]: Starting slapd.service - OpenLDAP Server Daemon...
de jul. 15 14:14:09 ldapserver slapd[3446]: @(#) $OpenLDAP: slapd 2.6.10+dfsg-1ubuntu5 (Nov 24 2025 11:17:55) $
Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
de jul. 15 14:14:09 ldapserver slapd[3446]: slapd starting
de jul. 15 14:14:09 ldapserver systemd[1]: Started slapd.service - OpenLDAP Server Daemon.Comprova que escolta al port 389:
sudo ss -tlnp | grep slapdResposta esperada:
LISTEN 0 2048 0.0.0.0:389 0.0.0.0:* users:(("slapd",pid=3446,fd=7))
LISTEN 0 2048 [::]:389 [::]:* users:(("slapd",pid=3446,fd=8)) Prova de connexió bàsica (sense autenticació):
ldapsearch -x -b "dc=thos,dc=local" -H ldap://localhostResposta esperada:
# extended LDIF
#
# LDAPv3
# base <dc=thos,dc=local> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# thos.local
dn: dc=thos,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: thos.local
dc: thos
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1Prova amb autenticació d’administrador:
ldapsearch -x -D "cn=admin,dc=thos,dc=local" -W -b "dc=thos,dc=local"La resposta ha de mostrar l’entrada arrel del directori.
Resposta esperada:
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <dc=thos,dc=local> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# thos.local
dn: dc=thos,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: thos.local
dc: thos
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1Crea el fitxer log.ldif:
sudo nano log.ldifdn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
Aplica’l:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f log.ldifConfigura rsyslog per separar els logs de LDAP:
sudo nano /etc/rsyslog.d/10-slapd.conflocal4.* /var/log/slapd.log
Reinicia syslog:
sudo systemctl restart rsyslogReinicia ldap:
sudo systemctl restart slapdsudo nano index.ldif# fitxer: index.ldif
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcDbIndex
olcDbIndex: objectClass eq
olcDbIndex: uid eq,pres,sub
olcDbIndex: cn eq,pres,sub
olcDbIndex: sn eq,pres,sub
olcDbIndex: mail eq,pres,sub
olcDbIndex: memberUid eq
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f index.ldifCrea el fitxer estructura.ldif:
sudo nano estructura.ldif# Unitat organitzativa: Usuaris
dn: ou=Usuaris,dc=thos,dc=local
objectClass: organizationalUnit
ou: Usuaris
description: Usuaris del sistema
# Unitat organitzativa: Grups
dn: ou=Grups,dc=thos,dc=local
objectClass: organizationalUnit
ou: Grups
description: Grups del sistema
Importa l’estructura:
ldapadd -x -D "cn=admin,dc=thos,dc=local" -W -f estructura.ldifResposta esperada:
Enter LDAP Password:
adding new entry "ou=Usuaris,dc=thos,dc=local"
adding new entry "ou=Grups,dc=thos,dc=local"Verifica:
ldapsearch -x -b "dc=thos,dc=local" -H ldap://localhost "(objectClass=organizationalUnit)"Resposta esperada:
# extended LDIF
#
# LDAPv3
# base <dc=thos,dc=local> with scope subtree
# filter: (objectClass=organizationalUnit)
# requesting: ALL
#
# Usuaris, thos.local
dn: ou=Usuaris,dc=thos,dc=local
objectClass: organizationalUnit
ou: Usuaris
description: Usuaris del sistema
# Grups, thos.local
dn: ou=Grups,dc=thos,dc=local
objectClass: organizationalUnit
ou: Grups
description: Grups del sistema
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2Primer, genera un hash de contrasenya:
Introdueix la contrasenya i et retornarà el hash {SSHA}…
slappasswdResposta esperada:
New password:
Re-enter new password:
{SSHA}TBIdrK2UoZVHk6h9bORCURCYz/3DccH2Crea el fitxer usuaris.ldif:
sudo nano usuaris.ldif# Usuari: Joan Garcia
dn: uid=joan,ou=Usuaris,dc=thos,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: joan
cn: Joan Garcia
sn: Garcia
givenName: Joan
displayName: Joan Garcia
mail: joan@thos.local
uidNumber: 10001
gidNumber: 10001
homeDirectory: /home/joan
loginShell: /bin/bash
userPassword: {SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# Usuari: Maria Puig
dn: uid=maria,ou=Usuaris,dc=thos,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: maria
cn: Maria Puig
sn: Puig
givenName: Maria
displayName: Maria Puig
mail: maria@thos.local
uidNumber: 10002
gidNumber: 10001
homeDirectory: /home/maria
loginShell: /bin/bash
userPassword: {SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Substitueix {SSHA}XXXXX... pel hash generat amb slappasswd.
ldapadd -x -D "cn=admin,dc=thos,dc=local" -W -f usuaris.ldifResposta esperada:
Enter LDAP Password:
adding new entry "uid=joan,ou=Usuaris,dc=thos,dc=local"
adding new entry "uid=maria,ou=Usuaris,dc=thos,dc=local"Crea el fitxer grups.ldif:
sudo nano grups.ldif# Grup: professors
dn: cn=professors,ou=Grups,dc=thos,dc=local
objectClass: posixGroup
cn: professors
gidNumber: 10001
memberUid: joan
memberUid: maria
# Grup: alumnes
dn: cn=alumnes,ou=Grups,dc=thos,dc=local
objectClass: posixGroup
cn: alumnes
gidNumber: 10002
ldapadd -x -D "cn=admin,dc=thos,dc=local" -W -f grups.ldifResposta esperada:
Enter LDAP Password:
adding new entry "cn=professors,ou=Grups,dc=thos,dc=local"
adding new entry "cn=alumnes,ou=Grups,dc=thos,dc=local"correuInstal·la les eines de línia d’ordres per interactuar directament amb servidors LDAP:
sudo apt install ldap-utilsConsulta la resolució de noms del sistema per a ldapserver.thos.local:
getent hosts ldapserver.thos.localResposta esperada:
10.0.2.20 ldapserver.thos.local ldapserverConsulta LDAP per verificar l’existència (i el DN) de l’usuari joan:
ldapsearch -x -H ldap://ldapserver.thos.local \
-D "cn=admin,dc=thos,dc=local" \
-w CONTRASENYA_LDAP \
-b "ou=Usuaris,dc=thos,dc=local" "(uid=joan)" dnResposta esperada:
# extended LDIF
#
# LDAPv3
# base <> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# search result
search: 2
result: 32 No such object
# numResponses: 1
-b: command not foundDemana a Dovecot que llisti les bústies (mailboxes/carpetes) de l’usuari joan:
sudo doveadm mailbox list -u joanResposta esperada:
INBOXInstal·la el paquet que afegeix el suport per al protocol LMTP (Local Mail Transfer Protocol) a Dovecot:
sudo apt install dovecot-lmtpdModifica la definició els processos i sockets que Dovecot fa servir internament — no és tan sobre “com autenticar” o “on són els correus”, sinó sobre com es comuniquen entre si els diferents components de Dovecot.
sudo nano /etc/dovecot/conf.d/10-master.confDins del bloc service lmtp { ... }, afegeix:
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
Afegeix a Postfix el suport per consultar mapes (maps) directament des d’un servidor LDAP:
sudo apt install postfix-ldapEdita el fitxer de configuració de mapa LDAP per a Postfix:
sudo nano /etc/postfix/ldap-users.cfserver_host = ldapserver.thos.local
search_base = ou=Usuaris,dc=thos,dc=local
bind = yes
bind_dn = cn=admin,dc=thos,dc=local
bind_pw = CONTRASENYA_LDAP
query_filter = (mail=%s)
result_attribute = mail
Canvia els permisos:
sudo chmod 640 /etc/postfix/ldap-users.cfCanvia el grup:
sudo chgrp postfix /etc/postfix/ldap-users.cfDefineix la llista de dominis pels quals Postfix accepta correu com a destinatari final via virtual mailboxes:
sudo postconf -e 'virtual_mailbox_domains = thos.local'Defineix quin mecanisme de transport fa servir Postfix per lliurar correu als destinataris dels dominis virtuals:
sudo postconf -e 'virtual_transport = lmtp:unix:private/dovecot-lmtp'Indica que, en lloc d’un mapa estàtic, Postfix consultarà en temps real el fitxer LDAP configurat:
sudo postconf -e 'virtual_mailbox_maps = ldap:/etc/postfix/ldap-users.cf'Fixa mydestination explícitament al valor “segur” per
defecte:
sudo postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost'Valida la configuració i l’entorn de Postfix:
sudo postfix checkReinicia el servei Dovecot:
sudo systemctl restart dovecotComprova l’estat del servei Dovecot:
sudo systemctl status dovecotResposta esperada:
● dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/usr/lib/systemd/system/dovecot.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-07-15 14:27:54 UTC; 35s ago
Invocation: 7439f50a31d54dde87a8a4c6be272946
Docs: man:dovecot(1)
https://doc.dovecot.org/
Main PID: 7848 (dovecot)
Status: "v2.4.2 (0962ed2104) running"
Tasks: 4 (limit: 1718)
Memory: 7.5M (peak: 9.7M)
CPU: 49ms
CGroup: /system.slice/dovecot.service
├─7848 /usr/sbin/dovecot -F
├─7849 dovecot/anvil
├─7850 dovecot/log
└─7851 dovecot/config
de jul. 15 14:27:54 correu systemd[1]: Starting dovecot.service - Dovecot IMAP/POP3 email server...
de jul. 15 14:27:54 correu dovecot[7848]: master: Dovecot v2.4.2 (0962ed2104) starting up for imap, lmtp, pop3 (core dumps disabled)
de jul. 15 14:27:54 correu systemd[1]: Started dovecot.service - Dovecot IMAP/POP3 email server.Reinicia el servei Postfix:
sudo systemctl restart postfixComprova l’estat del servei Postfix:
sudo systemctl status posfixResposta esperada:
● postfix.service - Postfix Mail Transport Agent (main/default instance)
Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-07-15 14:27:59 UTC; 2min 44s ago
Invocation: e39eab1d6ac741c386a20cb8711b2309
Docs: man:postfix(1)
Process: 7867 ExecStartPre=postfix check (code=exited, status=0/SUCCESS)
Process: 7972 ExecStart=postfix debian-systemd-start (code=exited, status=0/SUCCESS)
Main PID: 7980 (master)
Tasks: 3 (limit: 1718)
Memory: 2.9M (peak: 4.3M)
CPU: 221ms
CGroup: /system.slice/postfix.service
├─7980 /usr/lib/postfix/sbin/master -w
├─7981 pickup -l -t unix -u
└─7982 qmgr -l -t unix -u
de jul. 15 14:27:59 correu systemd[1]: Starting postfix.service - Postfix Mail Transport Agent (main/default instance)...
de jul. 15 14:27:59 correu postfix/master[7980]: daemon started -- version 3.10.6, configuration /etc/postfix
de jul. 15 14:27:59 correu systemd[1]: Started postfix.service - Postfix Mail Transport Agent (main/default instance).Ubuntu 26.04 LTS ja inclou el paquet sogo al dipòsit
universe, amb la versió 5.12.4, així que
no cal afegir el dipòsit de pagament d’Alinto per fer
proves o per a un ús no crític; n’hi ha prou amb els dipòsits oficials
d’Ubuntu.
Si es vol la darrera versió amb suport oficial d’Alinto
(actualitzacions més ràpides, suport professional), cal donar-se d’alta
al dipòsit de producció https://packages.sogo.nu/ amb
usuari i contrasenya. Aquest document se centra en la via lliure (paquet
d’universe).
Activa el dipòsit universe:
sudo add-apt-repository universeActualitza la llista de paquets:
sudo apt updatesudo apt install mariadb-serverUn cop instal·lat, assegura’l:
sudo mariadb-secure-installationRespon afirmativament a totes les preguntes (establir contrasenya root, eliminar usuaris anònims, desactivar accés remot de root, eliminar la base de dades de test i recarregar privilegis).
Accedeix a MariaDB com a root:
sudo mysql -u root -pExecuta dins de la consola SQL:
CREATE DATABASE sogo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'sogo'@'localhost' IDENTIFIED BY 'CONTRASENYA_BBDD';
CREATE USER 'sogo'@'127.0.0.1' IDENTIFIED BY 'CONTRASENYA_BBDD';
GRANT ALL PRIVILEGES ON sogo.* TO 'sogo'@'localhost';
GRANT ALL PRIVILEGES ON sogo.* TO 'sogo'@'127.0.0.1';
FLUSH PRIVILEGES;
EXIT;sudo apt install sogo sogo-activesync memcachedAquesta instal·lació inclou:
sogo/sogo-common: el dimonisogodi fitxers comunssogo-activesync: mòdul opcional per a sincronització amb mòbils via EASmemcached: emmagatzematge en memòria per a sessions i rendiment
sudo nano /etc/sogo/sogo.confSubstitueix-ho tot per:
{
SOGoProfileURL = "mysql://sogo:CONTRASENYA_BBDD@127.0.0.1:3306/sogo/sogo_user_profile";
OCSFolderInfoURL = "mysql://sogo:CONTRASENYA_BBDD@127.0.0.1:3306/sogo/sogo_folder_info";
OCSSessionsFolderURL = "mysql://sogo:CONTRASENYA_BBDD@127.0.0.1:3306/sogo/sogo_sessions_folder";
OCSEMailAlarmsFolderURL = "mysql://sogo:CONTRASENYA_BBDD@127.0.0.1:3306/sogo/sogo_alarms_folder";
SOGoLanguage = Catalan;
SOGoAppointmentSendEMailNotifications = YES;
SOGoMailingMechanism = smtp;
SOGoTimeZone = "Europe/Madrid";
SOGoSentFolderName = Sent;
SOGoTrashFolderName = Trash;
SOGoDraftsFolderName = Drafts;
SOGoSMTPServer = "smtps://correu.thos.local:465";
SOGoSMTPAuthenticationType = PLAIN;
SOGoIMAPServer = "imaps://correu.thos.local:993";
SOGoSieveServer = "sieve://correu.thos.local:4190/?tls=YES";
SOGoIMAPAclConformsToIMAPExt = YES;
SOGoVacationEnabled = NO;
SOGoForwardEnabled = NO;
SOGoSieveScriptsEnabled = NO;
SOGoFirstDayOfWeek = 0;
SOGoMailMessageCheck = manually;
SOGoMailAuxiliaryUserAccountsEnabled = NO;
SOGoMemcachedHost = 127.0.0.1;
SOGoMailDomain = "thos.local";
SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
IDFieldName = uid;
UIDFieldName = uid;
baseDN = "ou=Usuaris,dc=thos,dc=local";
bindDN = "cn=admin,dc=thos,dc=local";
bindPassword = "CONTRASENYA_LDAP";
hostname = "ldap://ldapserver.thos.local";
id = "IES Thos i Codina";
canAuthenticate = YES;
isAddressBook = YES;
},
{
type = ldap;
CNFieldName = cn;
IDFieldName = uid;
UIDFieldName = mail;
baseDN = "ou=Usuaris,dc=thos,dc=local";
bindDN = "cn=admin,dc=thos,dc=local";
bindPassword = "CONTRASENYA_LDAP";
hostname = "ldap://ldapserver.thos.local";
id = directory_mail;
canAuthenticate = YES;
isAddressBook = NO;
}
);
}
Canvia el propietari i el grup:
sudo chown sogo:sogo /etc/sogo/sogo.confCanvia els permisos:
sudo chmod 600 /etc/sogo/sogo.confInstal·la el servidor web Apache:
sudo apt install apache2Habilita els mòduls:
sudo a2enmod proxy proxy_http headers rewrite sslAfegeix l’usuari www-data al grup ssl-cert:
sudo usermod -aG ssl-cert www-dataDefineix com Apache actua de proxy invers cap al servidor SOGo, el qual internament escolta en un altre port (el 20000) via el seu propi dimoni:
sudo nano /etc/apache2/conf-available/sogo.confAfegeix:
<Location /SOGo>
ProxyPass http://127.0.0.1:20000/SOGo retry=0
ProxyPassReverse http://127.0.0.1:20000/SOGo
Require all granted
</Location>
Alias /SOGo.woa/WebServerResources/ /usr/lib/x86_64-linux-gnu/GNUstep/SOGo/WebServerResources/
Alias /SOGo/WebServerResources/ /usr/lib/x86_64-linux-gnu/GNUstep/SOGo/WebServerResources/
<Directory /usr/lib/x86_64-linux-gnu/GNUstep/SOGo/WebServerResources/>
Require all granted
</Directory>
RewriteEngine On
RewriteRule ^/.well-known/caldav /SOGo/dav [R]
RewriteRule ^/.well-known/carddav /SOGo/dav [R]
<Location /SOGo/WebServerResources>
ProxyPass !
</Location>
Activa el fitxer de configuració de SOGo:
sudo a2enconf sogoConfigura el VirtualHost del protocol HTTPS:
sudo nano /etc/apache2/sites-available/sogo-ssl.confAfegeix:
<VirtualHost *:443>
ServerName correu.thos.local
SSLEngine on
SSLCertificateFile /etc/ssl/thos/correu.crt
SSLCertificateKeyFile /etc/ssl/thos/correu.key
ProxyRequests Off
ProxyPreserveHost On
RequestHeader set "x-webobjects-server-port" "443"
RequestHeader set "x-webobjects-server-name" "correu.thos.local"
RequestHeader set "x-webobjects-server-url" "https://correu.thos.local"
RequestHeader set "x-webobjects-adaptor-version" "mod_proxy"
Include /etc/apache2/conf-available/sogo.conf
</VirtualHost>
Modifica la pàgina per defecte perquè redirigeixi cap a HTTPS:
sudo nano /etc/apache2/sites-available/000-default.confAfegeix abans de </VirtualHost>:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Activa el fitxer de configuració del site:
sudo a2ensite sogo-sslComprova la sintaxi:
sudo apache2ctl configtestResposta esperada:
Syntax OKReinicia el servidor Apache:
sudo systemctl restart apache2Verifica l’estat del servei:
sudo systemctl status apache2Resposta esperada:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-07-15 14:43:44 UTC; 10s ago
Invocation: b85f3f0d6ae64073b61024aac0a4751b
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 11711 (apache2)
Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec"
Tasks: 55 (limit: 1718)
Memory: 7.4M (peak: 7.4M)
CPU: 37ms
CGroup: /system.slice/apache2.service
├─11711 /usr/sbin/apache2 -k start -DFOREGROUND
├─11714 /usr/sbin/apache2 -k start -DFOREGROUND
└─11715 /usr/sbin/apache2 -k start -DFOREGROUND
de jul. 15 14:43:44 correu systemd[1]: Starting apache2.service - The Apache HTTP Server...
de jul. 15 14:43:44 correu systemd[1]: Started apache2.service - The Apache HTTP Server.Copia el certificat de thos.local a la carpeta on Ubuntu
busca certificats de CA addicionals per confiar-hi a escala de
sistema:
sudo cp /etc/ssl/thos/correu.crt /usr/local/share/ca-certificates/correu-thos-local.crtCrida l’eina d’Ubuntu que reconstrueix el magatzem de confiança de certificats del sistema:
sudo update-ca-certificates --freshResposta esperada:
Clearing symlinks in /etc/ssl/certs...
done.
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt, it does not contain exactly one certificate or CRL
122 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.Habilita l’engegada del servei memcached en l’arrencada
i activa’l ara mateix:
sudo systemctl enable --now memcachedHabilita l’engegada del servei sogo en l’arrencada:
sudo systemctl enable sogoReinicia SOGo:
sudo systemctl restart sogoReinicia Postfix:
sudo systemctl restart postfixReinicia Dovecot:
sudo systemctl restart dovecotVerifica l’estat del servei SOGo:
sudo systemctl status sogoResposta esperada:
● sogo.service - SOGo is a groupware server
Loaded: loaded (/usr/lib/systemd/system/sogo.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-07-15 14:48:39 UTC; 18s ago
Invocation: ab9cd76a157f4703b0862695d1c4cb07
Docs: https://sogo.nu/files/docs/SOGoInstallationGuide.html
Process: 13414 ExecStart=/usr/sbin/sogod -WOWorkersCount ${PREFORK} -WOPidFile /run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log (code=exited, status=0/SUCCESS)
Main PID: 13418 (sogod)
Tasks: 4 (limit: 1718)
Memory: 45.4M (peak: 45.7M)
CPU: 163ms
CGroup: /system.slice/sogo.service
├─13418 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
├─13419 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
├─13420 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
└─13421 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
de jul. 15 14:48:39 correu systemd[1]: Starting sogo.service - SOGo is a groupware server...
de jul. 15 14:48:39 correu systemd[1]: Started sogo.service - SOGo is a groupware server.L’accés web queda disponible a https://correu.thos.local/SOGo/
Inicia sessió com a joan.
Prem el botó dels Calendaris.
Fes clic dret sobre Calendari personal (el calendari per defecte) → Compartir…
Cerca l’usuari amb qui el vulguis compartir. En l’exemple: maria@thos.local
Marca Subscriure usuari.
Marca el nivell d’accés que vulguis donar-li (d’ordre creixent d’accés):
Permís Què permet Veure data i hora Només veu que hi ha un esdeveniment, sense detalls Veure-ho tot Veu tots els detalls de l’esdeveniment Respondre Pot acceptar/rebutjar invitacions (implica “Veure-ho tot”) Modificar Pot editar esdeveniments (implica “Veure-ho tot” i “Respondre”)
També hi ha caselles separades per permetre crear i esborrar esdeveniments, independents del nivell anterior.
Guarda els canvis.
Inicia sessió com a maria.
A la pestanya Calendaris → Subscripcions
Hauria d’aparèixer el Calendari personal de joan a
la llista (si maria ja té algun permís assignat).
Els esdeveniments de joan són visibles.
Si vols que tots els usuaris comparteixin
automàticament, per exemple, la disponibilitat
(Veure data i hora) amb la resta sense haver-ho de fer
manualment cada cop, hi ha un paràmetre a sogo.conf:
SOGoCalendarDefaultRoles = ("PublicViewer");
Aquest s’aplica als esdeveniments marcats com a públics de tots els calendaris personals nous.
Si mai vols assignar permisos de calendari a molts usuaris alhora
(per exemple, tots els alumnes d’un grup compartint amb el professor), sogo-tool ho permet sense passar per la interfície web:
sudo sogo-tool manage-acl add joan Calendar/personal maria '["PublicViewer","ConfidentialViewer"]'Com que ja has configurat isAddressBook = YES a la
primera font LDAP de sogo.conf, la llibreta
d’adreces global (GAL) ja està activa des del principi — cada
usuari ha de veure automàticament la resta d’usuaris del directori LDAP
com a contactes, sense haver de configurar res més.
Inicia sessió com a joan.
Ves a la pestanya Llibretes d’adreces.
Hauries de veure, a més de “Personal”, una entrada tipus
Llibretes d’adreces globals amb el nom exacte que has
definit al fitxer /etc/sogo/sogo.conf
(id = "IES Thos i Codina";).
Cerca maria — hauria d’aparèixer automàticament,
sense que ningú l’hagi afegit manualment.
La GAL (basada en LDAP) és només de lectura — els usuaris no hi poden afegir ni editar contactes. Si un usuari vol un contacte propi editable, ha d’anar a la seva llibreta Personal.
Si joan vol compartir la seva llibreta Personal
(per exemple, una llista de contactes externs que ha anat creant) amb maria:
Llibretes d’adreces → clic sobre Llibreta personal d’adreces → Compartir…
Afegeix maria, i marca Subscriure
usuari.
Tria el nivell d’accés: Visualitzador (només lectura) o Modificador (pot editar/afegir contactes).
Llibretes d’adreces → icona + al costat de “Llibretes d’adreces”.
Dona-li un nom (Contactes ASIX, per
exemple).
Comparteix-la amb qui vulguis, igual que a la secció anterior.
Aquesta funciona automàticament un cop la GAL està activa: en
escriure un nom o @thos.local al camp “Per a” d’un correu
nou, SOGo cerca tant a la llibreta personal com a la GAL.
Sieve (RFC 5228) és un llenguatge senzill i segur per definir regles de filtratge de correu del costat del servidor — és a dir, les regles s’apliquen quan el correu arriba al servidor (abans que arribi al client), no dins de Thunderbird o SOGo com a aplicació. Per això, si tens diversos dispositius o clients, les regles funcionen igual arreu, sense haver-les de configurar a cadascun.
Amb Sieve pots, per exemple:
- Moure correus a una carpeta segons el remitent o l’assumpte
- Rebutjar o descartar correu brossa
- Reenviar automàticament
- Configurar un missatge de vacances/absència (autorespon una vegada per remitent)
Per seguretat, Sieve no permet executar programes ni codi arbitrari — és deliberadament limitat a accions de filtratge, cosa que el fa segur d’oferir a usuaris no confiables sense risc per al servidor.
Hi ha dues peces separades:
| Component | Funció |
|---|---|
Motor Sieve (a Dovecot, via el paquet dovecot-sieve, part del projecte
Pigeonhole) |
Executa realment els scripts quan arriba un correu (via LDA o LMTP) |
| ManageSieve (protocol RFC 5804, port 4190) | Permet als usuaris (o a SOGo, en el teu cas) pujar/editar els seus scripts remotament, sense accés directe al sistema de fitxers |
SOGo actua com a client ManageSieve: quan configures regles de filtratge des de la interfície web de SOGo, en realitat SOGo es connecta per ManageSieve al port 4190 de Dovecot i hi puja el script Sieve corresponent.
sudo apt install dovecot-sieve dovecot-managesievedsieve (ManageSieve)sudo nano /etc/dovecot/dovecot.confBusca la línia:
#protocols = imap pop3 lmtpCanvia-la per:
protocols = imap lmtp sieve
sudo nano -l /etc/dovecot/conf.d/20-lmtp.confDescomenta les línies 40, 41 i 42:
mail_plugins {
sieve = yes
}
sudo nano -l /etc/dovecot/conf.d/90-sieve.confDescomenta les línies 11-15:
sieve_script personal {
driver = file
path = ~/sieve
active_path = ~/.dovecot.sieve
}
Comprova la sintaxi:
sudo doveconf -nReinicia Dovecot:
sudo systemctl restart dovecotVerifica:
sudo ss -tlnp | grep 4190Hauries de veure Dovecot escoltant al port 4190.
LISTEN 0 100 0.0.0.0:4190 0.0.0.0:* users:(("dovecot",pid=2926,fd=55))
LISTEN 0 100 [::]:4190 [::]:* users:(("dovecot",pid=2926,fd=56))Ja tens aquesta línia a sogo.conf:
SOGoSieveServer = "sieve://correu.thos.local:4190/?tls=YES";I si vols que apareguin les opcions de filtres a la interfície edita
el fitxer sogo.conf:
sudo nano /etc/sogo/sogo.confEstableix els valors a ‘YES’:
SOGoVacationEnabled = YES;
SOGoForwardEnabled = YES;
SOGoSieveScriptsEnabled = YES;
Reinicia SOGo:
sudo systemctl restart sogoopenssl s_client -connect correu.thos.local:4190 -starttls sieve -quietHauria de respondre amb una salutació "IMPLEMENTATION" "Dovecot Pigeonhole" i la llista de
capacitats Sieve suportades.
Connecting to 10.0.2.10
depth=0 C=ES, ST=Catalunya, L=Mataro, O=IES Thos i Codina, OU=ASIX, CN=correu.thos.local
verify return:1
OK "Begin TLS negotiation now."
"IMPLEMENTATION" "Dovecot Pigeonhole"
"SIEVE" "fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include body variables enotify environment mailbox date index ihave duplicate mime foreverypart extracttext"
"NOTIFY" "mailto"
"SASL" "PLAIN LOGIN"
"VERSION" "1.0"
OK "TLS negotiation successful."Per sortir escriu LOGOUT:
OK "Logout completed."Un cop fet, a la interfície de SOGo apareixeran tres pestanyes: Filtres, Vacances i Redirigir a Preferències → Correu, on els usuaris podran crear filtres, un missatge de vacances, o reenviaments, sense necessitat de tocar res més al servidor.
| Client | Protocol | Notes |
|---|---|---|
| Navegador web | HTTPS | Interfície completa, AJAX |
| Mozilla Thunderbird | CalDAV/CardDAV nadiu, o extensions SOGo Connector/Integrator | Integració més completa amb els complements d’Alinto |
| Apple Calendar / Contacts | CalDAV / CardDAV | Configuració nativa del sistema operatiu |
| Microsoft Outlook | ActiveSync o Outlook CalDav Synchronizer (lliure) | Sense necessitat de connectors MAPI de pagament |
| Android / iOS / Windows Phone | ActiveSync o clients CalDAV/CardDAV (p. ex. DAVx⁵) | Push i sincronització bidireccional |
URL típica per a CalDAV manual: https://<servidor>/SOGo/dav/<usuari>/Calendar/personal/
sogo-tool: eina de línia d’ordres
inclosa al paquet sogo a Debian/Ubuntu, útil per a còpies
de seguretat i restauració.
Crea la còpia de seguretat:
sudo sogo-tool backup /var/backups/sogo ALLRestaura la còpia de seguretat:
sudo sogo-tool restore /var/backups/sogo/20260713 usuari1Registres: journalctl -u sogo -f
per seguir el dimoni en temps real.
Sistema de seguiment d’errors oficial per reportar bugs (cal donar-se d’alta per pujar de rol de lector a informador).
- Web oficial: https://www.sogo.nu/
- Guia oficial d’instal·lació i configuració: https://www.sogo.nu/files/docs/SOGoInstallationGuide.html
- FAQ d’instal·lació a Ubuntu: https://www.sogo.nu/support/faq/how-to-install-sogo-on-ubuntu.html
- Paquet oficial a Ubuntu (Launchpad): https://launchpad.net/ubuntu/+source/sogo
- Cerca de paquets Ubuntu: https://packages.ubuntu.com/sogo
- Descàrrega de l’entorn de proves complet i preconfigurat ZEG (Zero Effort Groupware): https://www.sogo.nu/download.html#zeg
- Presentació de característiques: https://www.sogo.nu/about.html
- Dipòsit de codi (GitHub, mirall): cerca “Alinto SOGo” o el projecte
sogoa GitHub