Administrator
Published on 2025-10-28 / 26 Visits
0
0

odoo 17 安装教程

安装教程

服务器配置说明:

配置项

参数

cpu

1C

内存

1G

系统

Ubuntu 22.04 (dock安装任意linux系统)

Linux odoo安装教程

1️⃣ 更新系统

sudo apt update && sudo apt upgrade -y

2️⃣ 安装基础依赖

sudo apt install git python3-pip build-essential wget python3-dev python3-venv \
libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools npm node-less \
libjpeg-dev libpq-dev libxml2-dev libffi-dev libssl-dev wkhtmltopdf -y

3️⃣ 安装 PostgreSQL 并创建数据库用户

sudo apt install postgresql -y
sudo -u postgres createuser -s odoo

如果你想给数据库用户加密码:

sudo -u postgres psql
\password odoo
\q

4️⃣ 创建 Odoo 用户和目录

sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
​
# 给 odoo 用户授予 sudo 权限
sudo usermod -aG sudo odoo
# 重置odoo密码为odoo
sudo echo "odoo:odoo" | sudo chpasswd

5️⃣ 获取 Odoo 源码

sudo su - odoo
git clone https://github.com/odoo/odoo.git -b 17.0
cd odoo

如果服务器无法下载可以直接打开链接https://github.com/odoo/odoo/tree/saas-17.4 页面下载

6️⃣ 创建虚拟环境并安装依赖

//目录授权
sudo chown -R odoo:odoo odoo/
python3 -m venv venv
//配置pip国内源
pip config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple/
pip config set global.extra-index-url https://mirrors.cloud.tencent.com/pypi/simple/
pip config set install.trusted-host "repo.huaweicloud.com mirrors.cloud.tencent.com"
pip config set global.timeout 60
//激活虚拟环境
source venv/bin/activate


​
​
pip install -r requirements.txt

常用命令

# 退出虚拟环境
deactivate
# 清除当前缓存
pip cache purge
# 查看当前配置
pip config list
# 测试下载速度
pip install --upgrade pip

如遇pip依赖报错

手动更新 requirements.txt
打开你的文件:
vim requirements.txt
​
找到以下两行(大约在 20 行附近):
gevent==21.8.0
greenlet==1.1.2
​
修改为:
gevent>=22.10.2
greenlet>=2.0.0

7️⃣ 启动测试

su odoo
./odoo-bin -r odoo --addons-path=addons --db-filter=odoo$

访问: 👉 http://localhost:8069 初始化数据库后即可进入 Odoo 界面。

如遇到权限报错 PermissionError: [Errno 13] Permission denied: '/opt/odoo/.local'

​
sudo mkdir -p /opt/odoo/.local
sudo chown -R odoo:odoo /opt/odoo/.local
sudo chmod -R 775 /opt/odoo/.local

8️⃣ (可选)创建 Systemd 服务

让 Odoo 开机自启:

sudo nano /etc/systemd/system/odoo.service

写入:

[Unit]
Description=odoo
After=network.target postgresql.service
​
[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/venv/bin/python3 /opt/odoo/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console
​
[Install]
WantedBy=multi-user.target

9️⃣ 创建配置文件

sudo nano /etc/odoo.conf

内容:

[options]
admin_passwd = admin
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/addons
logfile = /var/log/odoo/odoo.log

然后:

sudo mkdir -p /var/log/odoo
sudo chown odoo: /var/log/odoo

🔟 启动服务

sudo systemctl daemon-reload
sudo systemctl enable --now odoo
sudo systemctl status odoo
// 打印服务日志
sudo tail -200f /var/log/odoo/odoo.log

访问: 👉 http://服务器IP:8069

docker odoo安装教程

1️⃣ 安装docker

docker安装教程:https://halo.blog360.sbs/archives/dockeran-zhuang-jiao-cheng

2️⃣ 创建目录结构

mkdir -p /opt/odoo
cd /opt/odoo

目录建议:

/opt/odoo/
 ├─ docker-compose.yml
 ├─ config/
 │   └─ odoo.conf
 ├─ addons/        # 自定义模块目录
 └─ data/          # 数据持久化目录

3️⃣ 创建配置文件 config/odoo.conf

[options]
; 数据库连接
db_host = db
db_port = 5432
db_user = odoo
db_password = odoo
; 插件目录
addons_path = /mnt/extra-addons

4️⃣ 创建 docker-compose.yml

以下是稳定的 Odoo 17 社区版部署文件 👇

version: '3.9'
​
services:
  db:
    image: postgres:15
    container_name: odoo-db
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=odoo
      - POSTGRES_PASSWORD=odoo
    volumes:
      - ./data/db:/var/lib/postgresql/data
    restart: unless-stopped
​
  odoo:
    image: odoo:17.0
    container_name: odoo
    depends_on:
      - db
    ports:
      - "8069:8069"
    volumes:
      - ./config:/etc/odoo
      - ./addons:/mnt/extra-addons
      - ./data/odoo:/var/lib/odoo
    environment:
      - HOST=db
      - USER=odoo
      - PASSWORD=odoo
    restart: unless-stopped

5️⃣ 启动 Odoo

# 修改文件权限,避免权限异常报错
cd /opt/odoo
mkdir -p /opt/odoo/data/odoo
sudo chown -R 101:101 /opt/odoo/data/odoo
sudo chmod -R 700 /opt/odoo/data/odoo
#启动容器
docker compose up -d

查看启动日志:

docker logs -f odoo

访问:

http://<服务器IP>:8069

第一次进入时,你需要创建一个数据库账户。

发布教程

image-20251027211112895

发布odoo

添加配置域名发布文件

server {
​
    listen 80;
    server_name test.blog360.sbs;
​
    client_max_body_size 20m;
  # 主请求代理
  location / {
    proxy_pass http://172.30.0.2:8069;
​
    # 关键头信息传递 (解决混合内容问题)
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;  # 告知Discourse使用HTTPS
​
        # WebSocket支持
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
​
        # 缓存优化
        proxy_cache_bypass $http_upgrade;
​
        # 修复静态资源路径
        sub_filter_once off;
        sub_filter_types text/html text/css application/javascript;
  }
​
}

申请免费证书(ssl证书可选)

安装Certbot工具

# Ubuntu/Debian
sudo apt update
sudo apt install certbot python3-certbot-nginx
​
# CentOS/RHEL
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx

申请ssl证书(nginx)

sudo certbot --nginx -d your-domain.com
  • 替换 your-domain.com 为你的域名



Comment