适用系统仅适用于rocky Linux 9、RHEL 9、CentOS Stream 9系列系统CentOS7/8等低版本系统不可直接使用。#!/bin/bash#install_odoo17#author tommypeng 20260327set -eODOO_USERodooODOO_HOME/opt/odooODOO_VERSION17.0PYTHON_BINpython3.11echo 1. 安装系统依赖 dnf update -ydnf install -y epel-releasednf install -y git wget gcc make python3-devel libxml2-devel libxslt-devel \openldap-devel libjpeg-devel freetype-devel postgresql-server \postgresql-develwget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox-0.12.6.1-3.almalinux9.x86_64.rpmdnf install -y ./wkhtmltox-0.12.6.1-3.almalinux9.x86_64.rpmwkhtmltopdf -Vecho 2. 安装 Python 3.11 dnf install -y python3.11 python3.11-develecho 3. 初始化 PostgreSQL postgresql-setup --initdb || truesystemctl enable postgresqlsystemctl start postgresqlecho 4. 创建 Odoo 用户 useradd -m -U -r -d $ODOO_HOME -s /bin/bash $ODOO_USER || trueecho 5. 创建数据库用户 su - postgres -c psql -c \CREATE USER odoo WITH PASSWORD odoo;\ || truesu - postgres -c psql -c \ALTER USER odoo CREATEDB;\ || trueecho 6. 下载 Odoo rm -rf /opt/odoogit clone https://www.github.com/odoo/odoo --depth 1 --branch $ODOO_VERSION $ODOO_HOMEecho 7. 创建虚拟环境 $PYTHON_BIN -m venv $ODOO_HOME/venvecho 8. 安装 Python 依赖 source $ODOO_HOME/venv/bin/activatepip install --upgrade pip wheelpip install -r $ODOO_HOME/requirements.txtecho 9. 创建配置文件 cat /etc/odoo.conf CONF[options]admin_passwd admindb_host Falsedb_port Falsedb_user odoodb_password odooaddons_path $ODOO_HOME/addonslogfile /var/log/odoo/odoo.logxmlrpc_interface 0.0.0.0CONFmkdir -p /var/log/odoochown -R $ODOO_USER:$ODOO_USER /var/log/odooecho 10. 权限设置 chown -R $ODOO_USER:$ODOO_USER $ODOO_HOMEecho 11. 创建 systemd 服务 cat /etc/systemd/system/odoo.service SERVICE[Unit]DescriptionOdooAfternetwork.target postgresql.service[Service]User$ODOO_USERGroup$ODOO_USERExecStart$ODOO_HOME/venv/bin/python $ODOO_HOME/odoo-bin -c /etc/odoo.confRestartalways[Install]WantedBymulti-user.targetSERVICEecho 12. 启动服务 systemctl daemon-reexecsystemctl daemon-reloadsystemctl enable odoosystemctl restart odooecho 13. 开放端口 firewall-cmd --permanent --add-port8069/tcpfirewall-cmd --reloadecho 安装完成 echo 访问地址: http://服务器IP:8069echo 数据库账号: odoo / odooecho 管理密码: admin