SOGO sobre Apache en Debian Bullseye como webmail (interfaz web) de Postfix + Dovecot + Sasl
Aca les dejo la instalación de SOGo para acceder a los correos de
nuestro servidor de correos sobre Debian Bullseyes. Espero les sea de
utilidad.
SOGo es una aplicación muy buena para interfaz web de nuestros servidores de correos postfix+dovecot+sasl.
Se
asume que el servidor de correos seguro (Imaps, smtps, sieve) es
totalmente funcional, también que existe un Directorio Activo de
windows.
El primer paso es instalar el sistema base de Debian Bullseyes.
Asignamos nombre al host
Instalamos los siguientes paquetes que necesitaremos para descargar e instalar la llave publica del repositorio de sogo.
apt install gpg sudo wget
Luego agregamos el siguiente repositorio de sogo a nuestro archivo
vi /etc/apt/sources.list
deb https://packages.sogo.nu/nightly/5/debian/ bullseye bullseye
ejecutamos el siguiente comando
apt update
nos enviara el siguiente mensaje
Err:9 https://packages.sogo.nu/nightly/5/debian bullseye InRelease
Las firmas siguientes no se pudieron verificar porque su clave pública no está disponible: NO_PUBKEY F8A27B36A6E2EAE9
Des:10 http://deb.debian.org/debian bullseye/main Translation-en [6,239 kB]
Leyendo lista de paquetes... Hecho
N: Repository 'http://deb.debian.org/debian bullseye InRelease' changed its 'Version' value from '11.4' to '11.5'
W:
Error de GPG: https://packages.sogo.nu/nightly/5/debian bullseye
InRelease: Las firmas siguientes no se pudieron verificar porque su
clave pública no está disponible: NO_PUBKEY F8A27B36A6E2EAE9
E: El repositorio «https://packages.sogo.nu/nightly/5/debian bullseye InRelease» no está firmado.
N: No se puede actualizar de un repositorio como este de forma segura y por tanto está deshabilitado por omisión.
N: Vea la página de manual apt-secure(8) para los detalles sobre la creación de repositorios y la configuración de usuarios.
Ejecutamos los siguientes comandos para descargar la llave publica del repositorio de sogo
sudo
wget -O-
"https://keys.openpgp.org/vks/v1/by-fingerprint/74FFC6D72B925A34B5D356BDF8A27B36A6E2EAE9"
| sudo gpg --dearmor | sudo apt-key add -
apt update
apt upgrade
Estamos listos para instalar sogo.
Lo primero es instalar nuestros servidores Apache y MariaDB
apt install mariadb-server apache2
Aseguramos MariaDB corriendo el siguiente script
mysql_secure_installation
apt install sogo
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes NUEVOS:
sogo
0 actualizados, 1 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
Se necesita descargar 20.2 MB de archivos.
Se utilizarán 54.8 MB de espacio de disco adicional después de esta operación.
Des:1 https://packages.sogo.nu/nightly/5/debian bullseye/bullseye amd64 sogo amd64 5.7.1.20220919-1 [20.2 MB]
Descargados 20.2 MB en 4s (5,320 kB/s)
Seleccionando el paquete sogo previamente no seleccionado.
(Leyendo la base de datos ... 44401 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../sogo_5.7.1.20220919-1_amd64.deb ...
Desempaquetando sogo (5.7.1.20220919-1) ...
Configurando sogo (5.7.1.20220919-1) ...
======= Important SOGo post-installation note =======
SOGo database schemas are _not_ automatically upgraded by
the packaging system.
Please check the list of database schema upgrade scripts
inside /usr/share/doc/sogo/ and apply them if needed.
More details can be found in the Upgrading section:
https://sogo.nu/files/docs/SOGoInstallationGuide.html#_upgrading
Procesando disparadores para libc-bin (2.31-13+deb11u4) ...
Configurando la base de datos
ingresamos a mariadb
Ejecutamos las siguientes instrucciones.
GRANT ALL ON sogo.* TO 'sogo'@'localhost' IDENTIFIED BY 'tupassword';
USE sogo;
CREATE TABLE sogo_users (c_uid VARCHAR(10) PRIMARY KEY, c_name VARCHAR(10), c_password VARCHAR(32), c_cn VARCHAR(128), mail VARCHAR(128));
INSERT INTO sogo_users VALUES ('sosorio', 'sosorio', MD5('123456'), 'Salvador Osorio', 'sosorio@tudominio.com.sv');
flush privileges;
exit;
Configurando sogo modificamos el archivo de configuración
vi /etc/sogo/sogo.conf
/* Base de Datos */
SOGoProfileURL = "mysql://sogo:tupassword@127.0.0.1:3306/sogo/sogo_user_profile";
OCSFolderInfoURL = "mysql://sogo:tupassword@127.0.0.1:3306/sogo/sogo_folder_info";
OCSSessionsFolderURL = "mysql://sogo:tupasswordi@127.0.0.1:3306/sogo/sogo_sessions_folder";
OCSEMailAlarmsFolderURL = "mysql://sogo:tupassword@127.0.0.1:3306/sogo/sogo_alarms_folder";
/* Mail */
SOGoDraftsFolderName = INBOX.Drafts;
SOGoSentFolderName = INBOX.Sent;
SOGoTrashFolderName = INBOX.Trash;
SOGoJunkFolderName = INBOX.Junk;
SOGoIMAPServer = "imaps://mail.tudominio.com.sv:993/?ssl=YES";
SOGoSMTPServer = "smtps://mail.tudominio.com.sv:465/?ssl=YES";
SOGoSieveServer = "sieve://mail.tudominio.com.sv:4190/?tls=YES&tlsVerifyMode=allowInsecureLocalhost";
SOGoMailDomain = tudominio.com.sv;
SOGoMailingMechanism = smtp;
SOGoForceExternalLoginWithEmail = YES;
SOGoMailSpoolPath = /var/spool/sogo;
NGImap4ConnectionStringSeparator = ".";
SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
IDFieldName = sAMAccountName;
UIDFieldName = sAMAccountName;
baseDN = "ou=Usuarios,dc=tudominio,dc=local";
bindDN = "cn=mail,DC=tudominio,DC=local";
bindFields = (sAMAccountName, mail);
bindPassword = tupassword_ldap;
canAuthenticate = YES;
displayName = "Contactos tudominio";
hostname = "ldap://ad.tudominio.com.sv:389";
filter = "mail = '*'";
id = directory;
isAddressBook = YES;
}
);
WOPidFile = "/var/run/sogo/sogo.pid";
// para Debian es necesario especificar el puerto
SOGoMemcachedHost = "127.0.0.1:11211";
SOGoUIxDebugEnabled = YES; //esta opcion es necesaria para que funcionen los temas (theme.js)
SOGoUIAdditionalJSFiles = (
js/theme.js
);
Modificamos el tema en el siguiente archivo
/usr/lib/GNUstep/SOGo/WebServerResources/js/theme.js
Configurando Apache
hacemos un enlace simbólico al archivo de configuración de Sogo
ln -s /etc/apache2/conf.d/SOGo.conf /etc/apache2/conf-available/
agregamos las siguientes lineas al archivo para redireccionar hacia https
vi /etc/apache2/conf-available/SOGo.conf
# Redirect / to /SOGo
RedirectMatch ^/$ https://tudominio.com.sv/SOGo
RewriteRule /SOGo(.*) https://%{HTTP_HOST}%{REQUEST_URI}
Configuramos el certificado ssl en el siguiente archivo
vi /etc/apache2/sites-enabled/default-ssl.conf
#reemplazamos las siguientes lineas con su certificado letsencrypt
SSLCertificateFile /etc/letsencrypt/live/tudominio.com.sv/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/tudominio.com.sv/privkey.pem
Finalmente ejecutamos los siguientes comandos
a2enmod proxy proxy_http headers rewrite ssl
a2enconf SOGo.conf
a2dissite 000-default.conf
a2ensite default-ssl.conf
systemctl restart apache2 sogo
Desde un navegador accedemos a nuestro sitio web https://dogo.tudominio.com.sv
Con un usuario y contraseña del directorio ya debería poder accesar a su webmail
Con un poco de investigación adicional pueden personalizar su instalación de sogo.
Espero le sirva, saludos y que Dios derrame bendiciones sobre usted.
Comentarios