如何为odoo15网站应用添加域名以及邮箱设置

发布时间 2023-07-10 13:17:01作者: lnsen

如何为odoo15网站应用添加域名以及邮箱设置

1. 内容介绍

odoo在服务器上安装好后,是通过IP地址加端口的方式访问的(例如:http://43.159.48.232:8069/ )。实际应用的时候,IP地址和端口不好记。同时网站的功能也得需要一个网站地址。这篇文章主要介绍步骤就是通过安装Nginx, 启用SSL并设置80端口自动转向odoo的默认端口8069。然后还介绍了如何设置odoo的邮箱,设置好后就可以通过odoo代发邮件和收邮件。

2. 域名添加解析

首先在自己的域名控制台,添加域名解析到IP地址。

这个解析则是用于邮箱(腾讯企业邮箱)。

3. 申请一个免费的SSL证书

3.1 什么是SSL证书

SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道。Secure socket layer(SSL)安全协议。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了,即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露,保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。

3.2 申请腾讯云免费SSL

申请地址:https://console.cloud.tencent.com/ssl

选择证书类型:免费版

选择算法类型和绑定的域名。

对绑定的域名进行认证。在域名控制台,添加相关的记录。

添加记录后,等待签发。(一般过一段时间后刷新就可以了。)

申请成功后就可以下载证书。

选择Nginx服务器类型下载。

下载后解压的文件内容如下:

上传文件(sunion.tech.key 和 sunion.tech_bundle.crt)到服务器目录下,这里放在这个目录下:/etc/tencentss 。这里可以在服务器上创建目录,需要修改目录权限后,然后通过WinSCP上传两个文件。

进入目录 创建文件tencentssl
cd /etc
sudo mkdir tencentssl

修改目录tencentssl的权限
sudo chmod 777 tencentssl

文件上传结束后 再把权限改回755
sudo chmod 755 tencentssl

目录权限修改为777后才可以上传,上传完成后再把权限改回来。

3.3 安装Nginx

sudo apt update
sudo apt-get install nginx

创建配置文件

sudo nano /etc/nginx/sites-enabled/sunion.tech

添加以下内容(注意sunion.tech部分修改,还有证书存放位置)

# Odoo servers
upstream odoo {
 server 127.0.0.1:8069;
}
 
upstream odoochat {
 server 127.0.0.1:8072;
}
 
# HTTP -> HTTPS
server {
    listen 80;
    server_name www.sunion.tech sunion.tech;
 
    rewrite ^/(.*)$ https://sunion.tech:443/$1 permanent;
}
 
# WWW -> NON WWW
server {
    listen 443 ssl http2;
    server_name www.sunion.tech;
 
    #输入证书存放位置
    ssl_certificate /etc/tencentssl/sunion.tech_bundle.crt;
    ssl_certificate_key /etc/tencentssl/sunion.tech.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    #按照这个协议配置
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    #按照这个套件配置
    ssl_prefer_server_ciphers on;
 
    return 301 https://sunion.tech$request_uri;
}
 
server {
    listen 443 ssl http2;
    server_name sunion.tech;
 
    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;
 
    # Proxy headers
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
 
    # 输入证书存放位置
    ssl_certificate /etc/tencentssl/sunion.tech_bundle.crt;
    ssl_certificate_key /etc/tencentssl/sunion.tech.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    #按照这个协议配置
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    #按照这个套件配置
    ssl_prefer_server_ciphers on;
 
    # log files
    access_log /var/log/odoo/odoo-server.log;
    error_log /var/log/odoo/odoo-server.log;
 
    # Handle longpoll requests 此处要用IP不要用域名否则会报错
    location /longpolling {
        proxy_pass http://127.0.0.1:8072;
    }
 
    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://127.0.0.1:8069;
    }
 
    # Cache static files
    location ~* /web/static/ {
        proxy_cache_valid 200 90m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://127.0.0.1:8069;
    }
 
    # Gzip
    gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
    gzip on;
}

