Le preguntamos a Gemini, la inteligencia artificial de Google, cómo instalar y configurar SOGo en Linux
Explicanos delladamente cómo instalar y configurar SOGo en Linux
SOGo es una solución de groupware de código abierto que integra correo web, calendarios (CalDAV), libretas de direcciones (CardDAV) y sincronización móvil mediante Microsoft ActiveSync. Se despliega comúnmente en distribuciones basadas en Debian/Ubuntu sobre un entorno que combina PostgreSQL, Memcached, Postfix/Dovecot y un proxy inverso como Nginx.Debian / Ubuntu
Agrega la clave GPG del repositorio oficial de SOGo (Inverse):
Bash
sudo apt-get install gnupg dirmngr apt-transport-https -y
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key 0xCB2D3A2B5865661D
Añade el repositorio correspondiente a tu versión (ejemplo para Ubuntu/Debian):
Bash
echo "deb http://packages.inverse.ca/SOGo/nightly/5/ubuntu/ jammy jammy" | sudo tee /etc/apt/sources.list.d/sogo.list
sudo apt-get update
Instala PostgreSQL, Memcached y paquetes base:
Bash
sudo apt-get install postgresql memcached -y
2 2. Crear la Base de Datos y Usuario
PostgreSQL
SOGo requiere una base de datos con codificación UTF-8 para almacenar tablas de perfiles y sesiones.
Accede a la consola de PostgreSQL:
Bash
sudo -u postgres psql
Ejecuta los comandos SQL para crear el usuario y la base de datos:
SQL
CREATE USER sogo WITH PASSWORD 'PasswordSegura123';
CREATE DATABASE sogo OWNER sogo TEMPLATE template1 ENCODING 'UTF8';
GRANT ALL PRIVILEGES ON DATABASE sogo TO sogo;
\q
3 3. Instalación de SOGo y Adaptadores
Paquetes Core + EAS
Instala el motor principal de SOGo junto con el módulo de soporte para ActiveSync (dispositivos móviles) y el conector de PostgreSQL:
Bash
sudo apt-get install sogo sogo-activesync sope4.9-gdl1-postgresql -y
4 4. Configuración del Archivo Principal
/etc/sogo/sogo.conf
El archivo de configuración de SOGo utiliza el formato GNUstep/PList. Abre /etc/sogo/sogo.conf y define los parámetros principales:
gnustep
{
/* Conexión a Base de Datos PostgreSQL */
SOGoProfileURL = "postgresql://sogo:PasswordSegura123@127.0.0.1:5432/sogo/sogo_user_profile";
OCSFolderInfoURL = "postgresql://sogo:PasswordSegura123@127.0.0.1:5432/sogo/sogo_folder_info";
OCSSessionsFolderURL = "postgresql://sogo:PasswordSegura123@127.0.0.1:5432/sogo/sogo_sessions_folder";
/* Servidores de Correo (IMAP y SMTP) */
SOGoDraftsFolderName = Drafts;
SOGoSentFolderName = Sent;
SOGoTrashFolderName = Trash;
SOGoIMAPServer = "imap://127.0.0.1:143/?tls=YES";
SOGoSMTPServer = "127.0.0.1:25";
/* Autenticación mediante SQL (o cambiar por LDAP si aplica) */
SOGoUserSources = (
{
type = sql;
id = users;
viewURL = "postgresql://sogo:PasswordSegura123@127.0.0.1:5432/sogo/sogo_users";
canAuthenticate = YES;
isAddressBook = YES;
userPasswordAlgorithm = blf-crypt;
}
);
/* Caché y Parámetros Globales */
SOGoMemcachedHost = "127.0.0.1";
SOGoTimeZone = "America/Mexico_City";
SOGoLanguage = Spanish;
SOGoAppointmentSendEMail = YES;
SOGoEnableEMailAlarms = YES;
}
5 5. Configurar Nginx como Reverse Proxy
Proxy HTTP / SSL
SOGo se ejecuta internamente escuchando en [http://127.0.0.1:20000](http://127.0.0.1:20000). Configura un bloque de servidor en /etc/nginx/sites-available/sogo:
Nginx
server {
listen 80;
server_name mail.tu-dominio.com;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
server_name mail.tu-dominio.com;
ssl_certificate /etc/letsencrypt/live/mail.tu-dominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.tu-dominio.com/privkey.pem;
location ^~ /SOGo {
proxy_pass http://127.0.0.1:20000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header x-webobjects-server-protocol HTTP/1.1;
proxy_set_header x-webobjects-server-name $host;
proxy_set_header x-webobjects-server-url https://$host;
proxy_set_header x-webobjects-server-port 443;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location /SOGo.woa/WebServerResources/ {
alias /usr/lib/GNUstep/SOGo/WebServerResources/;
}
# Ruta para soporte Microsoft ActiveSync (EAS)
location ^~ /Microsoft-Server-ActiveSync {
proxy_pass http://127.0.0.1:20000/SOGo/Microsoft-Server-ActiveSync;
proxy_connect_timeout 30m;
proxy_read_timeout 30m;
proxy_send_timeout 30m;
}
}
6 6. Iniciar Servicios y Verificar Estado
Comprobación final
Habilita y reinicia los servicios del sistema:
Bash
sudo systemctl restart memcached postgresql sogo nginx
sudo systemctl enable sogo memcached
Revisa el archivo de log para confirmar que no existan errores de sintaxis en sogo.conf:
Bash
sudo tail -f /var/log/sogo/sogo.log
Accede desde tu navegador a [https://mail.tu-dominio.com/SOGo](https://mail.tu-dominio.com/SOGo). ¿Cómo te gustaría continuar con la integración de SOGo? Integrar con OpenLDAP / AD Configurar Postfix y Dovecot