本教程适用于以下操作系统版本
- Debian 12 (Bookworm)
- Debian 11 (Bullseye)
本页内容
- 环境要求
- 步骤 1 - 配置防火墙规则
- 步骤 2 - 分配主机名
- 步骤 3 - 安装并配置 PostgreSQL 配置基于主机的认证 配置 PostgreSQL 监听地址 启用并启动 PostgreSQL 服务
- 步骤 4 - 安装 Odoo 安装依赖项并准备安装 下载 Odoo 文件 搭建 Virtualenv Python 环境 安装 Python 依赖项 安装 Python 软件包
- 步骤 5 - 配置 Odoo 创建 Odoo 服务 为 Odoo 创建日志目录 设置文件权限 启动 Odoo 服务器
- 步骤 6 - 安装并配置 Nginx
- 步骤 7 - 安装 SSL
- 步骤 8 - 配置 Nginx
- 步骤 9 - 启动 Odoo
- 结语
- 配置基于主机的认证
- 配置 PostgreSQL 监听地址
- 启用并启动 PostgreSQL 服务
- 安装依赖项并准备安装
- 下载 Odoo 文件
- 搭建 Virtualenv Python 环境
- 安装 Python 依赖项
- 安装 Python 软件包
- 创建 Odoo 服务
- 为 Odoo 创建日志目录
- 设置文件权限
- 启动 Odoo 服务器
Odoo(前身为 OpenERP)是一套自托管的开源应用套件,包含超过 10,000 个面向各类业务需求的应用,涵盖 CRM、电子商务、会计、库存、项目管理和销售点(POS)等。这些应用完全集成,并通过统一的 Web 界面进行访问。
本教程将介绍如何在 Debian 12 服务器上安装 Odoo 16。
环境要求
- 一台最低 2GB 内存、基于 Debian 12 的服务器,用于托管 Odoo 技术栈。
- 第二台最低 2GB 内存、基于 Debian 12 的服务器,用于托管 PostgreSQL 数据库。不过你也可以将数据库与 Odoo 安装在同一台服务器上;但对于生产环境,强烈建议将其安装在独立的服务器上。你也可以从任意提供商处选择任何托管的数据库方案。
- 内存需求取决于使用该技术栈的并发用户数量。关于如何计算系统需求的详细指南,可以在 Odoo 的官方文档中找到。
- 保持你的系统处于最新状态。$ sudo apt update $ sudo apt upgrade
- 两台服务器上均拥有 sudo 权限的非 root 用户。
- 你的系统需要安装以下几个软件包。$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y 其中部分软件包可能已经在你的系统中安装。
一台最低 2GB 内存、基于 Debian 12 的服务器,用于托管 Odoo 技术栈。
第二台最低 2GB 内存、基于 Debian 12 的服务器,用于托管 PostgreSQL 数据库。不过你也可以将数据库与 Odoo 安装在同一台服务器上;但对于生产环境,强烈建议将其安装在独立的服务器上。你也可以从任意提供商处选择任何托管的数据库方案。
内存需求取决于使用该技术栈的并发用户数量。关于如何计算系统需求的详细指南,可以在 Odoo 的官方文档中找到。
保持你的系统处于最新状态。
$ sudo apt update
$ sudo apt upgrade
两台服务器上均拥有 sudo 权限的非 root 用户。
你的系统需要安装以下几个软件包。
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y
其中部分软件包可能已经在你的系统中安装。
步骤 1 - 配置防火墙规则
在本教程中,我们假设你在两台服务器上都已经安装了 ufw 防火墙。
检查防火墙状态。
$ sudo ufw status
你应该会看到类似如下的输出。
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
在 Odoo 服务器上,我们需要开放 22、80、443、6010、5432 和 8069 端口。其中 22 用于 SSH,80 用于 HTTP,443 用于 HTTPS,6010 用于 Odoo 通信,5432 由 PostgreSQL 使用,8069 用于 Odoo 服务器应用。
运行以下命令以在 Odoo 服务器上开放所需端口。
$ sudo ufw allow 6010,5432,8069,8072/tcp
$ sudo ufw allow http
$ sudo ufw allow https
检查防火墙状态。
$ sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
5432,6010,8069,8072/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
5432,6010,8069,8072/tcp (v6) ALLOW Anywhere (v6)
在 PostgreSQL 服务器上,我们需要开放 22、6010 和 5432 端口。使用以下命令开放这些端口。
$ sudo ufw allow 6010/tcp
$ sudo ufw allow 5432/tcp
步骤 2 - 分配主机名
你可以使用服务器的 IP 地址,或者在可用的情况下使用其完全限定域名(FQDN)。在本教程中,我们将使用 FQDN,为此需要在两台服务器上分别设置主机名。
在 Odoo 服务器上,打开 /etc/hosts 文件。
$ sudo nano /etc/hosts
确保其内容如下面所示。
127.0.0.1 localhost
127.0.0.1 odoo.yourdomain.com odoo
10.1.1.10 postgresql.yourdomain.com postgresql
在 PostgreSQL 服务器上,打开该文件并确保其内容如下面所示。
127.0.0.1 localhost
127.0.0.1 postgresql.yourdomain.com postgresql
10.1.2.10 odoo.yourdomain.com odoo
按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。
步骤 3 - 安装并配置 PostgreSQL
Debian 12 默认随附 PostgreSQL 15,我们将安装该版本。在 PostgreSQL 服务器上运行以下命令。
$ sudo apt install postgresql-15 postgresql-server-dev-15
接下来,我们需要创建一个名为 odoo 的数据库用户。系统会提示你为该角色设置密码。请输入一个你自选的强密码。
$ sudo -u postgres createuser odoo -U postgres -dP
选项 -u 以 postgres 用户身份执行命令。
选项 -U 指定用于连接的用户名。
选项 -d 授予用户创建数据库的权限。
选项 -p 提示输入新用户的密码。
配置基于主机的认证
我们需要赋予 PostgreSQL 服务连接 Odoo 服务器的权限。
首先,停止 PostgreSQL 服务。
$ sudo systemctl stop postgresql
打开文件 /etc/postgresql/15/main/pg_hba.conf 进行编辑。
$ sudo nano /etc/postgresql/15/main/pg_hba.conf
在文件末尾粘贴如下一行。
host all odoo odoo.yourdomain.com md5
这一行授予 odoo 用户连接本服务器上所有数据库的权限。你也可以不使用 all 关键字,而是具体指定数据库的名称。
按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。
配置 PostgreSQL 监听地址
接下来,我们需要允许数据库服务器监听远程连接。打开文件 /etc/postgresql/15/main/postgresql.conf 进行编辑。
$ sudo nano /etc/postgresql/15/main/postgresql.conf
将 listen_addresses 这一行从
#listen_addresses = 'localhost' # what IP address(es) to listen on;
改为
#From CONNECTIONS AND AUTHENTICATION Section
listen_addresses = '*'
* 表示监听所有的 IP 地址。你可以将其改为你的 odoo 实例的 IP 地址。
按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。
启用并启动 PostgreSQL 服务
既然配置已完成,现在可以启动并启用 PostgreSQL 服务了。
$ sudo systemctl enable postgresql --now
步骤 4 - 安装 Odoo
安装依赖项并准备安装
在 Odoo 服务器上创建一个新系统用户,用于管理 Odoo 进程。
$ sudo adduser --system --home=/opt/odoo --group odoo
安装 Odoo 16 部署所需的系统依赖项。
$ sudo apt install python3-pip python3-suds python3-all-dev python3-venv python3-dev python3-setuptools python3-tk libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev pkg-config libtiff5-dev libjpeg62-turbo-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev liblcms2-utils libwebp-dev tcl8.6-dev tk8.6-dev libyaml-dev xfonts-75dpi libpq-dev git libzip-dev libopenjp2-7-dev
安装 Nodejs。Debian 12 随附 Node 18.x,这是 Nodejs 当前的 LTS 版本。不过,我们将使用官方的 Nodesource 软件源来安装。
下载并导入 Nodesource GPG 密钥。
$ sudo apt-get install -y ca-certificates curl gnupg
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
创建系统软件源。
$ NODE_MAJOR=18
$ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
更新系统软件源列表。
$ sudo apt update
安装 Nodejs。
$ sudo apt install nodejs
确认 Node 版本。
$ node --version
v18.17.1
使用 Node 安装 Less CSS 软件包。如果你使用的是从右向左排版的界面语言,还需安装 rtlcss 软件包。
$ sudo npm install -g less rtlcss
安装 wkhtmltopdf。它可以作为 Debian 系统软件包获取。
$ sudo apt install wkhtmltopdf
检查已安装的 wkhtmltopdf 版本。
$ wkhtmltopdf --version
wkhtmltopdf 0.12.6
下载 Odoo 文件
将 Odoo 的 Github 仓库克隆到你的系统。
$ sudo git clone https://github.com/odoo/odoo.git --depth 1 --branch 16.0 --single-branch /opt/odoo
就本教程而言,我们将把 Odoo 复制到 /opt/odoo 目录,并从该目录进行安装。
搭建 Virtualenv Python 环境
此步骤是可选的,但建议使用,因为为 Odoo 创建独立的 Python 虚拟环境有助于避免与操作系统的 Python 模块产生冲突,尤其是在进行系统升级时。
为此,我们将使用 virtualenv。
- 为 Odoo 创建一个新的 virtualenv 环境。$ python3 -m venv /home/
/odoo-env - 激活虚拟环境。我们在系统用户的主目录下创建环境,你也可以自由选择任何你喜欢的路径。$ source /home/
/odoo-env/bin/activate - 更新 PIP 以防万一。(odoo-env) $ pip3 install --upgrade pip
- 在虚拟环境中安装 Python 的 wheel。$ pip3 install wheel
为 Odoo 创建一个新的 virtualenv 环境。
$ python3 -m venv /home/<username>/odoo-env
激活虚拟环境。我们在系统用户的主目录下创建环境,你也可以自由选择任何你喜欢的路径。
$ source /home/<username>/odoo-env/bin/activate
更新 PIP 以防万一。
(odoo-env) $ pip3 install --upgrade pip
在虚拟环境中安装 Python 的 wheel。
$ pip3 install wheel
安装 Python 依赖项
安装 Odoo 16 所需的 Python 依赖项。
$ pip3 install -r /opt/odoo/requirements.txt
依赖项的安装需要一些时间,请耐心等待。
通过查看已安装的 Python 模块列表,确认依赖项是否已正确安装。
$ pip3 list
Package Version
----------------- ---------
appdirs 1.4.4
attrs 23.1.0
Babel 2.9.1
beautifulsoup4 4.12.2
cached-property 1.5.2
certifi 2023.7.22
cffi 1.15.1
chardet 4.0.0
cryptography 3.4.8
decorator 4.4.2
defusedxml 0.7.1
docopt 0.6.2
docutils 0.16
ebaysdk 2.1.5
freezegun 0.3.15
gevent 22.10.2
greenlet 2.0.2
idna 2.10
isodate 0.6.1
Jinja2 3.1.2
libsass 0.20.1
lxml 4.9.2
MarkupSafe 2.1.2
num2words 0.5.9
ofxparse 0.21
passlib 1.7.4
Pillow 9.4.0
pip 23.2.1
polib 1.1.0
psutil 5.9.4
psycopg2 2.9.5
pyasn1 0.5.0
pyasn1-modules 0.3.0
pycparser 2.21
pydot 1.4.2
pyOpenSSL 20.0.1
pyparsing 3.1.1
PyPDF2 2.12.1
pyserial 3.5
python-dateutil 2.8.1
python-ldap 3.4.0
python-stdnum 1.16
pytz 2023.3
pyusb 1.2.1
qrcode 6.1
reportlab 3.6.12
requests 2.25.1
requests-file 1.5.1
requests-toolbelt 1.0.0
setuptools 66.1.1
six 1.16.0
soupsieve 2.5
urllib3 1.26.5
vobject 0.9.6.1
Werkzeug 2.0.2
wheel 0.41.2
xlrd 1.2.0
XlsxWriter 1.1.2
xlwt 1.3.0
zeep 4.0.0
zope.event 5.0
zope.interface 6.0
退出 Python 虚拟环境。
$ deactivate
安装 Python 软件包
Odoo 16 还需要一些额外的 Python 软件包,这些软件包列在 /opt/odoo/debian/control 文件中。切换到 /opt/odoo 目录。
$ cd /opt/odoo
运行以下命令以安装所需的 Python 软件包。
$ sed -n -e '/^Depends:/,/^Pre/ s/ python3-\(.*\),/python3-\1/p' debian/control | sudo xargs apt-get install -y
步骤 5 - 配置 Odoo
复制默认的 Odoo 配置文件以创建新配置。
$ sudo cp /opt/odoo/debian/odoo.conf /etc/odoo-server.conf
打开该文件进行编辑。
$ sudo nano /etc/odoo-server.conf
编辑该文件,使其内容如下面所示。
[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = postgresql.yourdomain.com
db_port = False
db_user = odoo
db_password = odoo_password
addons_path = /opt/odoo/addons
xmlrpc_port = 8069
default_productivity_apps = True
按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。
选项 admin_passwd 是允许在 Odoo 图形界面中执行管理操作的密码。请务必选择一个安全的密码。
选项 db_host 是 PostgreSQL 服务器的 FQDN 或 IP 地址。
选项 db_port 设置为 false,因为使用的是 PostgreSQL 默认的 5432 端口。如果你想使用其他端口,需要更新该值。
选项 db_user 是 PostgreSQL 用户的名称。
选项 db_password 是我们在 PostgreSQL 服务器上先前创建的 PostgreSQL 'odoo' 用户密码。
选项 addons_path 是默认的插件(Addons)路径。你也可以添加自定义的插件路径,多个路径之间用逗号分隔。
选项 xmlrpc_port 是 Odoo 监听的端口。
选项 default_productivity_apps 确保默认的生产力应用(即 Employees、Email Marketing、Project 和 Surveys)保持启用。这四个应用是 Odoo 社区版的默认应用。在企业版中,还可以默认启用额外的生产力应用,包括 Appointments、Knowledge、Planning 和 Sign。
创建 Odoo 服务
为了确保 Odoo 在系统重启后仍能持续运行,我们需要为其创建一个服务。
创建文件 /lib/systemd/system/odoo-server.service 并打开进行编辑。
$ sudo nano /lib/systemd/system/odoo-server.service
在其中粘贴如下代码。
[Unit]
Description=Odoo Open Source ERP and CRM
After=network.target
[Service]
Type=simple
SyslogIdentifier=odoo-server
User=odoo
Group=odoo
ExecStart=python3 /opt/odoo/odoo-bin --config=/etc/odoo-server.conf --addons-path=/opt/odoo/addons/ --logfile /var/log/odoo/odoo-server.log
WorkingDirectory=/opt/odoo/
StandardOutput=journal+console
KillMode=mixed
[Install]
WantedBy=multi-user.target
将 /home/
按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。
为 Odoo 创建日志目录
$ sudo mkdir /var/log/odoo
设置文件权限
设置 odoo-server.service 文件的权限,使其仅能被 Odoo 用户读取或执行。
$ sudo chmod 755 /lib/systemd/system/odoo-server.service
$ sudo chown odoo: /lib/systemd/system/odoo-server.service
设置 Python 环境、Odoo 安装目录以及日志目录的所属权。
$ sudo chown -R odoo: /opt/odoo/
$ sudo chown -R odoo: /home/<username>/odoo-env
$ sudo chown -R odoo: /var/log/odoo
限制 Odoo 配置文件的访问权限。
$ sudo chown odoo: /etc/odoo-server.conf
$ sudo chmod 640 /etc/odoo-server.conf
启动 Odoo 服务器
启动并启用 Odoo 服务器。
$ sudo systemctl start odoo-server
$ sudo systemctl enable odoo-server
检查服务器状态。
$ sudo systemctl status odoo-server
? odoo-server.service - Odoo Open Source ERP and CRM
Loaded: loaded (/lib/systemd/system/odoo-server.service; enabled; preset: enabled)
Active: active (running) since Mon 2023-09-04 14:19:38 UTC; 27s ago
Main PID: 8954 (python3)
Tasks: 4 (limit: 2315)
Memory: 131.1M
CPU: 1.625s
CGroup: /system.slice/odoo-server.service
??8954 python3 /opt/odoo/odoo-bin --config=/etc/odoo-server.conf --addons-path=/opt/odoo/addons/ --logfile /var/log/odoo/odoo-server.log
Sep 04 14:19:38 odoo systemd[1]: Started odoo-server.service - Odoo Open Source ERP and CRM.
在浏览器中打开 URL http://

填写所有字段。勾选 Demo Data(演示数据)字段以使用示例数据填充数据库,然后点击 Create database(创建数据库)按钮。
接下来,会显示一个可供选择的应用列表。
首次创建数据库时,插件页面的加载需要一些时间,因此不要刷新页面。
步骤 6 - 安装并配置 Nginx
Debian 12 随附的 Nginx 版本较旧。要安装最新版本,你需要下载官方的 Nginx 软件源。
导入 Nginx 的签名密钥。
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
添加 Nginx 稳定版的软件源。
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
更新系统软件源。
$ sudo apt update
安装 Nginx。
$ sudo apt install nginx
验证安装。在 Debian 系统上,以下命令需要使用 sudo 才能运行。
$ sudo nginx -v
nginx version: nginx/1.24.0
启动 Nginx。
$ sudo systemctl start nginx
检查服务状态。
$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Tue 2023-09-05 06:29:17 UTC; 1s ago
Docs: https://nginx.org/en/docs/
Process: 13958 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 13959 (nginx)
Tasks: 2 (limit: 2315)
Memory: 1.7M
CPU: 10ms
CGroup: /system.slice/nginx.service
??13959 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??13960 "nginx: worker process"
步骤 7 - 安装 SSL
我们需要安装 Certbot 来生成由 Let's Encrypt 提供的免费 SSL 证书。
你可以使用 Debian 的软件源安装 Certbot,也可以使用 Snapd 工具获取最新版本。我们将使用 Snapd 版本。
Debian 12 默认未安装 Snapd。安装 Snapd 软件包。
$ sudo apt install snapd
运行以下命令,以确保你的 Snapd 版本是最新的。
$ sudo snap install core
$ sudo snap refresh core
安装 Certbot。
$ sudo snap install --classic certbot
使用以下命令,通过创建指向 /usr/bin 目录的符号链接,确保 Certbot 命令可以运行。
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
验证 Certbot 是否正常工作。
$ certbot --version
certbot 2.6.0
生成证书。我们还需要创建一份 DHParams 证书。
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m
[email protected]
-d odoo.yourdomain.com
生成 Diffie-Hellman 密钥交换证书。
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
检查 Certbot 续期调度服务。
$ sudo systemctl list-timers
你会发现 snap.certbot.renew.service 是计划运行的服务之一。
NEXT LEFT LAST PASSED UNIT ACTIVATES
.....
Sun 2023-02-26 06:32:00 UTC 9h left Sat 2023-02-25 18:04:05 UTC 2h 59min ago snap.certbot.renew.timer snap.certbot.renew.service
Sun 2023-02-26 06:43:20 UTC 9h left Sat 2023-02-25 10:49:23 UTC 10h ago apt-daily-upgrade.timer apt-daily-upgrade.service
Sun 2023-02-26 09:00:06 UTC 11h left Sat 2023-02-25 20:58:06 UTC 5min ago apt-daily.timer apt-daily.service
对续期过程进行一次空运行(dry run),以检查 SSL 续期是否正常工作。
$ sudo certbot renew --dry-run
如果没有看到任何错误,说明一切就绪。你的证书将自动续期。
步骤 8 - 配置 Nginx
要通过 Nginx 运行 Odoo,我们需要让 Odoo 在 localhost 上运行。为此,先停止 Odoo 服务。
$ sudo systemctl stop odoo-server
打开 Odoo 服务器配置文件。
$ sudo nano /etc/odoo-server.conf
向其中添加如下几行。
xmlrpc_interface = 127.0.0.1
proxy_mode = True
为 Odoo 创建 Nginx 配置文件。
$ sudo nano /etc/nginx/conf.d/odoo.conf
粘贴如下代码。
#odoo server
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
# http -> https
server {
listen 80;
listen [::]:80;
server_name odoo.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name odoo.yourdomain.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Add Headers for odoo proxy mode
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 parameters
ssl_certificate /etc/letsencrypt/live/odoo.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/odoo.yourdomain.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/odoo.yourdomain.com/chain.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_prefer_server_ciphers off;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
# log
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Redirect longpoll requests to odoo longpolling port
location /longpolling {
proxy_pass http://odoochat;
}
# Redirect requests to odoo backend server
location / {
proxy_redirect off;
proxy_pass http://odoo;
}
# common gzip
gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。
打开文件 /etc/nginx/nginx.conf 进行编辑。
$ sudo nano /etc/nginx/nginx.conf
在 include /etc/nginx/conf.d/*.conf; 这一行之前添加如下一行。
server_names_hash_bucket_size 64;
按 Ctrl + X 保存文件,并在提示时输入 Y。
测试 Nginx 配置。
$ sudo nginx -t
如果没有看到任何错误,说明配置没有问题。重启 Nginx 服务器。
$ sudo systemctl restart nginx
步骤 9 - 启动 Odoo
现在一切已配置就绪,我们可以再次启动 Odoo 服务器了。
$ sudo systemctl start odoo-server
在浏览器中通过 https://odoo.yourdomain.com 访问 Odoo。你将看到前面描述过的界面。输入所需信息以创建数据库,随后会被重定向到 Odoo 登录页面。

输入上一步中使用的凭据登录 Odoo ERP,随后会跳转到如下所示的仪表盘页面。该页面会预填充演示数据。如果你在数据库创建页面没有勾选演示数据选项,你将看到一个不同且更简洁的仪表盘。

从此你便可以开始使用 Odoo 来管理你的业务了。
结语
至此,我们在 Debian 12 服务器上安装 Odoo 的教程就结束了。如果你有任何问题,请在下方评论区留言。