• Inicio
  • Instalación de ONLYOFFICE Mail para Docker en un servidor local
Este artículo está traducido por IA

Instalación de ONLYOFFICE Mail para Docker en un servidor local

Introducción

ONLYOFFICE Mail es una solución de servidor de correo completa desarrollada sobre la base del paquete iRedMail, que contiene los siguientes componentes: Postfix, Dovecot, SpamAssassin, ClamAV, OpenDKIM, Fail2ban.

Integrado con ONLYOFFICE Workspace, ONLYOFFICE Mail te permite:

  • conectar tu propio nombre de dominio;
  • crear buzones de correo;
  • añadir alias para cada buzón de correo;
  • crear grupos de buzones de correo.

Esta guía te mostrará cómo instalar la versión Docker de ONLYOFFICE Mail en tu máquina.

Requisitos del sistema

  • CPU
    doble núcleo 2 GHz o mejor
  • RAM
    4 GB o más
  • HDD
    al menos 20 GB de espacio libre
  • SWAP
    al menos 4 GB, pero depende del sistema operativo del host. Más es mejor
  • OS
    Distribución Linux amd64 con versión de kernel 3.10 o posterior
  • Requisitos adicionales
    • Docker: cualquier versión soportada por el equipo de Docker
En Ubuntu 20.04, necesitas desactivar el firewall ufw predeterminado al instalar ONLYOFFICE Mail.

Antes de comenzar la instalación

Antes de comenzar la instalación de ONLYOFFICE Mail, necesitas vincular tu computadora donde se va a instalar ONLYOFFICE Mail con el dominio seleccionado para el servidor de correo. Recomendamos que selecciones un nombre como mx.tudominio.com para el registro A de tu computadora del servidor de correo. Esto significa que el registro A en tu Sistema de Nombres de Dominio (DNS) debe apuntar a la dirección IP de la computadora donde se instalará ONLYOFFICE Mail y el registro Pointer (PTR) en esta computadora debe resolver la dirección IP de la computadora a un nombre de dominio completamente calificado (FQDN) como opuesto a lo que hace el registro A.

Para verificar la corrección de la configuración para el registro A se utiliza el siguiente comando:

dig -t A mx.tudominio.com

Si todo es correcto, deberías ver una salida que contiene líneas como estas entre otras:

...
;; SECCIÓN DE RESPUESTA:
mx.tudominio.com.  IN  A   {tu dirección IP}
...

En lugar de {tu dirección IP} se mostrará la dirección IP real del servidor.

El registro PTR se verifica con otro comando:

dig -x {tu dirección IP}

Debería devolver una salida que contiene líneas como estas entre otras:

...
;; SECCIÓN DE RESPUESTA:
{tu dirección IP}   IN  PTR mx.tudominio.com.
...

Una vez que te asegures de que todas las configuraciones son correctas, puedes proceder a los siguientes pasos.

Después de instalar ONLYOFFICE Mail, también necesitarás añadir un registro MX a tudominio.com para que apunte a mx.tudominio.com. Esto es necesario para que el correo llegue a las direcciones @tudominio.com.

Instalación de ONLYOFFICE Mail usando el comando de script automático

Si no deseas configurar todo manualmente, puedes instalar ONLYOFFICE Mail automáticamente usando nuestro script de Docker. Puedes descargar el script desde nuestra página de descargas. O puedes usar el enlace de descarga directa, si te resulta más conveniente:

wget https://download.onlyoffice.com/install/workspace-install.sh

Una vez finalizada la descarga, ejecuta el siguiente comando para instalar ONLYOFFICE Mail:

bash workspace-install.sh -ics false -ids false -icp false -ims true -md tudominio.com -es true

Instalación de ONLYOFFICE Mail manualmente

Si prefieres tener control total sobre qué y cómo se instala, puedes realizar la instalación en modo manual. Para ello, sigue los pasos a continuación.

Instalación de requisitos previos

