Configuración dominios, redirecciones y correo en servidores de Odoo

Configuración dominios, redirecciones y correo en servidores de Odoo


Tal como indica cloudpepper al crear un servidor previamente en la configuración del DNS del dominio deben existir 2 registros tipo A que apunten a la IP del servidor uno / (dominio desnudo) otro www. Por ejemplo en el gestor DNS de OVH tenemos el dominio madeandsold.ovh con registros para dominio desnudo, www y otros subdominios:

En el panel de cloudpepper sólo indicamos urls www o subdominios, nunca dominios desnudos:


NOTA: Si cloudpepper continua dando error al generar el certificado SSL y ya se ha configurado los registros DNS en el dominio, comprobamos que el puerto 80 no esté bloqueado por Jotelulu.

Una vez configurado y validado el dominio en cloudpepper (no aparecen alertas por falta de registros DNS) editamos el fichero yml del servicio de odoo de producción donde añadimos registros para gestionar la redirección del dominio desnudo (en este ejemplo http://atyt.es/) a la URL www.atyt.es (marco en amarillo líneas añadidas manualmente):

odoo_adhesivosv16.yml
yml


---

http:

  routers:

    odoo_adhesivosv16_1_http:

      entryPoints: [http]

      rule: "Host(`www.atyt.es`)"

      service: odoo_adhesivosv16

      middlewares: [1m-buffering, compress, https-redirect]


    odoo_adhesivosv16_1_http_longpolling:

      entryPoints: [http]

      rule: "Host(`www.atyt.es`) && PathPrefix(`/websocket`)"

      service: odoo_adhesivosv16_longpolling

      middlewares: [https-redirect]


    odoo_adhesivosv16_1_https:

      entryPoints: [https]

      rule: "Host(`www.atyt.es`)"

      service: odoo_adhesivosv16

      middlewares: [1m-buffering, compress, https-redirect]

      tls:

        certResolver: letsencrypt


    odoo_adhesivosv16_1_https_longpolling:

      entryPoints: [https]

      rule: "Host(`www.atyt.es`) && PathPrefix(`/websocket`)"

      service: odoo_adhesivosv16_longpolling

      middlewares: [https-redirect]

      tls:

        certResolver: letsencrypt


    redirect_atyt_http:

      entryPoints: [http]

      rule: "Host(`atyt.es`)"

      middlewares: [redirect-to-www]

      service: noop

      priority: 1000

    redirect_atyt_https:

      entryPoints: [https]

      rule: "Host(`atyt.es`)"

      middlewares: [redirect-to-www]

      service: noop

      tls:

        certResolver: letsencrypt

      priority: 1000

  middlewares:

    redirect-to-www:

      redirectRegex:

        regex: "^https?://atyt.es(.*)"

        replacement: "https://www.atyt.es$1"

        permanent: true

  services:

    odoo_adhesivosv16:

      loadBalancer:

        servers:

          - url: http://localhost:3002

    odoo_adhesivosv16_longpolling:

      loadBalancer:

        servers:

          - url: http://localhost:3003

    noop:

      loadBalancer:

        servers:

          - url: http://127.0.0.1:65535


Por favor, la URL base de Odoo debe ser siempre https://www.  :

Configuración Office 365


Para enviar y recibir correos necesitamos configurar una clave de aplicación para Odoo en https//entra.microsoft.com


Cuando creamos la aplicacion anotamos el id de aplicación que posteriormente pondremos en ajustes generales de odoo:


En Office365 Odoo se considera aplicación tipo web:


Concedemos permisos para enviar y recibir correos electrónicos:


Adjunto manifiesto de aplicación configurada para referencia



Configuramos la autenticación mediante las URI según el patron https://www.[dominio.loquesea].com/microsoft_outlook/confirm



Creamos una clave secreta de la cual sólo nos interesa el valor no el id:

Este valor se guarda en res_config_settings:

select microsoft_outlook_client_identifier,microsoft_outlook_client_secret from res_config_settings

Asigamos permisos para enviar y recibir correos electronicos:


Adjunto manifiesto de la aplicación para referencia futura 

odoo2(Microsoft Graph format).json
json



Configuración cuentas de correo


Odoo necesita al menos una dirección catchall con licencia Microsoft 365 Empresa Básico EEE (sin Teams), no valen alias ni buzones compartidos. Se gestiona en https://admin.microsoft.com 


En este buzón sí podemos configurar alias que nos pueden ser útiles en Odoo sólo para recibir correos:

En usuarios activos configuramos  Permisos para enviar como (‎16‎):


En esta sección debemos añadir a todos los usuarios de odoo:


NOTA: Si ha entrado un nuevo empleado en una empresa es habitual olvidar esta configuración para el nuevo usuario de Odoo.

En permisos de aplicación activamos todas las aplicaciones (o al menos imap y smtp autenticado):

En cada usuario deberíamos ver en  Permisos para enviar en nombre de (‎1‎) a catchall



Configuración de credenciales de envío de correos por usuario


Hemos detectado que si no enviamos los correos con las credenciales SMTP de cada usuario y los enviamos desde catchall en nombre de la cuenta del usuario Microsoft y otras plataformas clasifican los emails como phising.

Para evitarlo configuraremos para cada usuario de odoo las credenciales de envío de correos (NO configuraremos credenciales de servidor de correo de entrada Odoo no debe mirar cuentas de correo de usuarios, sólo las suyas: catchall, notifications, etc.)

Por ejemplo:

Miramos la cuenta de calidad@atyt.es:

Para validar el token por usuario previamente debemos haber logado en Outlook Web Access con la cuenta de correo del usuario, para que Microsoft sepa a que usuario se le pide autorización.

Otra via para configurar servidores de correo de salida es creando una contraseña de aplicación. Previamente el usuario debe tener forzada la doble autenticación.

Vamos a admin.microsoft.com logando como usuario. En la pantalla principal en la esquina superior derecha encontramos Ver cuenta:

Pedirá la doble autenticación (el dispositivo puede tener el Authenticator en su movil o en el de sistemas de Apen)

Clicamos en información de seguridad:

Nos pedirá autenticarnos de nuevo.

Añadiremos un nuevo método de inicio de sesión tipo Contraseña aplicación:

NOTA: Si no aparece contraseña de aplicación es que o bien no tiene activada la doble autenticación o bien se ha configurado hace poco y Microsoft aún no ha aplicado el cambio en su plataforma (pueden pasar minutos)


Nos pedirá un nombre de aplicación (sugerio OdooERP+número de versión):

Por últimos nos dará un password que podremos usar para autenticar en el servidor SMTP de Office365:

Configuración OneDrive: