ubuntu服务器上极简部署odoo18

本次源码启动,未用 docker 与 持续集成 持续发布 思想,仅为入门级体验

一、运行环境安装

安装 anaconda

查看安装列表: https://repo.anaconda.com/archive/

找到最新版,下载并安装,例如:

bash 复制代码
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh  
sh Anaconda3-2024.10-1-Linux-x86_64.sh                               

注意安装目录到:/usr/local/anaconda3/, 这样所有的用户都可以使用。

安装宝塔 bt

宝塔安装 postgresql15,python3

关闭防火墙

bash 复制代码
sudo ufw disable

安装下 git

bash 复制代码
sudo apt install git -y

安装相关依赖

bash 复制代码
sudo apt install python3-pip python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libssl-dev libpq-dev libjpeg-dev

二、 开始部署源代码

bash 复制代码
cd ~
# 使用您指定的阿里云 Codeup 仓库 (SSH 协议)
git clone [email protected]:****************.git odoo18

# 如果 SSH 方式遇到权限问题,可改用 HTTPS 协议(需要账号密码)
# git clone https://codeup.aliyun.com/65420aff31b5b6a2396d290c/HRMS/ai-hrms.git odoo18

cd odoo18
# 安装虚拟环境工具
sudo apt install python3.12-venv -y
# 创建 Python 虚拟环境
python3 -m venv venv
# 激活虚拟环境
source venv/bin/activate
# 安装 Odoo 相关依赖
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
# 三、通过配置文件启动 odoo
python odoo-bin -c odoo.conf

三、配置域名访问(使用 Nginx 反向代理)

  1. 登录宝塔面板

    在浏览器访问 http://服务器IP:8888,使用安装宝塔时显示的账号密码登录。

  2. 添加站点

  • 点-击左侧「网站」→「添加站点」

  • 填写您的域名(如 odoo.yourdomain.com

  • PHP 版本选择「纯静态」

  • 其他保持默认 → 点击「提交」

  1. 配置反向代理
    在站点列表中找到刚创建的站点:
  • 点击「设置」→「反向代理」→「添加反向代理」
  • 代理名称填写 Odoo
  • 目标 URL 填写 http://127.0.0.1:8069(Odoo 默认端口)
  • 点击「提交」
  1. 修改代理配置(关键步骤)
    在反向代理配置页面:
  • 点击「配置文件」图标(铅笔符号)

  • 在 location / 段内添加以下代码:

nginx 复制代码
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;

修改后配置应类似:

nginx 复制代码
location / {
    proxy_pass http://127.0.0.1:8069;
    proxy_set_header Host $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;
    proxy_set_header X-Forwarded-Host $host;  # 新增此行
}
  • 保存配置
  1. 配置 Odoo 参数
    编辑 Odoo 配置文件 odoo.conf:
bash 复制代码
nano ~/odoo18/odoo.conf

添加以下配置:

conf 复制代码
proxy_mode = True
x_forwarded_host = True
  1. 重启服务
bash 复制代码
# 重启 Odoo
pkill -f odoo-bin
cd ~/odoo18
source venv/bin/activate
python odoo-bin -c odoo.conf &

# 重启 Nginx
sudo systemctl restart nginx

五、配置 HTTPS(可选但推荐)

  1. 在宝塔申请 SSL 证书
  • 站点设置 → SSL → Let's Encrypt
  • 勾选域名 → 选择「文件验证」→ 申请
  • 开启「强制 HTTPS」
  1. 修改 Odoo 配置
    在 odoo.conf 中添加:
conf 复制代码
web.base.url = https://yourdomain.com

六、验证访问

  1. 在浏览器访问您的域名 https://odoo.yourdomain.com
  2. 应该看到 Odoo 初始化安装界面

常见问题解决

  1. 502 Bad Gateway 错误
  • 检查 Odoo 是否运行:ps aux | grep odoo-bin
  • 确保端口正确:netstat -tunlp | grep 8069
  1. CSRF 验证失败
    在 odoo.conf 中添加:
conf 复制代码
proxy_mode = True
  1. 静态资源加载失败
    在 Nginx 配置中添加静态文件处理:
nginx 复制代码
location /web/static/ {
    proxy_cache_valid 200 60m;
    proxy_buffering on;
    expires 864000;
    proxy_pass http://127.0.0.1:8069;
}

注意:如果使用防火墙,需放行端口:

bash 复制代码
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

至此,您的 Odoo 18 已成功通过域名访问。后续可通过宝塔设置开机启动、进程守护等功能增强稳定性。

相关推荐
odoo-卜永2 个月前
odo18实施——销售-仓库-采购-制造-制造外包-整个流程自动化单据功能的演示教程
自动化·制造·实施·odoo18
加菲大叔8 个月前
win10下用vscode和pycharm运行odoo18的速度对比
vscode·pycharm·odoo18
加菲大叔8 个月前
ubuntu2404下搭建Odoo18开发环境
odoo·odoo18