当前位置:网站首页 >  攻略

零基础Linux服务器部署Odoo16 ERP系统实操手册

时间:2026年06月03日 16:56:22 来源:易频IT社区

一、环境准备与系统依赖安装

本指南基于Ubuntu 22.04 LTS系统编写,Odoo版本为16.0。在开始之前,请确保你拥有一台至少2GB内存的服务器,并已获取root权限。首先执行系统更新并安装Python及必要的系统依赖库。

执行以下命令更新系统源并安装基础工具:

```bash sudo apt update && sudo apt upgrade -y sudo apt install -y git python3-pip build-essential python3-dev libxslt-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libffi-dev libssl-dev libpq-dev libfontconfig1 ```

Odoo依赖Node.js来处理JavaScript和CSS文件的编译。安装Node.js和npm:

```bash curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs sudo npm install -g less less-plugin-clean-css ```

接下来安装wkhtmltopdf,这是Odoo生成PDF报告的核心组件。Ubuntu默认源中的版本不支持Header和Footer,必须手动安装指定版本:

```bash sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb sudo apt install -f -y ```

二、PostgreSQL数据库配置

Odoo使用PostgreSQL作为后端数据库。安装数据库服务器:

```bash sudo apt install -y postgresql ```

安装完成后,需要创建一个专用的PostgreSQL用户来匹配Odoo的系统用户,确保权限隔离。这里我们将用户命名为odoo16

```bash sudo su - postgres -c "createuser -s odoo16" ```

执行上述命令后,数据库用户已创建完成且拥有超级用户权限,无需设置密码即可通过本地Socket认证连接。

三、创建系统用户与目录结构

为了安全起见,禁止使用root用户直接运行Odoo。我们需要创建一个独立的系统用户:

```bash sudo adduser --system --group --home=/opt/odoo16 --shell=/bin/bash odoo16 ```

该命令创建了一个名为odoo16的系统用户,主目录被指定为/opt/odoo16。接下来,从GitHub克隆Odoo 16.0的源代码到该用户目录下:

```bash sudo su - odoo16 -c "git clone --depth 1 --branch 16.0 https://github.com/odoo/odoo /opt/odoo16/odoo" ```

四、配置Python虚拟环境与依赖

进入odoo16用户目录,创建Python虚拟环境。这可以避免污染系统的Python环境:

```bash sudo su - odoo16 cd /opt/odoo16 python3 -m venv odoo-venv ```

激活虚拟环境并升级pip:

```bash source odoo-venv/bin/activate pip install --upgrade pip ```

安装Odoo所需的Python依赖包。这些依赖列表在源码的requirements.txt文件中:

```bash pip3 install -r odoo/requirements.txt ```

注意:如果安装过程中报错提示缺少wheel等工具,请先执行pip3 install wheel。安装完成后,退出当前用户:

```bash exit ```

五、创建Odoo配置文件

Odoo的配置文件通常存放在/etc目录下。创建配置文件并设置权限:

```bash sudo touch /etc/odoo16.conf sudo chown odoo16:odoo16 /etc/odoo16.conf sudo chmod 640 /etc/odoo16.conf ```

零基础Linux服务器部署Odoo16 ERP系统实操手册

使用vim编辑器打开配置文件并填入以下完整内容。请务必修改admin_passwd为主控密码,这是你进入Odoo数据库管理后台的钥匙:

```bash sudo nano /etc/odoo16.conf ```

将以下内容复制到文件中(不要遗漏任何选项):

```ini [options] ; This is the password that allows database operations: admin_passwd = 主控密码请务必修改为复杂字符串 db_host = False db_port = False db_user = odoo16 db_password = False addons_path = /opt/odoo16/odoo/addons data_dir = /opt/odoo16/.local/share/Odoo ; 监听端口 http_port = 8069 ; 长连接端口 xmlrpc_port = 8069 ; 开启调试模式(生产环境建议改为False) log_level = info ```

保存并退出(Ctrl+X, Y, Enter)。这里db_host = False表示使用Unix Socket连接,比TCP连接更安全且性能更好。

六、配置Systemd服务开机自启

为了方便管理Odoo服务的启动、停止和重启,我们需要创建一个Systemd服务单元文件:

```bash sudo nano /etc/systemd/system/odoo16.service ```

输入以下完整配置,确保路径与上文创建的路径完全一致:

```ini [Unit] Description=Odoo16 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo16 PermissionsStartOnly=true User=odoo16 Group=odoo16 ExecStart=/opt/odoo16/odoo-venv/bin/python3 /opt/odoo16/odoo/odoo-bin -c /etc/odoo16.conf StandardOutput=journal+console StandardError=journal+console Restart=always RestartSec=10s [Install] WantedBy=multi-user.target ```

保存并退出。接着重载Systemd守护进程并启动Odoo服务:

```bash sudo systemctl daemon-reload sudo systemctl start odoo16 sudo systemctl enable odoo16 ```

检查服务状态,确保显示为active (running)

```bash sudo systemctl status odoo16 ```

七、安装Nginx反向代理(可选但推荐)

直接使用8069端口访问并不安全且不专业。安装Nginx并配置反向代理,使Odoo可以通过80端口访问:

```bash sudo apt install -y nginx ```

创建新的站点配置文件:

```bash sudo nano /etc/nginx/sites-available/odoo16 ```

填入以下配置内容,将your_server_ip_or_domain替换为你的服务器IP或域名:

```nginx upstream odoo { server 127.0.0.1:8069; } server { listen 80; server_name your_server_ip_or_domain; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; 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; proxy_redirect off; 日志路径 access_log /var/log/nginx/odoo16.access.log; error_log /var/log/nginx/odoo16.error.log; location / { proxy_pass http://odoo; } 增加上传文件大小限制 client_max_body_size 100M; } ```

创建软链接启用配置并重启Nginx:

```bash sudo ln -s /etc/nginx/sites-available/odoo16 /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx ```

八、最终验证与防火墙设置

如果服务器启用了UFW防火墙,需要开放HTTP和SSH访问:

```bash sudo ufw allow 80/tcp sudo ufw allow 22/tcp sudo ufw deny 8069/tcp sudo ufw enable ```

此时,打开浏览器,访问http://你的服务器IP。你将看到Odoo的数据库创建页面。点击“创建数据库”,填写数据库名称、设置邮箱和密码(这是管理员密码),选择语言后点击“创建”。

等待系统初始化完成(通常需要1-3分钟),你将自动进入ERP系统的后台主界面。至此,服务器ERP系统配置全部完成。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图