Si prefiere tener un control completo del proceso de instalación, Usted puede ejecutar la instalación en modo manual. Para hacerlo siga los pasos que se indican a continuación.
Instalación de los prerrequisitos
Usted necesita la versión última de Docker instalada. Si no la tiene, por favor, consulte la Sección de instalación en el sitio web de Docker para aprender cómo obtenerla.
Docker especifica los servidores DNS de Google por defecto. Si su
ONLYOFFICE Groups no va a tener acceso a Internet, recomendamos que cambie la dirección DNS predeterminada de Docker a la dirección de su servidor DNS local. Para hacerlo vaya al archivo
/etc/default/docker
y cambie la dirección IP en la siguiente línea a la dirección IP de un servidor DNS en su red local:
docker_OPTS="--dns 8.8.8.8"
Antes de empezar la instalación Usted necesita crear las siguientes carpetas:
- Para el servidor de 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 datos y logs del ONLYOFFICE Mail
sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
sudo mkdir -p "/app/onlyoffice/MailServer/logs";
Luego cree la red onlyoffice
:
sudo docker network create --driver bridge onlyoffice
Instalación de MySQL
Después de eso Usted necesita crear el contenedor Docker del servidor MySQL. Cree 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 de SQL que generará los usuarios y facilitará los derechos a ellos. El onlyoffice_user
se requiere para el ONLYOFFICE Community Server, y el mail_admin
se requiere para el ONLYOFFICE Mail si se va 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
Por favor, tome nota que el script de arriba establecerá permisos para acceder al servidor SQL desde cualquier dominio (%
). Si Usted desea limitar el acceso, puede especificar hosts que tendrán acceso al servidor SQL.
Ahora puede crear el contenedor MySQL ajustando la versión de MySQL a la versión 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
Instalación del ONLYOFFICE Mail
Después de 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
Donde yourdomain.com
es el nombre de host de su servidor de correo.
Su dominio que será usado para mantener correspondencia debe ser válido y configurado para esta máquina (es decir, debe tener el registro A apropiado en los ajustes DNS que apunta su nombre de dominio a la dirección IP de la máquina donde el ONLYOFFICE Mail está instalado).
En el comando de arriba, el parámetro "yourdomain.com"
debe entenderse como un dominio de servicio para ONLYOFFICE Mail. Normalmente se especifica en el registro MX del dominio que será usado para mantener correspondencia. Como regla, el "yourdomain.com"
tiene el siguiente aspecto mx1.onlyoffice.com
En este caso el servidor de correo asegurará la entrega de correo a las direcciones internas alojadas en este servidor.
Almacenamiento de datos fuera de contenedores
Todos los datos se almacenan en los directorios especialmente designados, volúmenes de datos, en la siguiente ubicación:
/var/log
para logs del ONLYOFFICE Mail
/var/lib/mysql
para datos de la base de datos MySQL
/var/vmail
para almacenamiento de correo
/etc/pki/tls/mailserver
para certificados
Recomendamos
Le recomendamos encarecidamente que almacene los datos fuera de los contenedores Docker en la máquina de host, porque le permite fácilmente actualizar el ONLYOFFICE Mail después del lanzamiento de la nueva versión sin perder sus datos.
Para obtener el acceso a sus datos ubicados fuera del contenedor, necesita montar los volúmenes. Esto puede hacerse especificando la opción -v en el comando de docker ejecutado.
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
Por favor tome nota que si está intentando montar las carpetas que todavía no se han creado, estas carpetas se crearán pero el acceso a ellas será limitado. Necesitará cambiar sus derechos de acceso manualmente.
Almacenamiento de datos en la máquina de host le permite fácilmente actualizar el ONLYOFFICE Mail después del lanzamiento de la nueva versión sin perder sus datos.
Configuración de la imagen Docker
Para asegurar la entrega de correo a las direcciones internas así como direcciones de servidores externos necesita obtener su propio nombre de dominio y configurar un servidor DNS.
Se requieren los siguientes registros DNS:
- Registro A (se usa para apuntar un dominio a la dirección IP del host donde esta imagen docker está desplegada).
- Registro Pointer (PTR) o un registro DNS inverso (se usa para mapear interfaz de la red (IP) al 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
Donde yourdomain.com
es su nombre de host del servidor de correo.
Instalación de los certificados SSL
Los certificados autofirmados para su dominio se crearán por defecto al ejecutar el contenedor docker. Si Usted desea usar los certificados de una autoridad de certificación (CA), necesitará renombrarlos y copiar 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
Usted puede copiar los certificados SSL en el directorio /app/onlyoffice/MailServer/data/certs
después de ejecutar la imagen. Pero en este caso Usted necesitará reiniciar el contenedor docker.
Parámetros de configuración disponibles
Por favor, consulte las opciones de comando docker run para la bandera `--env-file`
donde Usted puede especificar todas las variables de entorno requeridas en un solo archivo. De esta forma no tendrá que escribir un comando docker run potencialmente largo.
A continuación se encuentra una lista completa de parámetros que pueden ser establecidos usando variables de entorno.
- STORAGE_BASE_DIR: La ruta al almacenamiento de correo. El valor que se establece por defecto es
/var/vmail
.
- FIRST_DOMAIN: El primero dominio virtual, donde se alojará la dirección de administrador de correo. Este dominio no debe coincidir con el dominio principal del servidor de correo. El valor que se establece por defecto es
mailserver.onlyoffice.com
.
- DOMAIN_ADMIN_PASSWD: La contraseña del administrador de correo. La dirección del administrador de correo predeterminada es
postmaster@mailserver.onlyoffice.com
.