Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo instalar y configurar Open Xchange en linux

 Le pedimos a Gemini, la inteligencia artificial de Google, nos explique cómo instalar y configurar Open Xchange en linux

Explicanos detalladamente cómo instalar y configurar Open Xchange en linux

Open-Xchange ( OX App Suite ) es una plataforma de groupware de nivel empresarial. A diferencia de clientes de webmail más sencillos (como Roundcube) o de soluciones todo en uno integradas, Open-Xchange está diseñado para escalar masivamente y se divide en tres capas bien definidas:

Frontend: Una interfaz rica en HTML5/JS servida a través de Apache.

Middleware: Un motor en Java corriendo sobre un runtime OSGi (open-xchange-core) que gestiona la lógica de negocio, reglas y APIs.

Almacenamiento y Correo: MariaDB para metadatos y preferencias, junto con un servidor IMAP/SMTP externo (usualmente Dovecot + Postfix).

Esa arquitectura modular hace que su instalación sea un proceso secuencial muy técnico. A continuación tienes la guía detallada para desplegarlo en un sistema basado en Debian/Ubuntu.

Requisitos Previos

Sistema Operativo: Debian 12 o Ubuntu 22.04 LTS (limpio).

Recursos: Mínimo 4 GB de RAM (se recomiendan 8 GB, ya que el motor Java de OX es exigente con la memoria).

Servicios base: Servidor MariaDB y un servidor IMAP (como Dovecot) previamente configurado y funcionando.

FQDN: Tu servidor debe responder a un nombre FQDN válido (ej. ox.tuempresa.com).

1

1. Configurar las fuentes de paquetes


Añadir los repositorios oficiales de OX

Open-Xchange requiere registrar sus llaves GPG y repositorios oficiales. Descarga las llaves de repositorio e inclúyelas en tu gestor de paquetes.

Bash

sudo apt update && sudo apt install wget gnupg2 -y

# Importar la clave GPG oficial de Open-Xchange

wget -qO - https://software.open-xchange.com/oxbuildkey.pub | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/open-xchange.gpg

# Agregar el repositorio de OX App Suite (reemplaza 'DebianBookworm' según tu distribución)

echo "deb https://software.open-xchange.com/products/appsuite/stable/backend/DebianBookworm/ /" | sudo tee /etc/apt/sources.list.d/open-xchange.list

echo "deb https://software.open-xchange.com/products/appsuite/stable/appsuiteui/DebianBookworm/ /" | sudo tee -a /etc/apt/sources.list.d/open-xchange.list

sudo apt update


2

2. Preparar MariaDB


Optimizar InnoDB para transacciones de OX

Open-Xchange realiza un uso intensivo de transacciones en la base de datos. Debes ajustar el archivo de configuración de MariaDB

(/etc/mysql/mariadb.conf.d/50-server.cnf).

Asegúrate de configurar los siguientes parámetros dentro de la sección [mysqld]:

Ini, TOML


[mysqld]

max_allowed_packet = 16M

group_concat_max_len = 16384

innodb_buffer_pool_size = 2G

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci


Reinicia MariaDB y crea el usuario administrativo para OX:

Bash


sudo systemctl restart mariadb

# Accede a MySQL para crear los accesos

sudo mysql -u root -p -e "CREATE USER 'openxchange'@'localhost' IDENTIFIED BY 'TuClaveSeguraDB';"

sudo mysql -u root -p -e "GRANT ALL PRIVILEGES ON *.* TO 'openxchange'@'localhost' WITH GRANT OPTION;"

sudo mysql -u root -p -e "FLUSH PRIVILEGES;"


3

3. Instalar el Middleware y Frontend

Motor Java + Interfaz Web


Instala los paquetes principales del backend (Java), los módulos de autenticación por base de datos y la interfaz web.

Bash

sudo apt install -y \

     open-xchange \

     open-xchange-authentication-database \

     open-xchange-grizzly \

     open-xchange-admin \

     open-xchange-appsuite-ui \

     apache2 libapache2-mod-dnssd

4

4. Inicializar la Base de Datos y el Servidor

Esquemas de configuración del Middleware


Open-Xchange incluye herramientas CLI ubicadas en /opt/open-xchange/sbin/ para construir la estructura de la base de datos e inicializar el middleware.

Bash

# 1. Inicializar la base de datos de configuración (configdb)


sudo /opt/open-xchange/sbin/initconfigdb \

    --configdb-pass=TuClaveSeguraDB \

    --configdb-user=openxchange \

    --configdb-host=localhost \

    --configdb-port=3306

# 2. Asignar contraseña al usuario maestro del sistema (oxadmin)

sudo /opt/open-xchange/sbin/oxinstaller \

    --oxadmin-password=ClaveMaestraAdmin \

    --configdb-pass=TuClaveSeguraDB \

    --soffice-path=/usr/bin/soffice

# 3. Registrar el servidor actual en el clúster local de OX

sudo /opt/open-xchange/sbin/registerserver \

    --name=oxserver \

    --adminuser=oxadmin \

    --adminpass=ClaveMaestraAdmin

# 4. Registrar la base de datos de usuarios (database)

sudo /opt/open-xchange/sbin/registerdatabase \

    --name=oxdatabase \

    --db-is-master=true \

    --dbhost=localhost \

    --dbuser=openxchange \

    --dbpasswd=TuClaveSeguraDB \

    --adminuser=oxadmin \

    --adminpass=ClaveMaestraAdmin

5

5. Configurar el Servidor Web (Apache)

Proxy de Apache hacia la API de Java


Habilita los módulos de proxy de Apache para que reenvíen las solicitudes de la interfaz pública hacia el puerto interno del Middleware (por defecto el puerto 8009 AJP o 8008 HTTP).

Bash

sudo a2enmod proxy proxy_http proxy_ajp rewrite headers expires deflator

# Aplica la configuración por defecto que viene empaquetada con OX

sudo cp /opt/open-xchange/etc/groupware_apache.conf /etc/apache2/sites-available/ox.conf

sudo a2ensite ox.conf

sudo systemctl restart apache2

sudo systemctl start open-xchange


6

6. Aprovisionar el primer 'Contexto'

Creación de Contextos y Usuarios


Open-Xchange es un sistema multitenant nativo. Todo se organiza mediante Contextos (que representan a una empresa o dominio) identificados por un número ID (ej. 1001).

Bash

# 1. Crear un contexto ligado a tu servidor IMAP/SMTP


sudo /opt/open-xchange/sbin/createcontext \

    --contextid=1001 \

    --contextname="TuEmpresa" \

    --quota=1024 \

    --access-combination-name=groupware_standard \

    --displayname="Admin TuEmpresa" \

    --givenname="Admin" \

    --surname="General" \

    --email="admin@tuempresa.com" \

    --username="admin" \

    --password="ClaveUsuarioAdmin" \

    --imaphost="localhost" \

    --imapport=143 \

    --smtphost="localhost" \

    --smtpport=25 \

    --adminuser=oxadmin \

    --adminpass=ClaveMaestraAdmin

# 2. Crear un usuario adicional dentro del contexto 1001

sudo /opt/open-xchange/sbin/createuser \

    --contextid=1001 \

    --username="juan" \

    --givenname="Juan" \

    --surname="Pérez" \

    --displayname="Juan Pérez" \

    --email="juan@tuempresa.com" \

    --password="ClaveDeJuan" \

    --imaplogin="juan@tuempresa.com" \

    --adminuser=oxadmin \

    --adminpass=ClaveMaestraAdmin

