Le pedimos a Gemini, la inteligencia artificial de Google, nos explique cómo resolver problemas de Open-Xchange en linux
Explicanos detalladamente cómo resolver problemas de Open-Xchange en linuxA diferencia de un cliente de correo tradicional, Open-Xchange (OX App Suite) es una arquitectura distribuida de tres capas: el Frontend (Apache/Nginx), el Middleware (un entorno Java/OSGi) y el Backend de Almacenamiento/Datos (MariaDB, Dovecot y el Filestore).
Cuando OX falla, el 90% del trabajo consiste en determinar en cuál de esas tres capas se rompió la cadena. Aquí tienes la guía sistemática para aislar y resolver los problemas más habituales en servidores Linux.
1. El Mapa de Logs: Dónde buscar la causa raíz
El Middleware en Java genera registros de depuración muy detallados. Ante cualquier anomalía, estos son los archivos que debes inspeccionar primero:
Problema A: Error "502 Bad Gateway" o "503 Service Unavailable" en la Web
Este síntoma indica que Apache funciona correctamente, pero no puede comunicarse con el motor Java de Open-Xchange (puerto AJP 8009 o HTTP 8008).
Paso 1: Verificar si el proceso Java está escuchando
Bash
sudo ss -tlpn | grep 8009
Si el puerto no devuelve ningún resultado, el Middleware se ha caído o está bloqueado durante el arranque.
Paso 2: Inspeccionar la memoria de la Máquina Virtual de Java (JVM)
OX App Suite requiere bastante memoria RAM. Si la JVM se queda sin memoria (Java Heap Space), el recolector de basura congelará el proceso o el sistema cerrará el servicio (Out of Memory).
Diagnóstico: Busca en /var/log/open-xchange/open-xchange.log.0 la línea java.lang.OutOfMemoryError: Java heap space.
Solución: Aumenta el límite de memoria asignado a la JVM editando el archivo de entorno /etc/open-xchange/ox-scriptconf.sh (o /etc/default/open-xchange según la versión):
Bash
# Modifica o añade la variable asignando más memoria (ejemplo: 4GB)
JAVA_XMX="4096M"
Reinicia el servicio para aplicar los cambios:Bashsudo systemctl restart open-xchange
Problema B: El usuario entra al panel web, pero la pestaña "Correo" da error
Este es un error común de desacoplamiento: el inicio de sesión web valida contra la base de datos de OX, pero al abrir la pestaña de Correo, OX actúa como un cliente IMAP/SMTP que intenta conectar al servidor Mail (Dovecot/Postfix).
Síntomas en el log (open-xchange.log.0):com.openxchange.mail.mailreader.AuthorizationException: Authentication failed o Connection refused.
Solución:
Comprobar la conectividad desde el servidor OX hacia el servidor IMAP:
Bash
telnet localhost 143
# O si usas SSL/TLS:
openssl s_client -connect localhost:993
Corregir la configuración de host en el Contexto de OX:
Si el servidor IMAP cambió de IP o nombre, debes actualizar los datos del contexto usando las herramientas CLI de /opt/open-xchange/sbin/:
Bash
sudo /opt/open-xchange/sbin/changecontext \
--contextid=1001 \
--imaphost=127.0.0.1 \
--imapport=143 \
--smtphost=127.0.0.1 \
--smtpport=25 \
--adminuser=oxadmin \
--adminpass=ClaveMaestraAdmin
Problema C: Fallos al subir archivos adjuntos o usar OX Drive
Si los usuarios pueden redactar correos pero reciben un error al adjuntar archivos o al guardar documentos en la nube de OX Drive, el problema casi siempre es de permisos en el sistema de archivos (Filestore).
Solución:
El directorio donde OX guarda los adjuntos físicos (por defecto /var/spool/open-xchange/filestore) debe pertenecer estrictamente al usuario de sistema open-xchange.
Revisa los permisos y corrige la propiedad de la carpeta:
Bash
sudo chown -R open-xchange:open-xchange /var/spool/open-xchange/filestore
sudo chmod -R 770 /var/spool/open-xchange/filestore
Verifica si el disco se ha quedado sin espacio disponible:Bashdf -h /var/spool/open-xchange/filestore
Problema D: Corrupción de Esquema o Bloqueos en MariaDB
Si realizaste una actualización del paquete open-xchange o el servidor sufrió un apagón repentino, la base de datos de configuración (configdb) o las bases de datos de contexto pueden quedar fuera de sintaxis o bloqueadas.
Herramientas internas de diagnóstico de DB:
Escanear la salud y coherencia de las bases de datos de OX:
Bash
sudo /opt/open-xchange/sbin/checkdatabase \
--adminuser=oxadmin \
--adminpass=ClaveMaestraAdmin
Desbloquear un contexto que se quedó en modo mantenimiento:Si una tarea administrativa falló a medio camino, el contexto puede quedar marcado como "bloqueado". Puedes verificar su estado y liberarlo con:
Bash
# Ver lista de contextos y su estado
sudo /opt/open-xchange/sbin/listcontext --adminuser=oxadmin --adminpass=ClaveMaestraAdmin
# Desbloquear el contexto afectado (ej. 1001)
sudo /opt/open-xchange/sbin/unlockcontext --contextid=1001 --adminuser=oxadmin --adminpass=ClaveMaestraAdmin
3. Resumen del Protocolo de Emergencia
--adminuser=oxadmin \
--adminpass=ClaveMaestraAdmin
Desbloquear un contexto que se quedó en modo mantenimiento:Si una tarea administrativa falló a medio camino, el contexto puede quedar marcado como "bloqueado". Puedes verificar su estado y liberarlo con:
Bash
# Ver lista de contextos y su estado
sudo /opt/open-xchange/sbin/listcontext --adminuser=oxadmin --adminpass=ClaveMaestraAdmin
# Desbloquear el contexto afectado (ej. 1001)
sudo /opt/open-xchange/sbin/unlockcontext --contextid=1001 --adminuser=oxadmin --adminpass=ClaveMaestraAdmin
3. Resumen del Protocolo de Emergencia
Cuando todo falle y la interfaz web no responda:
Bash
# 1. Revisa errores graves en tiempo real
sudo tail -n 100 -f /var/log/open-xchange/open-xchange.log.0 | grep -E "ERROR|SEVERE"
# 2. Reinicia la secuencia en orden jerárquico
sudo systemctl restart mariadb
sudo systemctl restart open-xchange
sudo systemctl restart apache2
¿Quieres analizar un mensaje de error específico de tus logs de Open-Xchange para interpretarlo?
sudo tail -n 100 -f /var/log/open-xchange/open-xchange.log.0 | grep -E "ERROR|SEVERE"
# 2. Reinicia la secuencia en orden jerárquico
sudo systemctl restart mariadb
sudo systemctl restart open-xchange
sudo systemctl restart apache2
¿Quieres analizar un mensaje de error específico de tus logs de Open-Xchange para interpretarlo?