odoo部署到阿里云?

服务器

将 Odoo 部署到阿里云(Alibaba Cloud)是一个常见的需求,尤其适用于企业级应用部署。以下是详细的部署步骤,帮助你在阿里云上成功部署 Odoo(以 Odoo 15 或 16 为例)。


✅ 一、准备工作

  1. 注册阿里云账号

    • 访问 阿里云官网
    • 注册并完成实名认证。
  2. 购买云服务器 ECS

    • 推荐配置:
      • 操作系统:Ubuntu 20.04 / 22.04 LTS(推荐)
      • CPU:2核以上
      • 内存:4GB 以上(建议 8GB)
      • 硬盘:至少 50GB(SSD)
      • 地域:选择靠近用户的区域(如华北、华东)
    • 开放端口:在安全组中放行以下端口:
      • 80(HTTP)
      • 443(HTTPS)
      • 22(SSH)
      • 8069(Odoo 默认端口)

✅ 二、连接到 ECS 服务器

使用 SSH 连接到你的阿里云 ECS 实例:

ssh root@你的ECS公网IP

建议修改密码或配置密钥登录。


✅ 三、安装依赖环境

1. 更新系统包

sudo apt update && sudo apt upgrade -y

2. 安装 PostgreSQL(Odoo 的数据库)

sudo apt install postgresql postgresql-contrib -y

启动并设置开机自启:

sudo systemctl enable postgresql
sudo systemctl start postgresql

创建 Odoo 数据库用户:

sudo su - postgres -c "createuser -s odoo"

用户名 odoo 与 Odoo 默认配置匹配,可简化配置。

3. 安装 Python 及相关依赖

sudo apt install python3 python3-pip python3-dev python3-venv git build-essential libpq-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libssl-dev -y

4. 安装 Node.js 和 Less(用于前端编译)

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

✅ 四、下载并安装 Odoo

方法一:从 GitHub 源码安装(推荐用于自定义开发)

sudo mkdir /opt/odoo
sudo chown $USER:$USER /opt/odoo
git clone https://github.com/odoo/odoo.git --branch 16.0 --single-branch /opt/odoo/odoo-server

可将 16.0 改为 15.0 或其他版本。

创建 Python 虚拟环境并安装依赖

cd /opt/odoo
python3 -m venv odoo-venv
source odoo-venv/bin/activate
pip install --upgrade pip
pip install -r odoo-server/requirements.txt

⚠️ 如果安装 lxmlpsycopg2 失败,请先安装系统依赖(见第三步)。


✅ 五、配置 Odoo

创建配置文件

sudo mkdir /etc/odoo
sudo cp /opt/odoo/odoo-server/debian/odoo.conf /etc/odoo/odoo.conf
sudo chown -R root:odoo /etc/odoo
sudo chmod 640 /etc/odoo/odoo.conf

编辑配置文件:

sudo nano /etc/odoo/odoo.conf

内容示例:

[options]
; 基本配置
db_host = False
db_port = False
db_user = odoo
db_password = False

addons_path = /opt/odoo/odoo-server/addons,/opt/odoo/custom-addons
admin_passwd = your_admin_password_here  ; 修改为强密码
csv_internal_sep = ,
data_dir = /opt/odoo/.local/share/Odoo

; 网络配置
http_port = 8069
proxy_mode = True

; 日志
logfile = /var/log/odoo/odoo.log
log_level = info

注意:addons_path 可添加自定义模块路径。

创建日志目录

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

✅ 六、创建系统服务(systemd)

创建服务文件:

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

内容:

[Unit]
Description=Odoo
After=postgresql.service
Requires=postgresql.service

[Service]
Type=simple
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-venv/bin/python3 /opt/odoo/odoo-server/odoo-bin -c /etc/odoo/odoo.conf
KillSignal=SIGINT
TimeoutStopSec=200
StandardOutput=journal
StandardError=journal
SyslogIdentifier=odoo

[Install]
WantedBy=multi-user.target

注意:确保路径正确,Python 路径使用虚拟环境中的。

启动服务

sudo systemctl daemon-reload
sudo systemctl enable odoo
sudo systemctl start odoo

查看状态:

sudo systemctl status odoo

✅ 七、配置域名与 HTTPS(可选但推荐)

  1. 绑定域名

    • 在阿里云控制台申请域名或使用已有域名。
    • 添加解析记录,指向 ECS 公网 IP。
  2. 使用 Nginx 反向X_X + SSL

    sudo apt install nginx certbot python3-certbot-nginx -y

    配置 Nginx:

    server {
       listen 80;
       server_name yourdomain.com;
    
       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;
       }
    }

    保存后运行:

    sudo certbot --nginx -d yourdomain.com

    自动配置 HTTPS。


✅ 八、访问 Odoo

打开浏览器访问:

  • http://<你的IP>:8069
  • https://yourdomain.com(如果配置了 Nginx + SSL)

首次访问会进入数据库创建页面,填写数据库名、管理员邮箱、密码等即可开始使用。


✅ 九、安全建议

  1. 关闭 root 登录 SSH,使用普通用户 + sudo。
  2. 使用强密码或 SSH 密钥。
  3. 定期备份数据库和文件(/opt/odoo/.local/share/Odoo)。
  4. 使用防火墙(ufw)限制端口访问。
  5. 定期更新系统和 Odoo。

✅ 常见问题

问题 解决方案
无法访问 8069 端口 检查阿里云安全组是否放行
数据库连接失败 确保 PostgreSQL 正在运行,用户 odoo 已创建
模块安装报错 检查 Python 依赖是否完整,使用虚拟环境
中文乱码 安装中文字体 sudo apt install fonts-wqy-zenhei

✅ 总结

通过以上步骤,你可以在阿里云 ECS 上成功部署 Odoo,并通过域名 + HTTPS 安全访问。适合用于生产环境或测试开发。

如需自动化部署,可使用 Docker + Docker Compose 或编写 Shell 脚本一键安装。


需要我提供 一键安装脚本Docker 部署方案 吗?欢迎继续提问!

未经允许不得转载:CDNK博客 » odoo部署到阿里云?