Necesitas tener instalada la última versión de Docker. Si no la tienes, consulta la sección de instalación en el sitio web de Docker para saber cómo obtenerla.

Docker especifica los servidores DNS de Google por defecto. Si tu ONLYOFFICE Workspace no va a tener acceso a Internet, te recomendamos que cambies la dirección DNS predeterminada de Docker a la dirección de tu servidor DNS local. Para hacerlo, ve al archivo /etc/default/docker y cambia la dirección IP en la siguiente línea a la dirección IP de un servidor DNS en tu red local:
docker_OPTS="--dns 8.8.8.8"

Para los sistemas operativos basados en RPM como CentOS:

  1. Crea el archivo de configuración /etc/docker/daemon.json con el siguiente contenido:
    { "dns" : [ "8.8.8.8" ] }
  2. Reinicia el servicio Docker:
    
    sudo systemctl restart docker.service

Antes de comenzar la instalación, necesitas crear las siguientes carpetas:

  1. Para el servidor MySQL
    sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
    sudo mkdir -p "/app/onlyoffice/mysql/data";
    sudo mkdir -p "/app/onlyoffice/mysql/initdb";
  2. Y para los datos y registros de ONLYOFFICE Mail
    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";

Luego crea la red onlyoffice:

sudo docker network create --driver bridge onlyoffice
Instalación de MySQL

Después de eso, necesitas crear el contenedor Docker del servidor MySQL. Crea el archivo de configuración:

echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048" > /app/
  
onlyoffice/mysql/conf.d/onlyoffice.cnf

Cree el script SQL que generará los usuarios y les otorgará los derechos. El onlyoffice_user es necesario para el ONLYOFFICE Community Server, y el mail_admin es necesario para ONLYOFFICE Mail en caso de que se vaya a instalar:

echo "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH mysql_native_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql
Tenga en cuenta que el script anterior establecerá permisos para acceder al servidor SQL desde cualquier dominio (%). Si desea limitar el acceso, puede especificar los hosts que tendrán acceso al servidor SQL.

Ahora puede crear un contenedor MySQL configurando la versión de MySQL a 8.0.29:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
-v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
-v /app/onlyoffice/mysql/data:/var/lib/mysql \
-v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=onlyoffice \
mysql:8.0.29
Si desea utilizar una base de datos externa, necesita configurarla (es decir, agregar un usuario):
CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;
Instalación de ONLYOFFICE Mail

Una vez que tenga todo listo, ejecute el siguiente comando:

sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 -p 8081:8081 \
-e MYSQL_SERVER=onlyoffice-mysql-server \
-e MYSQL_SERVER_PORT=3306 \
-e MYSQL_ROOT_USER=root \
-e MYSQL_ROOT_PASSWD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
-v /app/onlyoffice/MailServer/logs:/var/log \
-h yourdomain.com \
onlyoffice/mailserver

Dónde yourdomain.com es el nombre de host de su servidor de correo.

Su dominio que se utilizará para mantener la correspondencia debe ser válido y estar configurado para esta máquina (es decir, debe tener el registro A apropiado en la configuración DNS que apunte su nombre de dominio a la dirección IP de la máquina donde está instalado ONLYOFFICE Mail).
En el comando anterior, el parámetro "yourdomain.com" debe entenderse como un dominio de servicio para ONLYOFFICE Mail. Generalmente se especifica en el registro MX del dominio que se utilizará para mantener la correspondencia. Por lo general, el "yourdomain.com" se ve como mx1.onlyoffice.com

En este caso, el servidor de correo asegurará la entrega de correo a direcciones internas alojadas en este servidor.

Almacenamiento de datos fuera de los contenedores

Todos los datos se almacenan en directorios especialmente designados, volúmenes de datos, en la siguiente ubicación:

  • /var/log para los registros de ONLYOFFICE Mail
  • /var/lib/mysql para los datos de la base de datos MySQL
  • /var/vmail para el almacenamiento de correo
  • /etc/pki/tls/mailserver para los certificados
