rockylinux部署Odoo简易脚本

适用系统:仅适用于rocky Linux 9、RHEL 9、CentOS Stream 9系列系统,CentOS7/8等低版本系统不可直接使用。

#!/bin/bash

#install_odoo17

#author tommypeng 20260327

set -e

ODOO_USER=odoo

ODOO_HOME=/opt/odoo

ODOO_VERSION=17.0

PYTHON_BIN=python3.11

echo "===== 1. 安装系统依赖 ====="

dnf update -y

dnf install -y epel-release

dnf install -y git wget gcc make python3-devel libxml2-devel libxslt-devel \

openldap-devel libjpeg-devel freetype-devel postgresql-server \

postgresql-devel

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox-0.12.6.1-3.almalinux9.x86_64.rpm

dnf install -y ./wkhtmltox-0.12.6.1-3.almalinux9.x86_64.rpm

wkhtmltopdf -V

echo "===== 2. 安装 Python 3.11 ====="

dnf install -y python3.11 python3.11-devel

echo "===== 3. 初始化 PostgreSQL ====="

postgresql-setup --initdb || true

systemctl enable postgresql

systemctl start postgresql

echo "===== 4. 创建 Odoo 用户 ====="

useradd -m -U -r -d ODOO_HOME -s /bin/bash ODOO_USER || true

echo "===== 5. 创建数据库用户 ====="

su - postgres -c "psql -c \"CREATE USER odoo WITH PASSWORD 'odoo';\"" || true

su - postgres -c "psql -c \"ALTER USER odoo CREATEDB;\"" || true

echo "===== 6. 下载 Odoo ====="

rm -rf /opt/odoo

git clone https://www.github.com/odoo/odoo --depth 1 --branch ODOO_VERSION ODOO_HOME

echo "===== 7. 创建虚拟环境 ====="

PYTHON_BIN -m venv ODOO_HOME/venv

echo "===== 8. 安装 Python 依赖 ====="

source $ODOO_HOME/venv/bin/activate

pip install --upgrade pip wheel

pip install -r $ODOO_HOME/requirements.txt

echo "===== 9. 创建配置文件 ====="

cat > /etc/odoo.conf << CONF

options

admin_passwd = admin

db_host = False

db_port = False

db_user = odoo

db_password = odoo

addons_path = $ODOO_HOME/addons

logfile = /var/log/odoo/odoo.log

xmlrpc_interface = 0.0.0.0

CONF

mkdir -p /var/log/odoo

chown -R ODOO_USER:ODOO_USER /var/log/odoo

echo "===== 10. 权限设置 ====="

chown -R ODOO_USER:ODOO_USER $ODOO_HOME

echo "===== 11. 创建 systemd 服务 ====="

cat > /etc/systemd/system/odoo.service << SERVICE

Unit

Description=Odoo

After=network.target postgresql.service

Service

User=$ODOO_USER

Group=$ODOO_USER

ExecStart=ODOO_HOME/venv/bin/python ODOO_HOME/odoo-bin -c /etc/odoo.conf

Restart=always

Install

WantedBy=multi-user.target

SERVICE

echo "===== 12. 启动服务 ====="

systemctl daemon-reexec

systemctl daemon-reload

systemctl enable odoo

systemctl restart odoo

echo "===== 13. 开放端口 ====="

firewall-cmd --permanent --add-port=8069/tcp

firewall-cmd --reload

echo "===== 安装完成 ====="

echo "访问地址: http://服务器IP:8069"

echo "数据库账号: odoo / odoo"

echo "管理密码: admin"

相关推荐
cui_win2 天前
Rocky Linux(9.7) 完整使用指南(ISO下载 + 系统安装 + 网络配置)
linux·网络·rocky linux
JZZC24 个月前
10.Rocky Linux 文件权限管理
rocky linux·文件权限管理
JZZC24 个月前
9.Rocky Linux 用户和用户组的管理
rocky linux·用户/组管理
JZZC25 个月前
4.Rocky Linux 网络配置
网络配置·rocky linux
云道轩7 个月前
阿里云和华为云Rocky LINUX 9.X镜像就绪及低端可用英伟达GPU
阿里云·华为云·云计算·gpu·rocky linux
SCBAiotAigc2 年前
Rocky Linux设置静态IP
人工智能·python·rocky linux
范振勇2 年前
在RockyLinux 9.3环境中采用RPM模式部署Oracle 19C
oracle·rocky linux