El concepto clave: "Contextos" en Open-Xchange

El punto que más suele confundir al administrar Open-Xchange por primera vez es que no puedes crear usuarios sueltos.
  • Cada dominio o cliente requiere su propio Context ID (por ejemplo, 1001 para empresaA.com, 1002 para empresaB.com).
  • Para administrar o crear cuentas en el futuro, siempre debes especificar a qué --contextid pertenece el usuario que estás modificando.
Una vez completados estos pasos, puedes abrir tu navegador en [http://ox.tuempresa.com/appsuite/](http://ox.tuempresa.com/appsuite/) e iniciar sesión con el usuario (admin o juan) y la contraseña que creaste en el paso 6.

¿Quieres ver cómo integrar Open-Xchange Documents (OX Drive/Docs) para edición colaborativa de archivos?

Cómo instalar y configurar Open Web mail en linux

 Le pedimos a Google, la inteligencia artificial de Google, nos explique cómo instalar y configurar Open Web mail en linux 

Explicanos detalladamente cómo instalar y configurar Open Web mail en linux

Instalar Open WebMail en un servidor Linux moderno requiere una advertencia técnica muy similar a la que hicimos con Horde: estamos hablando de un software heredado (legacy) de principios de los años 2000.

A diferencia de las soluciones modernas basadas en PHP (como Roundcube) o los despliegues integrales (como iRedMail), Open WebMail está escrito íntegramente en Perl y funciona a través de CGI (Common Gateway Interface). Su diseño original estaba pensado para leer los correos directamente del archivo del sistema (/var/mail/usuario) en lugar de usar IMAP.

Ponerlo a funcionar hoy en distribuciones modernas requiere instalar módulos de Perl antiguos y habilitar la ejecución de scripts CGI en Apache. Si lo necesitas para un entorno heredado o un laboratorio, aquí tienes el procedimiento exacto para Debian/Ubuntu.

1.- Preparar el entorno base

Instalar Apache, Perl y los módulos necesarios

Open WebMail no necesita una base de datos MySQL, pero sí requiere un servidor web con soporte CGI y varias librerías de Perl.

Bash

sudo apt update

sudo apt install apache2 perl libcgi-pm-perl libsys-syslog-perl postfix wget tar -y


# Habilitar el módulo CGI en Apache (apagado por defecto en sistemas modernos)

sudo a2enmod cgi

sudo systemctl restart apache2


2.- Descargar y estructurar los archivos

Descarga desde el repositorio oficial

El código de Open WebMail se divide en dos partes: los scripts ejecutables (cgi-bin) y los recursos estáticos (data). Debemos colocarlos en las rutas correctas del servidor web.

Bash


cd /tmp

wget http://openwebmail.org/openwebmail/download/current/openwebmail-current.tar.gz

tar -xzvf openwebmail-current.tar.gz


# Mover los scripts ejecutables al directorio CGI de Apache

sudo mv cgi-bin/openwebmail /usr/lib/cgi-bin/

# Mover los recursos estáticos (imágenes, CSS) al directorio público

sudo mv data/openwebmail /var/www/html/

# Ajustar permisos para que los scripts sean ejecutables

sudo chown -R root:root /usr/lib/cgi-bin/openwebmail

sudo chmod -R 4755 /usr/lib/cgi-bin/openwebmail


3.- Configurar las bases de datos DBM y las rutas

El paso más crítico en sistemas modernos

Open WebMail utiliza archivos de texto plano y bases de datos tipo DBM para almacenar preferencias. En Linux moderno, el formato por defecto de las bases de datos DBM ha cambiado, por lo que hay que forzar la configuración.

Edita el archivo de configuración de base de datos:

Bash


sudo nano /usr/lib/cgi-bin/openwebmail/etc/defaults/dbm.conf

Asegúrate de que estas tres variables queden exactamente así:

Plaintext

dbm_ext                                  .db

dbmopen_ext                          none

dbmopen_haslock                   no


Luego, ajusta el archivo de configuración principal para decirle dónde están los recursos estáticos:

Bash

sudo nano /usr/lib/cgi-bin/openwebmail/etc/openwebmail.conf

Busca y modifica estas líneas para que coincidan con las rutas de Ubuntu/Debian:

Plaintext

ow_htmldir                  /var/www/html/openwebmail

ow_htmlurl                  /openwebmail


4.- Inicializar el sistema

Crear los archivos de log y preferencias

Open WebMail incluye un script que verifica la configuración y construye los archivos necesarios para arrancar.

Bash

# Crear el archivo de log principal y darle permisos

sudo touch /var/log/openwebmail.log

sudo chown root:mail /var/log/openwebmail.log

sudo chmod 660 /var/log/openwebmail.log


# Ejecutar la herramienta de inicialización

sudo /usr/lib/cgi-bin/openwebmail/openwebmail-tool.pl --init

(Si el script arroja la pregunta "Send site report?", puedes responder n).

5.- Ajustar Apache

El alias para los recursos estáticos


Para que la interfaz web cargue las imágenes y los estilos correctamente, Apache necesita un alias.

Crea un archivo de configuración para Open WebMail en Apache:

Bash

sudo nano /etc/apache2/conf-available/openwebmail.conf

Añade el siguiente bloque:

Apache

Alias /openwebmail /var/www/html/openwebmail


      Options Indexes FollowSymLinks

      AllowOverride None

      Require all granted


Habilita la configuración y reinicia Apache:

Bash


sudo a2enconf openwebmail

sudo systemctl restart apache2


Cómo acceder a la interfaz

Con estos pasos completados, puedes acceder al cliente abriendo tu navegador web e ingresando a:

http://tu-direccion-ip/cgi-bin/openwebmail/openwebmail.pl

¿Cómo funciona el inicio de sesión?

Open WebMail leerá a los usuarios locales del sistema operativo Linux (los mismos que ves en /etc/passwd). Si tienes un usuario llamado juan en tu servidor Linux, puedes iniciar sesión en Open WebMail con el usuario juan y su respectiva contraseña de Linux. El programa leerá directamente el archivo /var/mail/juan para mostrarle sus correos.

Cómo configurar un servidor FTP rápido en Linux para que G4L pueda guardar tus imágenes de forma centralizada

 Le preguntamos a Gemini, la inteligencia artificial de Google, nos explique cómo configurar un servidor FTP rápido en Linux para que G4L pueda guardar tus imágenes de forma centralizada

Explicanos detalladamente cómo configurar un servidor FTP rápido en Linux para que G4L pueda guardar tus imágenes de forma centralizada

Ghost for Linux (G4L) es una herramienta fantástica para la clonación de discos a nivel de bloques, y su integración nativa con FTP es su mayor punto fuerte para despliegues en red. Para manejar archivos masivos (imágenes de discos enteros de decenas o cientos de gigabytes) sin crear cuellos de botella, la mejor opción en Linux es vsftpd (Very Secure FTP Daemon).

Es un servidor extremadamente ligero, estable y, sobre todo, rápido, ya que puede delegar la transferencia de archivos directamente al núcleo de Linux.

Aquí tienes el procedimiento exacto para desplegarlo y optimizarlo para recibir las imágenes de G4L.

1.- Instalar el servidor FTP

En Ubuntu/Debian

Abre tu terminal y asegúrate de tener el sistema actualizado antes de instalar el paquete base de vsftpd.

Bash

sudo apt update

sudo apt install vsftpd -y

2.- Crear un usuario y directorio dedicado para G4L

Aislamiento por seguridad

Nunca debes usar el usuario root o tu usuario personal para transferencias automatizadas. Crearemos un usuario llamado g4luser que solo tendrá acceso a su carpeta de imágenes.

Bash

# Crea el usuario (te pedirá que asignes una contraseña, guárdala para G4L)

sudo adduser g4luser

# Crea el directorio donde aterrizarán las imágenes

sudo mkdir -p /home/g4luser/imagenes

# Asigna los permisos absolutos al nuevo usuario

sudo chown -R g4luser:g4luser /home/g4luser/imagenes

3.- Optimizar la configuración para transferencias masivas

El secreto del rendimiento

Haremos una copia de seguridad de la configuración original y crearemos una nueva enfocada en velocidad y en encerrar al usuario en su directorio (Chroot).

Bash

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

sudo nano /etc/vsftpd.conf


Asegúrate de que estas líneas estén descomentadas o añádelas al final del archivo:

Bash

# Deshabilitar acceso anónimo y habilitar usuarios locales

anonymous_enable=NO

local_enable=YES

write_enable=YES


# Encerrar al usuario en su directorio para que no navegue por tu servidor

chroot_local_user=YES

allow_writeable_chroot=YES

local_root=/home/g4luser/imagenes


# OPTIMIZACIÓN DE VELOCIDAD: Usa el kernel para mover datos directamente

use_sendfile=YES

# Configuración de modo pasivo para evitar cuelgues del firewall de G4L

pasv_min_port=10000

pasv_max_port=10100


Guarda y cierra el archivo (Ctrl+O, Enter, Ctrl+X).

4.- Ajustar el Firewall y aplicar cambios

Debemos decirle a UFW (el firewall de Ubuntu) que permita el tráfico del puerto de control FTP (21) y el rango de puertos pasivos que definimos para las transferencias de datos.

Bash

sudo ufw allow 21/tcp

sudo ufw allow 10000:10100/tcp


# Reinicia el servicio para aplicar la nueva configuración

sudo systemctl restart vsftpd

sudo systemctl enable vsftpd

Cómo conectar G4L a este servidor

Una vez que arranques tu máquina cliente con el Live CD/USB de Ghost for Linux, llegarás a la interfaz principal basada en ncurses. Ve a la opción Network Use y luego a Config FTP.

Introduce los datos exactos que acabamos de crear:

Server IP: La dirección IP local de tu servidor Linux (ej. 192.168.1.50).

User: g4luser

Password: La contraseña que le asignaste en el Paso 2.

Directory: Déjalo en blanco o escribe / (como configuramos local_root, G4L aterrizará directamente dentro de la carpeta imagenes por defecto).

Nota sobre el rendimiento: El parámetro use_sendfile=YES que configuramos en el paso 3 es la clave. Evita que Linux copie los datos de la red a la memoria del usuario y luego al disco, haciéndolo todo en espacio del kernel. Con esto, si tienes una red Gigabit y discos SSD o NVMe en el servidor, verás que G4L satura la red copiando a más de 110 MB/s sostenidos.

Cómo resolver problemas de Mail-in-a-Box en linux

 Le preguntamos a Gemini, la inteligencia artificial de Google, cómo resolver problemas de Mail-in-a-Box en linux

Explicanos detalladamente cómo resolver problemas de Mail-in-a-Box en linux

Mail-in-a-Box (MiaB) es maravilloso porque funciona como un "electrodoméstico de software": todo está automatizado. Sin embargo, esa misma automatización puede convertirlo en una "caja negra" cuando algo falla, ya que no utiliza las rutas o configuraciones tradicionales de un servidor de correo configurado a mano.

Cuando tu Mail-in-a-Box experimente problemas (correos que no llegan, certificados SSL caídos o DNS que no resuelven), debes seguir un protocolo de diagnóstico estructurado para identificar la raíz del problema.

1. La Primera Parada Obligatoria: "Status Checks"

Antes de tocar una sola línea de comandos, ve al panel de administración web:

https://box.tudominio.com/admin ➔ System ➔ Status Checks.

Este panel ejecuta decenas de pruebas en tiempo real y es extremadamente preciso. Te dirá exactamente qué está fallando:

Texto en Rojo: Indica un problema crítico (ej. puerto bloqueado, registro DNS roto o IP en lista negra).

Texto en Naranja: Advertencias (ej. actualizaciones pendientes o configuraciones opcionales que faltan).

2. Dónde buscar los Logs en Mail-in-a-Box

Si el panel web no carga o necesitas investigar más a fondo, debes conectarte por SSH a tu servidor Ubuntu 22.04. MiaB centraliza casi todos los servicios bajo el gestor del sistema (systemd).

Aquí tienes las rutas clave de los registros:

ServicioComando de Diagnóstico (Systemd)Ubicación del Archivo de Log
Flujo de Correo (Postfix/Dovecot)sudo systemctl status postfix/var/log/mail.log
Servidor DNS (NSD)sudo systemctl status nsd/var/log/syslog
Interfaz Web y APIssudo systemctl status mailinaboxUsar journalctl -u mailinabox
Servidor Web (Nginx)sudo systemctl status nginx/var/log/nginx/error.log
Certificados SSL (Let's Encrypt)N/A/var/log/letsencrypt/letsencrypt.log

Tip táctico para ver errores en tiempo real:

Bash


# Ver las últimas líneas del flujo de correo a medida que ocurren

sudo tail -f /var/log/mail.log

3. Resolución de los Problemas más Comunes

A. Fallo en la Renovación de Certificados SSL (Let's Encrypt)

MiaB intenta renovar los certificados automáticamente de fondo. Si esto falla, tus usuarios verán advertencias de seguridad al entrar al Webmail o configurar sus cuentas.

Causa común: Has añadido un nuevo dominio o subdominio en MiaB, pero tus registros DNS aún no se han propagado o los puertos 80/443 de tu servidor están bloqueados en tu proveedor de VPS.

Solución:

Asegúrate de que los puertos web estén abiertos ejecutando:

Bash

sudo ufw status

Fuerza la renovación manual del certificado desde la consola ejecutando el script interno de MiaB:

Bash

sudo mailinabox/tools/ssl.sh

B. El Servidor se "Congela" o los Servicios se Caen Solos (OOM Killer)

Si notas que de repente el webmail da un error 502 Bad Gateway o que el servicio de correo se detiene de la nada, es muy probable que tu servidor se haya quedado sin memoria RAM.

Causa común: MiaB incluye filtros pesados como SpamAssassin y ClamAV (antivirus). Si tu máquina virtual tiene 1 GB de RAM y no tiene memoria de intercambio (SWAP), el núcleo de Linux cerrará servicios aleatoriamente para evitar un colapso total (Out of Memory).

Solución (Crear un archivo SWAP de 2 GB de forma inmediata):

Bash


sudo fallocate -l 2G /swapfile

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile


# Hazlo permanente añadiendo esta línea al final de /etc/fstab:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

C. Los DNS no Resuelven Correctamente (NSD Caído)

Dado que MiaB funciona como su propio servidor de nombres, si el servicio nsd (el demonio DNS que utiliza) se detiene, todo tu dominio desaparecerá de internet.

Diagnóstico: Ejecuta dig @localhost tudominio.com. Si no devuelve respuesta, el servidor DNS interno está inactivo.

Solución:

Revisa si hay errores de sintaxis en tus zonas personalizadas de DNS y reinicia el servicio:

Bash

sudo systemctl restart nsd

4. El "Superpoder" de Mail-in-a-Box: Reconfiguración Completa

Una de las mayores ventajas de Mail-in-a-Box es que sus scripts de instalación son idempotentes. Esto significa que puedes volver a ejecutar el instalador sobre tu servidor activo en cualquier momento.

Si tocaste archivos de configuración de Postfix o Nginx por error y rompiste el sistema, no intentes arreglarlos manualmente. Simplemente ejecuta el comando original de instalación:

Bash

sudo mailinabox

¿Qué hace este comando?

Escanea todo el sistema.

Detecta qué archivos de configuración han sido modificados o dañados y los sobrescribe con los valores por defecto correctos.

No borra tus correos, usuarios, contraseñas ni bases de datos. Todo tu almacenamiento en /home/mailinabox/data permanece intacto.

Es la forma más rápida y segura de devolver el servidor a un estado 100% operativo en menos de 5 minutos.

¿Hay algún servicio específico dentro de tu Mail-in-a-Box que esté arrojando errores actualmente en la sección de Status Checks, o tienes dificultades para que los correos salgan de la cola de Postfix hacia destinatarios externos?

Cómo instalar y configurar Mail-in-a-Box en linux

 Le pedimos a Gemini, la inteligencia artificial de Google, nos explique cómo instalar y configurar Mail-in-a-Box en linux

Explicanos detalladamente cómo instalar y configurar Mail-in-a-Box en linux

Mail-in-a-Box es una de las soluciones más sencillas y radicales para auto-alojar correo electrónico en Linux. A diferencia de iRedMail o despliegues basados en Docker (como Mailcow), Mail-in-a-Box está diseñado como un electrodoméstico de software (appliance). Esto significa que se adueña por completo del sistema operativo y automatiza absolutamente todo: desde el servidor SMTP hasta la gestión de DNS, las firmas criptográficas (DKIM, DNSSEC) y la renovación de certificados SSL con Let's Encrypt.

Debido a este enfoque tan estricto, la instalación tiene una regla de oro inquebrantable: debe ejecutarse en una máquina virtual completamente limpia, dedicada en exclusiva a este propósito.

Requisitos Previos

Antes de lanzar una sola línea de comandos, asegúrate de cumplir con este checklist de infraestructura:

Sistema Operativo: Únicamente Ubuntu 22.04 LTS (64-bit) limpio. No intentes instalarlo en Ubuntu 24.04 ni en Debian; el script fallará deliberadamente al comprobar la versión.

Recursos Mínimos: Al menos 1 GB de RAM (se recomiendan 2 GB para un rendimiento fluido del antispam) y 20 GB de almacenamiento.

Puerto 25 Abierto: Tu proveedor de VPS (Hetzner, DigitalOcean, Linode, etc.) debe permitir tráfico saliente y entrante por el puerto 25.Un Dominio Propio: Necesitarás acceso al panel de control donde compraste tu dominio para delegar las funciones de DNS.

1. Preparación del Entorno y FQDN

Al igual que en otros servidores de correo, la resolución de nombres local es crítica. Configuraremos la máquina para que responda a un subdominio especializado (usualmente box.tudominio.com).

Modifica el nombre de host del sistema:

Bash

sudo hostnamectl set-hostname box.tudominio.com

Edita el archivo de resolución local:

Bash

sudo nano /etc/hosts

Asegúrate de asociar tu IP pública al FQDN configurado. Debe verse similar a esto:

Plaintext

127.0.0.1 localhost

12.34.56.78 box.tudominio.com box


(Reemplaza 12.34.56.78 por tu IP pública real).

2. Ejecución del Instalador Automatizado

Mail-in-a-Box reduce todo el proceso de despliegue de paquetes (Postfix, Dovecot, Nextcloud para contactos/calendario, Roundcube y NSD para DNS) a un comando simplificado que descarga y arranca el script oficial de instalación.Ejecuta el siguiente comando en tu terminal:

Bash

curl -s https://mailinabox.email/bootstrap.sh | sudo bash

3. Asistente de Configuración (Interactiva)

El script comenzará a descargar dependencias y abrirá una pantalla azul en la terminal con una serie de preguntas esenciales:

Dirección de Correo del Administrador: Te pedirá tu primera cuenta de correo (ej. contacto@tudominio.com). Esta cuenta se creará automáticamente y actuará como el usuario administrador principal para acceder al panel web.

Hostname ( Nombre de host ): Confirmará el nombre que configuramos previamente (box.tudominio.com). Verifica que sea correcto y presiona Enter.

Configuración de Zona Horaria: Selecciona tu ubicación geográfica para asegurar que los logs y las cabeceras de los correos registren la hora exacta.

Contraseña de Administrador: Introduce una contraseña altamente segura para tu nueva cuenta de correo administradora.

A partir de este punto, el instalador configurará de forma automatizada las reglas del firewall (UFW), generará los parámetros criptográficos Diffie-Hellman y levantará todos los demonios necesarios. Este proceso suele demorar entre 5 y 10 minutos.

4. El Secreto de Mail-in-a-Box: La Delegación de DNS

Cuando el instalador termine, verás un mensaje de éxito en la terminal con la URL de tu panel de administración: https://box.tudominio.com/admin.

Sin embargo, si intentas entrar de inmediato, es probable que no cargue. Esto sucede porque Mail-in-a-Box actúa como su propio servidor de nombres (DNS Name Server). Para que internet sepa llegar a tu servidor, debes realizar la configuración final en tu registrador de dominios (donde compraste el dominio):

Configurar los "Glue Records" (Registros de Vinculación)

Ve al panel de control de tu registrador de dominios y busca la sección de Glue Records o Registered Nameservers y añade:

ns1.box.tudominio.com ➔ Apuntando a la IP de tu servidor.

ns2.box.tudominio.com ➔ Apuntando a la IP de tu servidor.


Cambiar los Servidores de Nombres (Nameservers)

Una vez creados los Glue Records, cambia los servidores de nombres principales de tu dominio para que apunten a tu caja:

Nameserver 1: ns1.box.tudominio.com

Nameserver 2: ns2.box.tudominio.com


⚠️ Nota de Transición: Una vez que cambies los Nameservers, Mail-in-a-Box tomará el control total de los registros DNS de tu dominio (registros Web A, registros MX, registros SPF/DKIM). Si tenías una página web alojada en otro servidor, tendrás que ir al panel web de Mail-in-a-Box (System -> Custom DNS) y añadir manualmente el registro A que apunte hacia el servidor de tu web.

5. Verificación Final en el Panel Web

Una vez que la propagación DNS termine (puede tomar desde unos minutos hasta pocas horas), accede al panel con las credenciales creadas:

Panel de Administración: https://box.tudominio.com/admin

Webmail (Roundcube): https://box.tudominio.com/mail

Al entrar al panel de administración, dirígete a la pestaña System -> Status Checks. Mail-in-a-Box realizará un escaneo exhaustivo en tiempo real y te mostrará en verde todo lo que está funcionando correctamente, o en rojo si te falta algún ajuste DNS o si tu IP pública se encuentra listada en alguna lista negra de spam. Mail-in-a-Box 

¿Quieres saber cómo migrar tus registros DNS existentes si no deseas delegarle el control total a Mail-in-a-Box?

Cómo resolver problemas de iRedMail en linux

Le preguntamos a Gemini, la inteligencia artificial de Google, nos explique cómo resolver problemas de iRedMail en linux

Explicanos detalladamente Cómo resolver problemas de iRedMail en linux

Resolver problemas en iRedMail es un ejercicio de disección. Al ser un ecosistema compuesto por múltiples servicios (Postfix, Dovecot, Nginx, MariaDB, SpamAssassin), no existe un único botón de "reparar". Cuando algo falla, tu principal misión es descubrir qué pieza exacta de la orquesta está desafinada.

Aquí tienes el manual táctico para diagnosticar y solucionar los fallos más críticos en la arquitectura de iRedMail.

1. El Mapa del Tesoro: Dónde leer los Logs

En Linux, la respuesta a casi cualquier fallo de servidor está en los registros. Antes de reiniciar servicios a ciegas, mantén una terminal abierta monitorizando el archivo correspondiente.

ComponenteArchivo de Log Principal¿Qué buscar aquí?
Postfix (Envío/Recepción SMTP)/var/log/mail.log o maillogCorreos rechazados, errores de enrutamiento, problemas de conexión en el puerto 25.
Dovecot (Lectura IMAP/POP3)/var/log/dovecot/dovecot.logUsuarios que no pueden iniciar sesión, errores de contraseña o buzones corruptos.
Nginx (Panel Web/Webmail)/var/log/nginx/error.logPantallas blancas, errores 502 Bad Gateway en Roundcube o iRedAdmin.
Amavis / Antispam/var/log/mail.logCorreos bloqueados por contener virus o clasificados como SPAM antes de entregarse.

Comando útil para ver el flujo en tiempo real:

Bash


sudo tail -f /var/log/mail.log

2. El Enemigo Silencioso: Bloqueos por Fail2ban

Si un usuario se queja de que de repente "el servidor web no carga" o "Outlook no conecta", pero para los demás funciona perfectamente, Fail2ban lo ha bloqueado. iRedMail viene con reglas muy estrictas de fábrica para evitar ataques de fuerza bruta.

Cómo diagnosticar y desbanear:

Revisar el estado general de las jaulas (jails):

Bash


sudo fail2ban-client status

Ver si una IP específica está bloqueada en un servicio (ej. Dovecot):

Bash


sudo fail2ban-client status dovecot

Desbanear la IP (reemplaza por la dirección real):

Bash


sudo fail2ban-client set dovecot unbanip <IP>

sudo fail2ban-client set postfix unbanip 
<IP>

sudo fail2ban-client set roundcube unbanip 
<IP>

3. Atascos en la Cola de Correos (Postfix Queue)

Cuando los correos no logran salir de tu servidor hacia internet (ya sea porque el destino está caído o Gmail está limitando tus envíos), se acumulan en la cola de Postfix.

Ver cuántos correos hay atascados y sus IDs:

Bash


sudo mailq

# o también: postqueue -p

Leer el motivo exacto por el que un correo no sale:

Copia el ID alfanumérico que te da el comando anterior y usa:

Bash

sudo postcat -q <ID_DEL_MENSAJE>

Forzar el reintento de envío de toda la cola:

Bash

sudo postqueue -f

Limpiar la cola (eliminar todos los correos atascados - ¡Peligro!):

Bash


sudo postsuper -d ALL

4. Problemas de Red y Puertos Cerrados

Si los correos externos no entran en absoluto, o los tuyos no salen y el log muestra Connection timed out, el problema está a nivel de red o firewall. Puedes usar utilidades de red como nc (NetCat) para comprobar rápidamente la conectividad bidireccional sin depender de resoluciones complejas.

Prueba de salida (Desde tu servidor hacia fuera):

Bash


nc -vz smtp.gmail.com 25

Si esto falla, tu proveedor de nube (AWS, DigitalOcean, etc.) te tiene bloqueado el puerto 25 de salida. Tendrás que pedirles que lo abran o configurar un Relay SMTP externo.

Prueba de entrada (Desde tu PC hacia tu servidor):

Bash


nc -vz mail.tudominio.com 25

Si esto falla, el firewall de tu servidor (UFW o iptables) o el firewall perimetral de tu proveedor está bloqueando el tráfico entrante.

5. El Panel Web o Webmail dan Error 502 (Bad Gateway)

iRedAdmin y Roundcube no corren directamente sobre Nginx; usan intérpretes intermedios (uWSGI y PHP-FPM, respectivamente). Si estos servicios se caen o pierden conexión con la base de datos MariaDB, Nginx mostrará un error 502.

Solución rápida: Reinicia los servicios de la capa de aplicación web.

Bash

sudo systemctl restart php8.1-fpm # La versión puede variar según tu SO

sudo systemctl restart uwsgi

sudo systemctl restart nginx

6. Problemas de Entregabilidad (Tus correos llegan a SPAM)

Este es un fallo de configuración de DNS, no del servidor Linux en sí. Si tus correos salen pero caen en la carpeta de correo no deseado del destinatario, debes verificar que Amavis esté firmando los correos y que tus DNS estén correctos.

Verificar que el servicio Amavis esté inyectando la firma DKIM:

Bash


sudo amavisd-new testkeys

Debe responder pass para tu dominio.

Si dice "fail" o no está configurado:

Vuelve a extraer tu llave pública y asegúrate de que el registro TXT en tu panel DNS coincida exactamente.

Bash

sudo amavisd-new showkeys

Dado que iRedMail integra tantas capas de seguridad perimetral e interna, ¿estás enfrentando actualmente algún bloqueo silencioso donde los correos son rechazados sin un mensaje de error claro, o tu problema principal está en el acceso de los usuarios a los servicios web y protocolos IMAP?

Cómo instalar y configurar iRedMail en linux

 Le preguntamos a Gemini, la inteligenia artificial de Google, cómo instalar y configurar iRedMail en linux

Explicanos detalladamente cómo instalar y configurar iRedMail en linux

iRedMail es, sin duda, la solución definitiva si necesitas montar un servidor de correo en Linux sin tener que configurar Postfix, Dovecot y bases de datos a mano desde cero. Es un script automatizado que toma un sistema operativo limpio y despliega toda la arquitectura de correo (incluyendo seguridad, antispam y webmail) en unos 15 minutos.

A diferencia de lidiar con dependencias heredadas, iRedMail despliega componentes modernos. Instala automáticamente Roundcube o SOGo (las alternativas modernas que mencionamos antes), y blinda el sistema configurando reglas de firewall y Fail2ban por defecto, lo cual te ahorrará mucho trabajo manual si acostumbras gestionar la seguridad perimetral de tus servidores.

Aquí tienes la guía de despliegue paso a paso.

Requisitos Previos (Estrictos)

iRedMail es muy exigente con su entorno inicial:

Un servidor completamente limpio (Fresh Install): No lo instales en un servidor que ya tenga Apache, MySQL o Postfix corriendo. iRedMail necesita apoderarse del servidor. Ubuntu 22.04/24.04 LTS o Debian 12 son ideales.

Al menos 4 GB de RAM: SpamAssassin y ClamAV (el antivirus) consumen bastante memoria.

Un dominio registrado.

1. Preparar el FQDN (Nombre de Dominio Completamente Calificado)

El servidor debe saber quién es antes de instalar nada. Supongamos que tu servidor se llamará mail.tuempresa.com.

Abre el archivo de hostname:

Bash


sudo nano /etc/hostname

Escribe solo el nombre corto: mail y guarda.

Abre el archivo de hosts:

Bash


sudo nano /etc/hosts

Añade tu IP pública y el FQDN en la primera línea. Debe quedar exactamente así (reemplaza 12.34.56.78 por la IP de tu servidor):

Plaintext

127.0.0.1 localhost

12.34.56.78 mail.tuempresa.com mail

Reinicia el servidor para aplicar los cambios:

Bash


sudo reboot

(Verifica ejecutando hostname -f, debe devolver mail.tuempresa.com).

2. Descargar y Ejecutar el Instalador

Una vez reiniciado, descarga la última versión del script.

Bash

# Navega al directorio root


sudo su -

cd /root

# Descarga la última versión (verifica la web oficial para el link más reciente)

wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.6.8.tar.gz

# Descomprime

tar xvf 1.6.8.tar.gz

cd iRedMail-1.6.8/

# Ejecuta el instalador

bash iRedMail.sh

3. El Asistente de Instalación

El script abrirá una interfaz interactiva en la terminal (tipo ncurses). Estas son las decisiones clave que deberás tomar:

Directorio de almacenamiento : Deja el por defecto (/var/vmail). Aquí irán a parar todos los correos.

Servidor Web : Selecciona Nginx. iRedMail está ultra-optimizado para usar Nginx en lugar de Apache.

Backend de Base de Datos : Puedes elegir MariaDB, PostgreSQL o OpenLDAP. Si no tienes un directorio activo existente, MariaDB es la opción más sencilla de administrar.

Contraseña del Backend : Crea una contraseña fuerte para el usuario root de MariaDB.

Tu primer dominio de correo: Escribe tu dominio real (ej. tuempresa.com). No pongas mail.tuempresa.com aquí.

Contraseña del Administrador: Esta será la clave para el usuario postmaster@tuempresa.com, que usarás para entrar al panel de control web.

Componentes Opcionales:
Te preguntará qué quieres instalar. Te recomiendo marcar:

Roundcubemail (Cliente webmail ligero).

SOGo (Webmail avanzado con calendarios y ActiveSync para móviles).

Netdata (Monitorización del sistema en tiempo real).

iRedAdmin (El panel web para crear cuentas de correo).

Fail2ban (Obligatorio para banear IPs que intenten ataques de fuerza bruta).

Una vez confirmes, el script descargará e instalará todos los paquetes. Presiona y a todas las preguntas finales sobre si deseas que iRedMail aplique las reglas del firewall.

4. Post-Instalación y Panel de Control

Cuando termine, la terminal te imprimirá un resumen con URLs y contraseñas. Guarda esa salida de texto de forma segura.

Para empezar a crear usuarios, ve a tu navegador e ingresa al panel de administración (reemplaza por tu IP o dominio):

URL: https://mail.tuempresa.com/iredadmin/

Usuario:
postmaster@tuempresa.com

Contraseña: La que definiste en el paso 3.

Tus usuarios podrán leer su correo en: https://mail.tuempresa.com/mail/ (Roundcube) o https://mail.tuempresa.com/SOGo/.

5. El Desafío Final: Registros DNS

Tu servidor ya funciona localmente, pero para que Gmail o Microsoft no rechacen tus correos, debes ir al panel de tu proveedor de dominio (Cloudflare, GoDaddy, etc.) y configurar los siguientes registros DNS apuntando a la IP de tu servidor:

TipoNombreValorPropósito
AmailTu_IP_PúblicaResuelve el nombre del servidor.
MX@mail.tuempresa.comDice a internet dónde enviar el correo.
TXT (SPF)@v=spf1 mx a -allAutoriza a tu servidor a enviar.

La clave maestra: El registro DKIM

iRedMail genera automáticamente una llave criptográfica para firmar tus correos. Para verla y añadirla a tus DNS, ejecuta en el servidor:

Bash

sudo amavisd-new showkeys

Copia la llave pública que aparece (quitando las comillas) y crea un registro TXT en tu DNS llamado dkim._domainkey.

Dado que estás montando una infraestructura crítica que almacena todos los correos de los usuarios en el directorio /var/vmail, ¿te gustaría que revisemos cómo configurar una estrategia de respaldos automatizados en Linux (quizás usando herramientas como Deja Dup o rsync) para asegurar esa carpeta y las bases de datos de iRedMail?

Cómo instalar y configurar Horde en linux

 Le pedimos a Gemini, la inteligencia artificial de Google, nos explique cómo instalar y configurar Horde en linux

Explicanos detalladamente cómo instalar y configurar Horde en linux

Instalar Horde (Horde Groupware Webmail Edition) en un servidor Linux moderno requiere una advertencia técnica importante antes de empezar: Horde 5 (la versión estable más extendida) fue diseñada para versiones antiguas de PHP y depende del gestor de paquetes PEAR, el cual está obsoleto y eliminado de las distribuciones Linux actuales (como Ubuntu 24.04 o Debian 12).

Para instalarlo hoy, tienes que forzar la instalación de una versión antigua de PHP (específicamente PHP 7.4) y lidiar con dependencias heredadas. Si estás montando un servidor nuevo para producción, te recomiendo encarecidamente evaluar alternativas modernas como Roundcube (solo webmail) o SOGo (Groupware completo).

Si por requisitos de tu proyecto o empresa necesitas instalar Horde obligatoriamente, aquí tienes la guía detallada de cómo lograrlo usando el método clásico en un entorno basado en Debian/Ubuntu.

1. Preparar el Entorno (Instalar PHP 7.4)

Como las versiones modernas de Linux traen PHP 8.x, primero debemos añadir un repositorio de terceros para instalar PHP 7.4 y PEAR.

Bash

# Instalar dependencias previas


sudo apt update

sudo apt install software-properties-common ca-certificates lsb-release apt-transport-https


# Añadir el repositorio de Ondřej Surý (estándar para versiones antiguas de PHP en Ubuntu/Debian)

sudo add-apt-repository ppa:ondrej/php

sudo apt update


# Instalar Apache, MariaDB y la suite de PHP 7.4 con PEAR

sudo apt install apache2 mariadb-server \

php7.4 php7.4-cli php7.4-mysql php7.4-xml php7.4-mbstring \

php7.4-curl php7.4-gd php7.4-intl php7.4-ldap php-pear


2. Configurar la Base de Datos

Horde necesita un lugar para almacenar las preferencias de los usuarios, contactos y calendarios. Entraremos a MariaDB para crear su base de datos.

Bash

sudo mysql -u root

Dentro de la consola de MariaDB, ejecuta estos comandos (cambia tu_contraseña_segura por una clave real):

SQL

CREATE DATABASE horde_db;

CREATE USER 'horde_user'@'localhost' IDENTIFIED BY 'tu_contraseña_segura';

GRANT ALL PRIVILEGES ON horde_db.* TO 'horde_user'@'localhost';

FLUSH PRIVILEGES;

EXIT;


3. Instalar Horde mediante PEAR

Este es el proceso central. Usaremos PEAR, el antiguo gestor de librerías de PHP, para descargar e instalar los módulos de Horde.

Bash

# Registrar el canal oficial de Horde en PEAR


sudo pear channel-discover pear.horde.org

# Configurar el directorio donde se instalará Horde (usualmente en /var/www/horde)

sudo pear install horde/horde_role

sudo pear run-scripts horde/horde_role


(Cuando el script te pregunte por el directorio base para Horde, escribe: /var/www/horde y presiona Enter).

Ahora instalamos la suite completa de Webmail:

Bash

sudo pear install -a -B horde/webmail

(Este proceso tomará varios minutos, ya que descargará docenas de dependencias).

4. Configuración Inicial de Horde

Una vez descargados los archivos, debemos ejecutar el script de instalación de la aplicación para conectarla con la base de datos que creamos.

Bash

# Ejecutar el asistente de instalación


sudo webmail-install

El asistente te hará varias preguntas interactivas en la consola:

Database driver: Selecciona MySQL / PDO.

Database username: horde_user.

Database password: La contraseña que definiste en el paso 2.

Database host: localhost.

Database name: horde_db.

Administrator user: Define el nombre de un usuario administrador (ej. admin_horde).

Nota: Horde no autentica contraseñas por sí mismo por defecto; deberás iniciar sesión usando las credenciales reales de tu servidor de correo (IMAP), pero el usuario que nombres aquí tendrá permisos de administrador en la interfaz web.

5. Ajustar Permisos y Servidor Web (Apache)

Horde está instalado en /var/www/horde, pero Apache necesita permisos para leerlo y un archivo de configuración (VirtualHost) para mostrarlo en internet.

A. Permisos

Bash


sudo chown -R www-data:www-data /var/www/horde

sudo chmod -R 770 /var/www/horde


B. Archivo VirtualHost

Crea un nuevo archivo de configuración para Apache:

Bash

sudo nano /etc/apache2/sites-available/horde.conf

Pega esta configuración básica (cambia correo.tudominio.com por tu dominio real):

Apache

<VirtualHost *:80>

       ServerName correo.tudominio.com

       DocumentRoot /var/www/horde

       

       <Directory /var/www/horde>

       Options FollowSymLinks

       AllowOverride Limit FileInfo

       Require all granted

       php_admin_flag safe_mode off

       </Directory>

      ErrorLog ${APACHE_LOG_DIR}/horde_error.log

      CustomLog ${APACHE_LOG_DIR}/horde_access.log combined

<?VirtualHost>

Habilita el sitio y reinicia Apache:

Bash

sudo a2ensite horde.conf

sudo a2enmod rewrite

sudo systemctl restart apache2


6. Siguientes Pasos (Autenticación IMAP)

En este punto, si entras a [http://correo.tudominio.com](http://correo.tudominio.com), verás la pantalla de inicio de sesión de Horde.

Para que puedas entrar, Horde asume que ya tienes un servidor de correo funcionando (Postifx + Dovecot) en esa misma máquina o en otra. Horde intentará validar el usuario y contraseña que introduzcas contra el servidor IMAP en localhost.

Si tu servidor IMAP está en otra máquina, deberás entrar al archivo de configuración de Horde (/var/www/horde/imp/config/backends.local.php) y modificar el host hacia la IP de tu servidor de correo real.

¿Quieres que te explique cómo desplegar un servidor Webmail moderno en su lugar?

Cómo resolver problemas de HMailServer

 Le pedimos a Gemini, la inteligencia artificial de Google, nos explique cómo resolver problemas de HMailServer

Explicanos detalladamente cómo resolver problemas de HMailServer

Resolver problemas en hMailServer es, afortunadamente, mucho más visual y menos críptico que en los sistemas Linux puros. Al estar integrado en Windows, no tienes que pelear tanto con permisos de archivos, pero sí debes vigilar de cerca el Firewall, el enrutamiento de red y la base de datos.

Aquí tienes el manual de operaciones tácticas para diagnosticar y solucionar los fallos más comunes en hMailServer.

1. El Oráculo: Activar y Leer los Logs

Si hMailServer falla y no estás mirando los logs, estás volando a ciegas. Por defecto, hMailServer no registra todo para ahorrar espacio en disco. Si tienes un problema, lo primero es encender el radar.

Cómo activarlos

Abre hMailServer Administrator.

Ve a Settings -> Logging.

Marca la casilla Enabled.

Selecciona al menos: Application, SMTP, POP3, IMAP y TCP/IP.

Haz clic en Save.

Dónde leerlos

Puedes ir a Status -> Logging en el panel izquierdo y ver el tráfico en vivo pulsando Start.

O puedes abrir los archivos de texto en la ruta de instalación (usualmente C:\Program Files (x86)\hMailServer\Logs).

(Nota: Una vez que resuelvas el problema, recuerda desactivar el log detallado o tu disco duro se llenará de archivos de texto con el tiempo).

2. Problema Crítico: El servicio no arranca o no puedes iniciar sesión

Si intentas abrir hMailServer Administrator, pones tu contraseña maestra y te da un error de conexión (o el servicio de Windows se detiene solo), el culpable es casi siempre la Base de Datos.

Diagnóstico: hMailServer perdió la conexión con MySQL/PostgreSQL/SQL Server (quizás cambiaste la contraseña de la base de datos o el motor de base de datos no está iniciado).

La Solución Mágica (DBSetup.exe)

Ve a la carpeta C:\Program Files (x86)\hMailServer\Bin.

Ejecuta DBSetup.exe.

Sigue el asistente, selecciona tu motor de base de datos y vuelve a introducir las credenciales correctas de la base de datos. Esto reescribirá el archivo de configuración oculto (hMailServer.ini) cifrando la nueva contraseña correctamente.

3. Problemas de Envío: "Los correos no salen"

El escenario clásico: recibes correos sin problema, pero cuando intentas enviar a Gmail o Outlook, se quedan en la cola o fallan.

Causa 1: El puerto 25 está bloqueado.

La inmensa mayoría de los proveedores de internet residenciales y servicios Cloud (AWS, Azure) bloquean el puerto 25 de salida.

Prueba: Abre PowerShell y escribe Test-NetConnection smtp.gmail.com -Port 25. Si falla, estás bloqueado.

Solución: Configura un "Smarthost" (SMTP Relay). Ve a Settings -> Protocols -> SMTP -> Delivery of e-mail y configura las credenciales de un servicio como SendGrid, Mailjet o Amazon SES para que ellos entreguen el correo por ti.

Causa 2: Fallo en la resolución DNS.

Ve a Settings -> Protocols -> SMTP y asegúrate de que el servidor está usando tus adaptadores de red correctamente. Opcionalmente, puedes forzar DNS públicos (como 8.8.8.8) si el DNS de tu Windows Server está fallando.

4. Problemas de Recepción: "Nadie se puede conectar" o "No entran correos"

El Auto-Ban atacó de nuevo: Si un usuario (o tú mismo) metió mal la contraseña varias veces en su móvil, hMailServer bloquea su IP para protegerte de hackers.

Solución: Ve a Settings -> Advanced -> Auto-ban. Revisa la lista, selecciona la IP bloqueada y elimínala.

El Firewall de Windows: Asegúrate de que las reglas de entrada del Windows Defender Firewall (y las reglas de red de tu proveedor Cloud) tengan abiertos los puertos 25, 143, 587 y 993.

Registros MX: Si los correos rebotan desde fuera, usa una herramienta como MxToolbox en internet y escribe tu dominio. Si el registro MX no apunta a la IP pública de tu servidor hMailServer, los correos se perderán en internet.

5. El Problema Fantasma: "Mis correos llegan a la carpeta de SPAM"

Este no es un fallo de hMailServer, sino de la reputación de tu dominio. Los gigantes como Gmail o Microsoft son despiadados. Si quieres llegar a la bandeja de entrada, debes configurar tres cosas en los registros DNS de tu dominio:

SPF : Un registro TXT que dice "La IP de mi servidor está autorizada a enviar correos a nombre de mi empresa".

DKIM : Una firma criptográfica. En hMailServer, puedes generar esto yendo a tu Domain -> DKIM Signature. Genera la llave, pon la privada en hMailServer y publica la pública en tu panel de DNS.

Reverse DNS ( PTR ): Debes pedirle al proveedor de tu IP pública que asigne el nombre de tu servidor (ej. mail.tuempresa.com) a tu dirección IP.

Tabla de Diagnóstico Rápido

Síntoma en hMailServerDónde mirarAcción a tomar
Administrador no conecta (Error DB)DBSetup.exe en la carpeta binReconfigurar credenciales de la base de datos.
Cuenta da "Contraseña incorrecta"Log de "Application" o "Auto-ban"Desbloquear IP o resetear clave en la cuenta.
Correos atrapados en la "Delivery queue"Log de "SMTP"Revisar bloqueo del puerto 25 o problemas de DNS local.
Errores de Certificado SSLSettings -> Advanced -> SSL CertificatesRenovar certificado y reasignarlo a los puertos TCP/IP.
El servidor consume 100% de CPULog de "SMTP"Revisar si estás bajo un ataque de fuerza bruta o de Relay.

¿Qué problema específico estás experimentando ahora mismo con tu servidor? ¿Tus correos rebotan al enviarlos hacia el exterior, o tus usuarios ni siquiera pueden conectarse con sus clientes de correo?

Cómo instalar y configurar HMailServer en windows

Le pedimos a Gemini, la inteligencia artifiial de Google, que nos explique cómo instalar y configurar HMailServer en windows 

Explicanos detalladamente cómo instalar y configurar HMailServer en windows

¡Ahora sí estamos en su ecosistema natural! hMailServer es una de las joyas más preciadas para alojar correo en entornos Windows: es gratuito, de código abierto, consume poquísimos recursos y su panel de administración gráfico te ahorra horas de lidiar con archivos de texto en la consola.

Aquí tienes la guía definitiva, paso a paso, para instalar y dejar configurado hMailServer en Windows (aplica tanto para Windows 10/11 como para Windows Server).

1. Preparativos: La decisión de la Base de Datos

Antes de descargar nada, debes saber que hMailServer necesita una base de datos para guardar su configuración, las cuentas y el índice de los mensajes (los correos en sí se guardan como archivos .eml en el disco duro). Tienes dos caminos:

Opción A (Pruebas o redes muy pequeñas):
Usar la base de datos integrada (Microsoft SQL Server Compact). Es la opción por defecto, se instala con un clic, pero no está diseñada para manejar miles de correos diarios ni tráfico pesado.

Opción B (Entornos de Producción): Instalar previamente MySQL/MariaDB, PostgreSQL o Microsoft SQL Server. Si eliges esto, asegúrate de tener el motor de base de datos ya corriendo en tu servidor antes de instalar hMailServer.

2. Descarga e Instalación

Ve a la página oficial (hmailserver.com) y descarga la última versión estable (suele ser un archivo .exe).

Ejecuta el instalador como Administrador.

En la pantalla de selección de componentes, asegúrate de marcar ambas opciones:

Server: El motor que funciona en segundo plano.

Administrative tools: La interfaz gráfica para gestionarlo.

Selección de Base de Datos: Elige Built-in database (si tomaste la Opción A) o External database (si tomaste la Opción B y ya tienes MySQL/PostgreSQL listo).

La Contraseña Maestra (Master Password):
El instalador te pedirá que crees una contraseña. Anótala y no la pierdas. Es la llave maestra para abrir el panel de control gráfico; sin ella, quedarás fuera de tu propio servidor.

Finaliza la instalación. hMailServer se iniciará automáticamente como un servicio de Windows.

3. Configuración Inicial (Creando tu dominio y cuentas)

Busca en tu menú de inicio el programa hMailServer Administrator y ábrelo.

Conexión: Verás una ventana pequeña que dice "localhost". Haz clic en Connect e introduce tu Contraseña Maestra.

Añadir el Dominio

En el árbol de la izquierda, haz clic en Domains.

Haz clic en el botón Add... en la parte derecha.

En el campo Domain, escribe tu dominio de correo (por ejemplo, tuempresa.com).

Haz clic en Save.

Añadir Cuentas de Correo

Despliega el dominio que acabas de crear haciendo clic en el signo + a su izquierda.

Haz clic en la carpeta Accounts.

Haz clic en Add....

Rellena los datos: En Address pon el nombre de la cuenta (ej. info), en Password asigna la clave para ese usuario, y en Maximum size (MB) puedes limitar el tamaño del buzón (pon 0 para ilimitado).

Haz clic en Save. ¡Felicidades! A nivel interno, el servidor ya funciona y tiene cuentas. Pero aún no puede comunicarse con el mundo exterior.

4. Configuración de Red y Firewall (El paso crítico)

El 90% de los problemas de hMailServer vienen de un Firewall mal configurado. Para que los correos entren y salgan, y para que tus usuarios puedan conectar sus teléfonos o clientes (Outlook, Thunderbird), debes abrir puertos.

Puertos a abrir en el Firewall de Windows (y en tu router/proveedor de nube):

25 ( TCP ): SMTP estándar (Obligatorio para recibir correos de otros servidores como Gmail o Outlook).

143 ( TCP ): IMAP (Para que los usuarios lean su correo sincronizado).

587 ( TCP ): SMTP Submission (Para que tus usuarios envíen correos desde sus dispositivos de forma segura).

993 ( TCP ): IMAPS (IMAP cifrado mediante SSL/TLS).

Nota de infraestructura: Si tu servidor está en una nube (AWS, Azure, Google Cloud), ten en cuenta que muchos proveedores bloquean el puerto 25 por defecto para evitar el spam. Tendrás que pedirles soporte para que te lo abran o configurar un SMTP Relay externo dentro de hMailServer (en Settings -> Protocols -> SMTP -> pestaña Delivery of e-mail).

5. Asegurando el Servidor (Buenas prácticas)

Una vez conectado a internet, los bots intentarán adivinar tus contraseñas en cuestión de minutos. Ve a tu hMailServer Administrator y ajusta esto:

Activar Auto-Ban

Ve a Settings -> Advanced -> Auto-ban.

Asegúrate de que la casilla Enabled esté marcada. Esto bloqueará automáticamente las direcciones IP que fallen la contraseña varias veces seguidas, protegiéndote de ataques de fuerza bruta.

Configurar el Nombre del Host

Ve a Settings -> Protocols -> SMTP.

En la pestaña Delivery of e-mail, busca el campo Local host name. Escribe allí el nombre completo de tu servidor (ej. mail.tuempresa.com). Esto es vital para que otros servidores no rechacen tus correos creyendo que eres spam.

Certificados SSL/TLS

Ve a Settings -> Advanced -> SSL certificates.

Aquí debes importar tu certificado (por ejemplo, los gratuitos de Let's Encrypt generados con herramientas como Certify The Web u win-acme).

Una vez importados, ve a Settings -> Advanced -> TCP/IP ports, selecciona cada puerto (ej. 143, 587) y asígnale el certificado para cifrar las conexiones.

6. Prueba Final

Conecta un cliente de correo externo (como Thunderbird o el gestor de correo de tu teléfono) usando la IP pública de tu servidor o tu dominio, el correo que creaste (info@tuempresa.com) y su contraseña. Intenta enviarte un correo a una dirección de Gmail y responderlo para verificar el flujo de entrada y salida.

Ads by CJ - Linux Foundation

Share This