Recomendamos Recomendamos encarecidamente que almacene los datos fuera de los contenedores Docker en la máquina host, ya que le permite actualizar fácilmente ONLYOFFICE Mail una vez que se lance la nueva versión sin perder sus datos.

Para acceder a sus datos ubicados fuera del contenedor, necesita montar los volúmenes. Esto se puede hacer especificando la opción -v en el comando docker run.

sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587
  
:587 -p 8081:8081 \
        -v /app/onlyoffice/MailServer/logs:/var/log  \
        -v /app/onlyoffice/MailServer/mysql:/var/lib/mysql  \
        -v /app/onlyoffice/MailServer/data:/var/vmail  \
        -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver
Tenga en cuenta que, en caso de que intente montar las carpetas que aún no se han creado, estas carpetas se crearán, pero el acceso a ellas será limitado. Necesitará cambiar sus derechos de acceso manualmente.

Almacenar los datos en la máquina anfitriona le permite actualizar fácilmente ONLYOFFICE Mail una vez que se lance la nueva versión sin perder sus datos.

Configuración de la imagen de Docker

Para asegurar la entrega de correo a direcciones internas así como a direcciones de servidores externos, necesita obtener su propio nombre de dominio y configurar un servidor DNS.

Se requieren los siguientes registros DNS:

  • Registro A (utilizado para apuntar un dominio a la dirección IP del host donde se despliega esta imagen de Docker).
  • Registro Pointer (PTR) o un registro DNS inverso (utilizado para mapear una interfaz de red (IP) a un nombre de host).
sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver

Dónde yourdomain.com es el nombre de host de su servidor de correo.

Instalación de los certificados SSL

Los certificados autofirmados para su dominio se crearán por defecto al ejecutar el contenedor de Docker. Si desea utilizar certificados certificados por una CA, necesitará renombrarlos y copiarlos en el directorio /app/onlyoffice/MailServer/data/certs antes de ejecutar la imagen. Se requieren los siguientes archivos:

  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.key
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.crt
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.ca-bundle

Puede copiar los certificados SSL en el directorio /app/onlyoffice/MailServer/data/certs después de ejecutar la imagen. Pero en este caso necesitará reiniciar el contenedor de Docker.

Parámetros de configuración disponibles
Consulte las opciones del comando docker run para la bandera `--env-file` donde puede especificar todas las variables de entorno requeridas en un solo archivo. Esto le ahorrará tener que escribir un comando docker run potencialmente largo.

A continuación se muestra la lista completa de parámetros que se pueden establecer utilizando variables de entorno.

  • STORAGE_BASE_DIR: La ruta al almacén de correo. Por defecto es /var/vmail.
  • FIRST_DOMAIN: El primer dominio virtual, donde se alojará la dirección del administrador de correos. Este dominio no debe coincidir con el dominio principal del servidor de correo. Por defecto es mailserver.onlyoffice.com.
  • DOMAIN_ADMIN_PASSWD: La contraseña del administrador de correos. La dirección de administrador de correos por defecto es postmaster@mailserver.onlyoffice.com.

Instalación de ONLYOFFICE Mail integrado con ONLYOFFICE Docs

ONLYOFFICE Mail es parte de ONLYOFFICE Workspace que también comprende ONLYOFFICE Docs, ONLYOFFICE Control Panel y ONLYOFFICE Community Server. En caso de que desee instalar todos ellos e integrarlos entre sí, lea estas instrucciones.

Formas alternativas de instalar ONLYOFFICE Mail

Alternativamente, puede usar un script de instalación automática para instalar todo el Workspace de una vez. Para el correcto funcionamiento del servidor de correo, necesita especificar su nombre de host yourdomain.com.

PASO 1: Descargue el archivo del script de instalación

Ejecute el siguiente comando:

wget https://download.onlyoffice.com/install/workspace-install.sh

PASO 2: Instale Workspace

Ejecute el siguiente comando para hacerlo:

bash workspace-install.sh -md yourdomain.com
Artículos con etiqueta:
Ver todas las etiquetas