修改odoo配置文件

sudo nano /etc/odoo/odoo.conf
#告诉 Odoo 使用代理服务器, 将如下代码段加到最后: 
proxy_mode = True

#默认情况下,Odoo 服务监听所有网络接口的8069端口。想要禁止对 Odoo 的直接访问,你可以封锁8069端口,并且强制 Odoo 只监听本地监控 127.0.0.1, 将如下代码段加上

xmlrpc_interface = 127.0.0.1
netrpc_interface = 127.0.0.1

重启系统

sudo reboot

查看Nginx的运行状态

sudo systemctl status nginx.service 

正常运行就可以通过https://sunion.tech/来访问了。

参考资料

  1. 完美快速安装ODOO14在腾讯云服务器UBUNTU 20.04上并启用端口转向与SSL

  2. Configure Odoo with Nginx as a Reverse Proxy

  3. odoo14如何配置Nginx代理转发,以及SSL证书认证

4. 如何配置邮箱

4.1 通过域名注册腾讯云企业邮箱

这个通过相关教程进行。注册成功后可以创建自己域名后缀的邮箱。

4.2 odoo的代发介绍

odoo的邮箱是代理收发的,默认

收件服务用:catchall@xxx.com

发件服务用:postmaster-odoo@xxx.com

首先为odoo系统设立一个专用发件邮箱。(这里设置为:kevin@sunion.tech)从odoo系统发出的所有邮件都会

通过该邮箱“代发”出去。

系统参数设置,系统参数中的 mail.catchall.domainmail.catchall.alias 构成了catchall邮箱。系统发送邮件

出去的时候,需要指定一个回复邮箱。默认情况下,系统指定catchall 为回复邮箱。如果不设置 catchall 参数,系

统发出去的邮件,对方回复的时候,系统就收不到了(回不到系统来)。

mail.catchall.domain:设置为收发件邮箱的域名(即@后面的部分)

mail.catchall.alias:设置为指定回复收件邮箱的邮箱名称。

mail.bounce.alias:此参数设置发送/退回邮件的邮箱名称。

即系统发出去的邮箱,被对方“弹回”(收件邮箱不存在、拒收等原因),弹回到此参数设置的邮箱。

可以设置弹回专用的邮箱,也可以简单地设置为发件的那个邮箱。

4.3 odoo邮件配置

首先需要激活邮件服务功能。添加域名sunion.tech。

然后设置收件服务配置(Incoming Email Servers)-- 可以设置多个收件邮箱,可以用于分配到不同的销售,产生不同的动作(Actions to Perform on Incoming Mails)。

然后设置发件服务配置(Outgoing Email Servers)-- 设置1个,且安全与身份验证里的用户名邮箱账号,必须与odoo管理员的登录邮箱账号一致,否则测试连接会报错。

4.4 odoo系统参数修改

先激活开发者模式。

激活开放者模式后,通过Technical--Parameters-System Parameters进入参数设置页面。

设置相关的参数。

bounce:默认退回邮件名

catchall:默认回复邮件名(销售部分,如果指定团队邮箱地址,则会回复到团队邮箱地址)

catchall.domain:域名

default:默认系统发件名(有些提醒之类的内容)

设置完成后就可以进行测试了。

参考资料

  1. odoo 邮箱配置 主要参考

  2. Odoo----第三方邮件服务发送设置

  3. odoo配置网易发件邮箱

  4. 老天:odooERP系统14.0的邮件收发配置详解

  5. Odoo邮件收发服务器配置详解

  6. 使用电子邮件服务器在Odoo中发送和接收电子邮件 官方文档

  7. odoo13 邮件发送功能学习(实验室管理软件 使用email功能) 删除参数配置的方法,存在不能代发问题。

  8. Odoo V13 免费开源ERP 系统E-mail邮件功能设置操作指南