- Inicio
- Instalación de ONLYOFFICE Mail para Docker en un servidor local
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
-
CPUdoble núcleo 2 GHz o mejor
-
RAM4 GB o más
-
HDDal menos 20 GB de espacio libre
-
SWAPal menos 4 GB, pero depende del sistema operativo del host. Más es mejor
-
OSDistribución Linux amd64 con versión de kernel 3.10 o posterior
-
Requisitos adicionales
- Docker: cualquier versión soportada por el equipo de Docker
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.
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.
/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:
- Crea el archivo de configuración
/etc/docker/daemon.jsoncon el siguiente contenido:{ "dns" : [ "8.8.8.8" ] } - Reinicia el servicio Docker:
sudo systemctl restart docker.service
Antes de comenzar la instalación, necesitas crear las siguientes carpetas:
- 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"; - 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
%). 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
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.
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.comEn 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/logpara los registros de ONLYOFFICE Mail/var/lib/mysqlpara los datos de la base de datos MySQL/var/vmailpara el almacenamiento de correo/etc/pki/tls/mailserverpara los certificados
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
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
`--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